/* ==========================================================================
   CASTOM – strato moderno per il tema PrestaShop 1.5
   Caricato per ultimo (header.tpl): sovrascrive global.css e i CSS dei moduli
   senza modificarli. Per tornare indietro basta togliere il <link> da header.tpl.
   ========================================================================== */

:root {
	--cm-primary: #1c5bb9;
	--cm-primary-dark: #154a99;
	--cm-navy: #0f2747;
	--cm-navy-2: #183a66;
	--cm-accent: #f59e0b;
	--cm-accent-dark: #d97706;
	--cm-sale: #dc2626;
	--cm-ok: #16a34a;
	--cm-text: #1e293b;
	--cm-muted: #64748b;
	--cm-line: #e2e8f0;
	--cm-bg: #f3f5f9;
	--cm-card: #ffffff;
	--cm-radius: 10px;
	--cm-radius-sm: 6px;
	--cm-shadow: 0 1px 2px rgba(15, 39, 71, .06), 0 2px 8px rgba(15, 39, 71, .05);
	--cm-shadow-lg: 0 10px 30px rgba(15, 39, 71, .14);
	--cm-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
body.cm-theme {
	font-family: var(--cm-font);
	font-size: 14px;
	line-height: 1.55;
	color: var(--cm-text);
	background: var(--cm-bg) none !important;
	-webkit-font-smoothing: antialiased;
}
body.cm-theme *, body.cm-theme *::before, body.cm-theme *::after { box-sizing: border-box; }
body.cm-theme img { max-width: 100%; height: auto; }
body.cm-theme a { color: var(--cm-primary); transition: color .15s, background-color .15s, border-color .15s, box-shadow .15s; }
body.cm-theme a:hover { color: var(--cm-primary-dark); }
body.cm-theme h1, body.cm-theme h2, body.cm-theme h3, body.cm-theme h4, body.cm-theme h5 { font-family: var(--cm-font); color: var(--cm-navy); letter-spacing: -.01em; }
body.cm-theme #center_column h1 { font-size: 26px; font-weight: 800; line-height: 1.2; margin: 6px 0 14px; padding: 0; border: 0; text-transform: none; }
body.cm-theme input[type=text], body.cm-theme input[type=password], body.cm-theme input[type=email],
body.cm-theme select, body.cm-theme textarea {
	font-family: var(--cm-font);
	border: 1px solid #cbd5e1;
	border-radius: var(--cm-radius-sm);
	background: #fff none;
	padding: 8px 10px;
	color: var(--cm-text);
	max-width: 100%;
}
body.cm-theme input[type=text]:focus, body.cm-theme input[type=password]:focus, body.cm-theme select:focus, body.cm-theme textarea:focus {
	outline: none; border-color: var(--cm-primary); box-shadow: 0 0 0 3px rgba(28, 91, 185, .18);
}

/* --------------------------------------------------------------------------
   Contenitore e griglia (sostituisce la griglia fissa a 980px)
   -------------------------------------------------------------------------- */
body.cm-theme #page.container_9 {
	width: auto;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}
body.cm-theme .container_9 #header,
body.cm-theme .container_9 #columns,
body.cm-theme .container_9 #footer { width: auto; float: none; margin-left: 0; margin-right: 0; }

body.cm-theme #columns {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding: 24px 0 40px;
}
body.cm-theme #columns::before, body.cm-theme #columns::after { display: none; }
body.cm-theme #columns > .column,
body.cm-theme #columns > #center_column { float: none; margin: 0; }
body.cm-theme #left_column, body.cm-theme #right_column { flex: 0 0 250px; width: 250px !important; }
body.cm-theme #center_column { display: block; flex: 1 1 auto; min-width: 0; width: auto !important; }

/* Header, barra contatti e menu: vedi sezione HEADER in fondo al file */

/* --------------------------------------------------------------------------
   Pulsanti
   -------------------------------------------------------------------------- */
body.cm-theme .button, body.cm-theme a.button, body.cm-theme input.button,
body.cm-theme .button_small, body.cm-theme .button_large, body.cm-theme .button_mini,
body.cm-theme input.button_small, body.cm-theme input.button_large, body.cm-theme input.button_mini {
	display: inline-block;
	padding: 9px 16px;
	height: auto;
	border: 1px solid #cbd5e1;
	border-radius: var(--cm-radius-sm);
	background: #fff none;
	color: var(--cm-navy);
	font-family: var(--cm-font);
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1.2;
	text-shadow: none;
	text-decoration: none;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
	width: auto;
}
body.cm-theme .button:hover, body.cm-theme a.button:hover, body.cm-theme input.button:hover,
body.cm-theme .button_small:hover, body.cm-theme .button_large:hover {
	background: #f1f5f9; border-color: #94a3b8; color: var(--cm-navy); text-decoration: none;
}
body.cm-theme a.exclusive, body.cm-theme input.exclusive, body.cm-theme a.exclusive_large, body.cm-theme input.exclusive_large,
body.cm-theme a.exclusive_small, body.cm-theme input.exclusive_small, body.cm-theme a.exclusive_mini, body.cm-theme input.exclusive_mini,
body.cm-theme a.button.exclusive, body.cm-theme #buy_block input.exclusive, body.cm-theme #add_to_cart input {
	display: inline-block;
	padding: 10px 18px;
	height: auto;
	border: 0;
	border-radius: var(--cm-radius-sm);
	background: var(--cm-accent) none;
	color: var(--cm-navy);
	font-family: var(--cm-font);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	text-shadow: none;
	text-transform: none;
	text-decoration: none;
	box-shadow: 0 1px 0 rgba(0,0,0,.05);
	cursor: pointer;
	width: auto;
}
body.cm-theme a.exclusive:hover, body.cm-theme input.exclusive:hover, body.cm-theme a.exclusive_large:hover,
body.cm-theme input.exclusive_large:hover, body.cm-theme a.button.exclusive:hover, body.cm-theme a.exclusive_small:hover {
	background: var(--cm-accent-dark); color: #fff; text-decoration: none;
}
body.cm-theme a.exclusive span, body.cm-theme span.exclusive span { display: none; }
/* "span.exclusive" = pulsante disattivato (prodotto non disponibile) */
body.cm-theme span.exclusive, body.cm-theme span.exclusive_large, body.cm-theme span.exclusive_small,
body.cm-theme input.exclusive_disabled, body.cm-theme input.button_disabled {
	display: inline-block;
	padding: 10px 16px;
	height: auto;
	border: 0;
	border-radius: var(--cm-radius-sm);
	background: #e2e8f0 none;
	color: #94a3b8;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1.2;
	text-shadow: none;
	cursor: not-allowed;
	width: auto;
}

/* --------------------------------------------------------------------------
   Blocchi laterali
   -------------------------------------------------------------------------- */
body.cm-theme .column .block,
body.cm-theme #center_column .block {
	margin: 0 0 20px;
	background: var(--cm-card);
	border: 1px solid var(--cm-line);
	border-radius: var(--cm-radius);
	box-shadow: var(--cm-shadow);
	overflow: hidden;
}
body.cm-theme .column .block .title_block,
body.cm-theme .column .block h4,
body.cm-theme #center_column .block .title_block,
body.cm-theme #center_column .block > h4 {
	margin: 0;
	padding: 14px 16px;
	height: auto;
	background: #fff none;
	border: 0;
	border-bottom: 1px solid var(--cm-line);
	color: var(--cm-navy);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-shadow: none;
}
body.cm-theme .block .title_block a, body.cm-theme .block h4 a { color: var(--cm-navy); background: none; padding: 0; }
body.cm-theme .block .title_block a:hover { color: var(--cm-primary); text-decoration: none; }
body.cm-theme .column .block .block_content {
	padding: 10px 16px 14px;
	background: #fff none;
	border: 0;
	min-height: 0;
}
body.cm-theme .column .block .block_content ul { list-style: none; margin: 0; padding: 0; }

/* Albero categorie */
body.cm-theme #categories_block_left .block_content { padding: 6px 0 8px; }
body.cm-theme #categories_block_left ul.tree li { position: relative; padding: 0; margin: 0; background: none; border: 0; }
body.cm-theme #categories_block_left ul.tree li a {
	display: block;
	padding: 8px 36px 8px 16px;
	color: var(--cm-text);
	font-size: 13.5px;
	font-weight: 500;
	background: none;
	border: 0;
	line-height: 1.35;
}
body.cm-theme #categories_block_left ul.tree li a:hover { background: #f1f5f9; color: var(--cm-primary); text-decoration: none; }
body.cm-theme #categories_block_left ul.tree li a.selected { color: var(--cm-primary); font-weight: 700; background: #eff6ff; box-shadow: inset 3px 0 0 var(--cm-primary); }
body.cm-theme #categories_block_left ul.tree ul { padding: 0 0 4px 12px; margin: 0; background: none; }
body.cm-theme #categories_block_left ul.tree ul a { font-size: 13px; color: #475569; padding-top: 6px; padding-bottom: 6px; }
body.cm-theme #categories_block_left span.grower {
	position: absolute; right: 6px; top: 3px; z-index: 2;
	width: 28px; height: 28px; margin: 0; float: none;
	border-radius: 6px; background: none; cursor: pointer;
}
body.cm-theme #categories_block_left span.grower::after {
	content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -6px 0 0 -4px;
	border-right: 2px solid #94a3b8; border-bottom: 2px solid #94a3b8; transform: rotate(45deg); transition: transform .2s;
}
body.cm-theme #categories_block_left span.grower.OPEN::after { transform: rotate(225deg); margin-top: -2px; }
body.cm-theme #categories_block_left span.grower:hover { background: #e2e8f0; }

/* Navigazione a faccette */
body.cm-theme #layered_block_left .layered_subtitle { display: block; font-weight: 700; color: var(--cm-navy); font-size: 13px; padding-top: 10px; }
body.cm-theme #layered_block_left .layered_close { display: none; }
body.cm-theme #layered_block_left ul { padding: 4px 0 6px; }
body.cm-theme #layered_block_left li { display: flex; align-items: center; gap: 6px; padding: 3px 0; font-size: 13px; }
body.cm-theme #layered_block_left li label { flex: 1; margin: 0; }
body.cm-theme #layered_block_left li a { color: var(--cm-text); }
body.cm-theme #layered_block_left li span { color: #94a3b8; }
body.cm-theme #layered_block_left #enabled_filters { background: #eff6ff; border: 0; border-radius: var(--cm-radius-sm); padding: 8px 10px; }

/* Produttori, tag */
body.cm-theme .column .block .block_content li { background-image: none; }
body.cm-theme #manufacturers_block_left li, body.cm-theme #suppliers_block_left li { padding: 0; border: 0; }
body.cm-theme #manufacturers_block_left li a, body.cm-theme #suppliers_block_left li a { display: block; padding: 5px 0; background-image: none; color: var(--cm-text); font-size: 13.5px; }
body.cm-theme #manufacturers_block_left li a:hover, body.cm-theme #suppliers_block_left li a:hover { color: var(--cm-primary); text-decoration: none; }
body.cm-theme #manufacturers_block_left .block_content form, body.cm-theme #manufacturers_block_left .block_content p { margin: 8px 0 0; padding: 0; }
body.cm-theme #manufacturers_block_left select { width: 100%; }
body.cm-theme .tags_block .block_content { display: flex; flex-wrap: wrap; gap: 6px; }
body.cm-theme .tags_block .block_content a {
	display: inline-block; margin: 0; padding: 4px 10px; border-radius: 999px; background: #f1f5f9;
	color: #475569; font-size: 12px !important; font-weight: 500; line-height: 1.4;
}
body.cm-theme .tags_block .block_content a:hover { background: var(--cm-primary); color: #fff; text-decoration: none; }

/* Speciali / migliori vendite / ultimi visti */
body.cm-theme .column .products_block li { border: 0; padding: 0; }
body.cm-theme #special_block_right .block_content ul.products { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: start; padding: 4px 0 10px; }
body.cm-theme #special_block_right .product_image { float: none; margin: 0; }
body.cm-theme #special_block_right .product_image img { width: 72px; height: 72px; object-fit: contain; border: 1px solid var(--cm-line); border-radius: var(--cm-radius-sm); background: #fff; }
body.cm-theme #special_block_right li { float: none; width: auto; margin: 0; }
body.cm-theme #special_block_right .s_title_block { font-size: 13px; font-weight: 600; line-height: 1.35; margin: 4px 0; padding: 0; }
body.cm-theme #special_block_right .s_title_block a { color: var(--cm-text); }
body.cm-theme .column .reduction { display: inline-block; float: none; background: var(--cm-sale) none; color: #fff; font-weight: 700; font-size: 12px; border-radius: 4px; padding: 1px 6px; }
body.cm-theme .column .reduction span { color: #fff; }
body.cm-theme .column .price-discount { text-decoration: line-through; color: #94a3b8; font-size: 12px; margin-right: 6px; }
body.cm-theme .column .price { color: var(--cm-sale); font-weight: 800; font-size: 15px; }
body.cm-theme .column .products_block .block_content > p:last-child a,
body.cm-theme .column .block .block_content p.lnk a { font-weight: 600; font-size: 13px; }

body.cm-theme #best-sellers_block_right ul.product_images li { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #f1f5f9; }
body.cm-theme #best-sellers_block_right ul.product_images li:last-child { border-bottom: 0; }
body.cm-theme #best-sellers_block_right a.content_img { position: relative; flex: 0 0 52px; float: none; margin: 0; }
body.cm-theme #best-sellers_block_right a.content_img img { width: 52px; height: 52px; object-fit: contain; border: 1px solid var(--cm-line); border-radius: var(--cm-radius-sm); background: #fff; }
body.cm-theme #best-sellers_block_right .number {
	position: absolute; left: -6px; top: -6px; z-index: 1; width: 20px; height: 20px; line-height: 20px; padding: 0;
	text-align: center; font-size: 11px; font-weight: 800; color: #fff; background: var(--cm-navy); border-radius: 50%;
}
body.cm-theme #best-sellers_block_right li p { flex: 1 1 auto; margin: 0; font-size: 12.5px; line-height: 1.35; }
body.cm-theme #best-sellers_block_right li p a { color: var(--cm-text); }
body.cm-theme #best-sellers_block_right li .price { display: block; margin-top: 2px; font-size: 14px; color: var(--cm-navy); }
body.cm-theme #paypal-column-block { text-align: center; margin-bottom: 20px; }
body.cm-theme #paypal-column-block img { border-radius: var(--cm-radius); }

/* --------------------------------------------------------------------------
   Homepage: slider + prodotti in evidenza
   -------------------------------------------------------------------------- */
body.cm-theme .bx-wrapper { position: relative; margin: 0 0 24px; height: auto; border-radius: var(--cm-radius); overflow: hidden; box-shadow: var(--cm-shadow); background: #fff; }
body.cm-theme .bx-window { margin: 0; }
body.cm-theme #homeslider { margin: 0; padding: 0; }
body.cm-theme #homeslider img { display: block; width: 100%; height: 300px; object-fit: cover; } /* misura originale dello slider, scalata da castom-modern.js */
body.cm-theme .bx-pager { position: absolute; left: 0; right: 0; bottom: 12px; padding: 0; z-index: 5; display: flex; justify-content: center; gap: 6px; }
body.cm-theme .bx-pager a {
	width: 10px; height: 10px; padding: 0; margin: 0; overflow: hidden; text-indent: -99px;
	border-radius: 999px; background: rgba(255,255,255,.65) none; box-shadow: 0 0 0 1px rgba(15,39,71,.25); transition: width .2s;
}
body.cm-theme .bx-pager a.pager-active, body.cm-theme .bx-pager a:hover { background: #fff; width: 26px; }

body.cm-theme #featured-products_block_center,
body.cm-theme #center_column .products_block { background: transparent; border: 0; box-shadow: none; overflow: visible; }
body.cm-theme #center_column #featured-products_block_center > h4,
body.cm-theme #center_column #featured-products_block_center .title_block {
	background: transparent; border: 0; padding: 0 0 14px; font-size: 20px; letter-spacing: -.01em; text-transform: none; font-weight: 800;
}
body.cm-theme #featured-products_block_center .block_content { padding: 0; background: transparent; border: 0; }
body.cm-theme #featured-products_block_center .block_content ul,
body.cm-theme #product_list,
body.cm-theme #center_column .products_block .block_content > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 16px;
	height: auto !important;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

/* Scheda prodotto (homefeatured, liste, prodotti correlati) */
body.cm-theme #featured-products_block_center li,
body.cm-theme #product_list li.ajax_block_product,
body.cm-theme #center_column .products_block .block_content > ul > li {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	height: auto;
	margin: 0;
	padding: 14px;
	background: var(--cm-card) none;
	border: 1px solid var(--cm-line);
	border-radius: var(--cm-radius);
	box-shadow: var(--cm-shadow);
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
body.cm-theme #featured-products_block_center li:hover,
body.cm-theme #product_list li.ajax_block_product:hover,
body.cm-theme #center_column .products_block .block_content > ul > li:hover {
	border-color: #cbd5e1; box-shadow: var(--cm-shadow-lg); transform: translateY(-2px);
}
body.cm-theme #featured-products_block_center li .product_image,
body.cm-theme #product_list .product_img_link {
	display: flex; align-items: center; justify-content: center;
	float: none; width: auto; height: auto; aspect-ratio: 1 / 1; margin: 0 0 12px; padding: 6px;
	border: 0; background: #fff; border-radius: var(--cm-radius-sm);
}
body.cm-theme #featured-products_block_center li .product_image img,
body.cm-theme #product_list .product_img_link img { width: 100%; height: 100%; max-height: 190px; object-fit: contain; border: 0; }
body.cm-theme #featured-products_block_center li h5,
body.cm-theme #product_list li h3 {
	margin: 0 0 6px; padding: 0; height: auto; font-size: 14px; font-weight: 600; line-height: 1.35;
}
body.cm-theme #featured-products_block_center li h5 a,
body.cm-theme #product_list li h3 a { color: var(--cm-text); }
body.cm-theme #featured-products_block_center li h5 a:hover,
body.cm-theme #product_list li h3 a:hover { color: var(--cm-primary); text-decoration: none; }
body.cm-theme #featured-products_block_center .product_desc,
body.cm-theme #product_list .product_desc {
	height: auto; margin: 0 0 10px; padding: 0; font-size: 12.5px; line-height: 1.45; color: var(--cm-muted);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
body.cm-theme #featured-products_block_center .product_desc a,
body.cm-theme #product_list .product_desc a { color: inherit; }
body.cm-theme #featured-products_block_center li > div:last-child {
	margin-top: auto; display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}
body.cm-theme #featured-products_block_center li .lnk_more {
	padding: 0; background: none; color: var(--cm-primary); font-weight: 600; font-size: 13px; margin-right: auto;
}
body.cm-theme #featured-products_block_center li .price { display: block; width: 100%; font-size: 18px; font-weight: 800; color: var(--cm-navy); }
body.cm-theme #featured-products_block_center li .exclusive,
body.cm-theme #featured-products_block_center li span.exclusive { padding: 8px 12px; font-size: 13px; }

/* Lista prodotti di categoria */
body.cm-theme #product_list li .left_block { position: absolute; top: 10px; left: 10px; z-index: 2; float: none; width: auto; margin: 0; padding: 0; }
body.cm-theme #product_list li .left_block .compare { margin: 0; font-size: 11px; color: var(--cm-muted); display: flex; align-items: center; gap: 4px; background: rgba(255,255,255,.9); border-radius: 4px; padding: 2px 6px; }
body.cm-theme #product_list li .left_block .compare label { display: none; }
body.cm-theme #product_list li:hover .left_block .compare label { display: inline; }
body.cm-theme #product_list li .center_block { float: none; width: auto; padding: 0; margin: 0; border: 0; flex: 1 1 auto; display: flex; flex-direction: column; }
body.cm-theme #product_list li .right_block { float: none; width: auto; margin: 0; padding: 10px 0 0; border-top: 1px solid #f1f5f9; text-align: left; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
body.cm-theme #product_list li .content_price { width: 100%; margin: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
body.cm-theme #product_list li .content_price br { display: none; }
body.cm-theme #product_list li .price { font-size: 19px; font-weight: 800; color: var(--cm-navy); padding: 0; }
body.cm-theme #product_list li .availability { font-size: 12px; font-weight: 600; color: var(--cm-ok); padding: 0; }
body.cm-theme #product_list li .availability.cm-out { color: #94a3b8; }
body.cm-theme .resumecat { background: none; padding: 0; border: 0; }
body.cm-theme .sortPagiBar .bt_compare, body.cm-theme input.bt_compare {
	padding: 8px 14px; border: 1px solid #cbd5e1; border-radius: var(--cm-radius-sm); background: #fff none; color: var(--cm-navy);
	font: 600 13px var(--cm-font); text-shadow: none; box-shadow: none; height: auto; cursor: pointer;
}
body.cm-theme .breadcrumb > a:first-child img { display: inline-block; width: 18px; height: 18px; vertical-align: -3px; opacity: .55; }
body.cm-theme #product_list li .on_sale, body.cm-theme #product_list li .discount, body.cm-theme #product_list li .new {
	position: absolute; top: 10px; right: 10px; z-index: 2; margin: 0; padding: 2px 8px; border-radius: 4px;
	background: var(--cm-sale); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase;
}
body.cm-theme #product_list li .new { background: var(--cm-primary); }
body.cm-theme #product_list li .right_block .button,
body.cm-theme #product_list li .right_block .exclusive { flex: 1 1 auto; text-align: center; padding: 9px 10px; font-size: 13px; margin: 0; }
body.cm-theme #product_list li .right_block .lnk_view { flex: 0 0 auto; }

/* Barra ordinamento / paginazione */
body.cm-theme .content_sortPagiBar { margin: 0 0 16px; }
body.cm-theme .content_sortPagiBar .sortPagiBar,
body.cm-theme #center_column .sortPagiBar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; height: auto;
	padding: 10px 14px; margin: 0; background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); box-shadow: var(--cm-shadow);
}
body.cm-theme .sortPagiBar form, body.cm-theme .sortPagiBar p, body.cm-theme .sortPagiBar .nbrItemPage, body.cm-theme .sortPagiBar #productsSortForm { float: none; margin: 0; padding: 0; font-size: 13px; }
body.cm-theme .sortPagiBar select { padding: 6px 8px; }
body.cm-theme .sortPagiBar .bt_compare { margin-left: auto; float: none; }
body.cm-theme div.pagination { float: none; width: auto; margin: 20px 0 0; padding: 0; }
body.cm-theme ul.pagination { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.cm-theme ul.pagination li { float: none; margin: 0; border: 0; }
body.cm-theme ul.pagination li a, body.cm-theme ul.pagination li span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px;
	border: 1px solid var(--cm-line); border-radius: var(--cm-radius-sm); background: #fff; color: var(--cm-text); font-weight: 600; font-size: 13px; text-decoration: none;
}
body.cm-theme ul.pagination li a:hover { border-color: var(--cm-primary); color: var(--cm-primary); }
body.cm-theme ul.pagination li.current span { background: var(--cm-primary); border-color: var(--cm-primary); color: #fff; }
body.cm-theme ul.pagination li.disabled span { color: #cbd5e1; }

/* Breadcrumb, intestazione categoria, sottocategorie */
body.cm-theme .breadcrumb { margin: 0 0 12px; padding: 0; font-size: 13px; color: var(--cm-muted); background: none; border: 0; }
body.cm-theme .breadcrumb a { color: var(--cm-muted); }
body.cm-theme .breadcrumb a:hover { color: var(--cm-primary); }
body.cm-theme .breadcrumb .navigation-pipe { margin: 0 6px; color: #cbd5e1; }
body.cm-theme .resumecat { margin: 0 0 14px; color: var(--cm-muted); font-size: 13px; }
body.cm-theme .content_scene_cat { margin: 0 0 18px; padding: 16px 18px; background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); color: #475569; }
body.cm-theme .content_scene_cat img { border-radius: var(--cm-radius-sm); }
body.cm-theme #subcategories { margin: 0 0 20px; border: 0; background: none; }
body.cm-theme #subcategories h3 { font-size: 16px; font-weight: 700; margin: 0 0 12px; padding: 0; border: 0; background: none; }
body.cm-theme #subcategories ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
body.cm-theme #subcategories li { float: none; width: auto; height: auto; margin: 0; padding: 12px; text-align: center; background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); box-shadow: var(--cm-shadow); }
body.cm-theme #subcategories li:hover { border-color: var(--cm-primary); }
body.cm-theme #subcategories li a.img { display: block; height: auto; margin: 0 0 6px; }
body.cm-theme #subcategories li a.cat_name { font-weight: 600; font-size: 13.5px; color: var(--cm-navy); }

/* --------------------------------------------------------------------------
   Pagina prodotto
   -------------------------------------------------------------------------- */
body.cm-theme #primary_block {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 28px;
	margin: 0 0 24px;
	padding: 22px;
	background: #fff;
	border: 1px solid var(--cm-line);
	border-radius: var(--cm-radius);
	box-shadow: var(--cm-shadow);
}
body.cm-theme #primary_block::after { display: none; }
body.cm-theme #pb-right-column, body.cm-theme #pb-left-column { float: none; width: auto; margin: 0; padding: 0; }
body.cm-theme #pb-right-column { grid-column: 1; grid-row: 1; }
body.cm-theme #pb-left-column { grid-column: 2; grid-row: 1; }
body.cm-theme #pb-right-column #image-block { width: auto; height: auto; border: 0; float: none; padding: 0; position: relative; }
body.cm-theme #pb-right-column #image-block img, body.cm-theme #bigpic {
	display: block; width: 100%; height: auto; max-height: 460px; object-fit: contain; border: 1px solid var(--cm-line); border-radius: var(--cm-radius);
}
body.cm-theme #pb-right-column #image-block #view_full_size .span_link {
	position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); width: auto; height: auto; margin: 0; padding: 5px 12px;
	background: rgba(15,39,71,.75); color: #fff; border-radius: 999px; font-size: 12px; white-space: nowrap; line-height: 1.4;
}
body.cm-theme #pb-right-column #views_block { width: auto; margin: 12px 0 0; }
body.cm-theme #thumbs_list { width: auto !important; overflow: hidden; float: none; margin: 0 28px; }
body.cm-theme #thumbs_list li { height: auto; width: 74px; margin-right: 8px; border: 0; }
body.cm-theme #thumbs_list li a { display: block; border: 2px solid var(--cm-line); border-radius: var(--cm-radius-sm); overflow: hidden; background: #fff; }
body.cm-theme #thumbs_list li a.shown, body.cm-theme #thumbs_list li a:hover { border-color: var(--cm-primary); }
body.cm-theme #thumbs_list li img { border: 0; width: 100%; height: auto; display: block; }
body.cm-theme #usefull_link_block { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 13px; }
body.cm-theme #usefull_link_block li { float: none; padding: 4px 0 4px 0; background: none; }

body.cm-theme #pb-left-column h1 { font-size: 24px; font-weight: 800; line-height: 1.25; margin: 0 0 12px; padding: 0; color: var(--cm-navy); }
body.cm-theme #pb-left-column #short_description_block { margin: 0 0 16px; padding: 0; border: 0; background: none; color: #475569; }
body.cm-theme #pb-left-column #short_description_block .buttons_bottom_block { margin: 8px 0 0; padding: 0; }
body.cm-theme #pb-left-column #short_description_block .buttons_bottom_block a.button { padding: 0; border: 0; background: none; color: var(--cm-primary); font-weight: 600; }
body.cm-theme #pb-left-column #buy_block { width: auto; margin: 0; padding: 18px; background: #f8fafc; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); }
body.cm-theme #pb-left-column #buy_block label { width: auto; float: none; display: inline; text-align: left; font-weight: 600; color: var(--cm-navy); }
body.cm-theme #buy_block .product_attributes { padding: 0 0 12px; margin: 0 0 12px; border-bottom: 1px solid var(--cm-line); font-size: 13px; }
body.cm-theme #buy_block .product_attributes p { margin: 0 0 6px; padding: 0; }
body.cm-theme #availability_statut #availability_value { padding: 2px 8px; border-radius: 4px; background: #dcfce7; color: #166534; font-weight: 600; }
body.cm-theme #availability_statut #availability_value.warning_inline { background: #fee2e2; color: #991b1b; }
body.cm-theme #quantity_wanted_p input { width: 64px; text-align: center; }
body.cm-theme #buy_block .content_prices { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 0; padding: 0; border: 0; }
body.cm-theme #buy_block .content_prices .price { float: none; width: auto; margin: 0; padding: 0; text-align: left; }
body.cm-theme #buy_block .our_price_display { width: auto; text-align: left; margin: 0; padding: 0; font-size: 12px; color: var(--cm-muted); line-height: 1.2; }
body.cm-theme #buy_block #our_price_display { display: block; font-size: 32px; font-weight: 800; color: var(--cm-navy); letter-spacing: -.02em; line-height: 1.1; }
body.cm-theme #buy_block #old_price { margin: 0; padding: 0; text-decoration: line-through; color: #94a3b8; }
body.cm-theme #buy_block #reduction_percent, body.cm-theme #buy_block #reduction_amount { float: none; margin: 0; padding: 2px 8px; border-radius: 4px; background: var(--cm-sale) none; color: #fff; font-weight: 700; }
body.cm-theme #buy_block #reduction_percent span, body.cm-theme #buy_block #reduction_amount span { color: #fff; }
body.cm-theme #buy_block #add_to_cart, body.cm-theme #buy_block .content_prices > .exclusive { float: none; margin: 0 0 0 auto; padding: 0; background: none; }
body.cm-theme #buy_block #add_to_cart input, body.cm-theme #buy_block .content_prices > span.exclusive { padding: 14px 26px; font-size: 15px; }
body.cm-theme #buy_block #add_to_cart span { display: none; }
body.cm-theme #buy_block .content_prices .clear { display: none; }

/* Schede descrizione */
body.cm-theme #more_info_block { margin: 0 0 24px; padding: 0; background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); box-shadow: var(--cm-shadow); overflow: hidden; }
body.cm-theme #more_info_tabs { display: flex; flex-wrap: wrap; margin: 0; padding: 0 12px; height: auto; list-style: none; border-bottom: 1px solid var(--cm-line); background: #f8fafc; }
body.cm-theme #more_info_tabs li { float: none; margin: 0; padding: 0; background: none; height: auto; }
body.cm-theme #more_info_tabs li a {
	display: block; padding: 14px 14px; margin: 0; height: auto; border: 0; background: none; color: var(--cm-muted); font-weight: 600; font-size: 14px;
	box-shadow: inset 0 -2px 0 transparent; border-radius: 0;
}
body.cm-theme #more_info_tabs li a.selected, body.cm-theme #more_info_tabs li a:hover { background: none; color: var(--cm-navy); box-shadow: inset 0 -2px 0 var(--cm-primary); text-decoration: none; }
body.cm-theme #more_info_sheets { padding: 20px 22px; border: 0; }
body.cm-theme #more_info_sheets .rte { font-size: 14px; line-height: 1.65; color: #334155; }
body.cm-theme .table-data-sheet, body.cm-theme #idTab2 ul { margin: 0; padding: 0; list-style: none; }
body.cm-theme #idTab2 li { padding: 8px 0; border-bottom: 1px solid #f1f5f9; }

/* Prodotti della stessa categoria */
body.cm-theme .blockproductscategory { margin: 0 0 24px; padding: 18px; background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); box-shadow: var(--cm-shadow); }
body.cm-theme .blockproductscategory h2 { font-size: 16px; font-weight: 800; margin: 0 0 12px; padding: 0; border: 0; background: none; text-transform: none; color: var(--cm-navy); }
body.cm-theme #productscategory { position: relative; }
body.cm-theme #productscategory_list li { border-radius: var(--cm-radius-sm); }
body.cm-theme #productscategory_list .product_image img { border: 1px solid var(--cm-line); border-radius: var(--cm-radius-sm); }

/* --------------------------------------------------------------------------
   Carrello / checkout / account
   -------------------------------------------------------------------------- */
body.cm-theme ul#order_step { display: flex; height: auto; margin: 0 0 20px; padding: 0; list-style: none; background: none; border: 0; border-radius: var(--cm-radius); overflow: hidden; box-shadow: var(--cm-shadow); }
body.cm-theme ul#order_step li {
	flex: 1 1 0; float: none; width: auto; height: auto; margin: 0; padding: 12px 8px; text-align: center; font-size: 13px; font-weight: 600;
	background: #fff none; color: var(--cm-muted); border: 0; border-right: 1px solid var(--cm-line);
}
body.cm-theme ul#order_step li:last-child { border-right: 0; }
body.cm-theme ul#order_step li.step_current { background: var(--cm-primary) none; color: #fff; }
body.cm-theme ul#order_step li.step_done { background: #eff6ff none; }
body.cm-theme ul#order_step li a, body.cm-theme ul#order_step li span { background: none; padding: 0; color: inherit; line-height: 1.3; height: auto; }

body.cm-theme table.std, body.cm-theme table#cart_summary {
	width: 100%; border: 1px solid var(--cm-line); border-collapse: separate; border-spacing: 0; border-radius: var(--cm-radius); overflow: hidden; background: #fff;
}
body.cm-theme table.std th, body.cm-theme table#cart_summary th { background: #f8fafc none; color: var(--cm-navy); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; padding: 12px 10px; border-bottom: 1px solid var(--cm-line); text-shadow: none; }
body.cm-theme table.std td, body.cm-theme table#cart_summary td { padding: 12px 10px; border-bottom: 1px solid #f1f5f9; border-right: 0; background: #fff; vertical-align: middle; }
body.cm-theme table.std tr.alternate_item td { background: #fcfdfe; }
body.cm-theme p.cart_navigation { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin: 20px 0; padding: 0; }
body.cm-theme p.cart_navigation .exclusive, body.cm-theme p.cart_navigation .exclusive_large { float: none; margin: 0 0 0 auto; padding: 13px 24px; font-size: 15px; }
body.cm-theme p.cart_navigation .button, body.cm-theme p.cart_navigation .button_large { float: none; }

body.cm-theme form.std fieldset, body.cm-theme #center_column .std fieldset {
	margin: 0 0 20px; padding: 18px; background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); box-shadow: var(--cm-shadow);
}
body.cm-theme form.std h3, body.cm-theme #center_column form h3 { margin: -18px -18px 16px; padding: 14px 18px; background: #f8fafc none; border-bottom: 1px solid var(--cm-line); color: var(--cm-navy); font-size: 15px; font-weight: 700; border-radius: var(--cm-radius) var(--cm-radius) 0 0; text-transform: none; }
body.cm-theme form.std label { color: #334155; font-weight: 500; }

body.cm-theme #my-account ul.myaccount_lnk_list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
body.cm-theme #my-account ul.myaccount_lnk_list li { margin: 0; padding: 0; }
body.cm-theme #my-account ul.myaccount_lnk_list li a { display: flex; align-items: center; gap: 10px; padding: 16px; background: #fff; border: 1px solid var(--cm-line); border-radius: var(--cm-radius); box-shadow: var(--cm-shadow); font-weight: 600; color: var(--cm-navy); }
body.cm-theme #my-account ul.myaccount_lnk_list li a:hover { border-color: var(--cm-primary); text-decoration: none; }
body.cm-theme #my-account ul.myaccount_lnk_list li a img { width: 26px; height: 26px; margin: 0; }

body.cm-theme .error, body.cm-theme .warning, body.cm-theme .success, body.cm-theme p.warning {
	padding: 12px 16px; border-radius: var(--cm-radius-sm); border-width: 1px; font-weight: 500; background-image: none;
}
body.cm-theme .error { background-color: #fef2f2; border-color: #fecaca; color: #991b1b; }
body.cm-theme .warning, body.cm-theme p.warning { background-color: #fffbeb; border-color: #fde68a; color: #92400e; }
body.cm-theme .success { background-color: #f0fdf4; border-color: #bbf7d0; color: #166534; }
body.cm-theme .rte { font-size: 14px; line-height: 1.65; }

/* --------------------------------------------------------------------------
   Footer (lofadvancecustom)
   -------------------------------------------------------------------------- */
body.cm-theme #footer {
	display: block;
	margin: 0;
	padding: 40px 0 20px;
	background: var(--cm-navy) none;
	color: #cbd5e1;
	box-shadow: 0 0 0 100vmax var(--cm-navy);
	clip-path: inset(0 -100vmax);
	font-size: 13.5px;
}
body.cm-theme #footer h2, body.cm-theme #footer h4, body.cm-theme #footer .title_block {
	margin: 0 0 14px; padding: 0; background: none; border: 0; color: #fff; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
}
body.cm-theme #footer a, body.cm-theme #footer a span { color: #cbd5e1 !important; }
body.cm-theme #footer a:hover, body.cm-theme #footer a:hover span { color: #fff !important; text-decoration: none; }
body.cm-theme #footer span[style], body.cm-theme #footer address, body.cm-theme #footer h5 span { color: #cbd5e1 !important; }
body.cm-theme #footer address { font-style: normal; margin: 0 0 4px; }
body.cm-theme #footer li { padding: 4px 0; background: none; border: 0; }
body.cm-theme #footer .lofadvafooter, body.cm-theme #footer .lof-position, body.cm-theme #footer .lof-position-wrap { width: auto !important; background: none; }
body.cm-theme #footer #lofadva-pos-2 .lof-position-wrap { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 28px; }
body.cm-theme #footer #lofadva-pos-2 .lof-position-wrap > div[style*="clear"] { display: none; }
body.cm-theme #footer .lof-block { width: auto !important; float: none !important; padding: 0; }
body.cm-theme #footer .lof-items { margin: 0; padding: 0; list-style: none; }
body.cm-theme #footer #lofadva-pos-2 img[src*="mapsfront"] { border-radius: var(--cm-radius-sm); margin-bottom: 8px; }
body.cm-theme #footer img[src*="payment"] { background: #fff; border-radius: var(--cm-radius-sm); padding: 6px; height: auto; }
/* social in alto */
body.cm-theme #footer #lofadva-pos-1 { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
body.cm-theme #footer #lofadva-pos-1 h2 { display: inline-block; margin: 0 14px 0 0; vertical-align: middle; }
body.cm-theme #footer #lofadva-pos-1 ul ul { display: inline-flex; gap: 8px; vertical-align: middle; }
body.cm-theme #footer #lofadva-pos-1 li.facebook a {
	display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 10px; border-radius: 999px; background: rgba(255,255,255,.08); font-weight: 600;
}
body.cm-theme #footer #lofadva-pos-1 li.facebook a::before {
	content: ""; width: 18px; height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23ffffff' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-2.8 0-4.5 1.8-4.5 4.6V11H7v4h2.5v9h4v-9h3l.5-4h-3.5V8.9c0-.6.4-.9 1-.9z'/%3E%3C/svg%3E") no-repeat center;
}
/* copyright */
body.cm-theme #footer #lofadva-pos-3 { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); font-size: 12px; }
body.cm-theme #footer #lofadva-pos-3 address { text-align: center !important; }
body.cm-theme #footer #lofadva-pos-3 strong, body.cm-theme #footer #lofadva-pos-3 span { font-weight: 400; color: #94a3b8 !important; }
body.cm-theme #footer #lofadva-pos-3 img[src*="sitelock"] { float: none !important; display: inline-block; margin: 0 auto 8px; }
body.cm-theme #footer #lofadva-pos-3 address:first-child { text-align: center !important; }
body.cm-theme #footer .block { background: none; border: 0; box-shadow: none; }


/* override specifici del modulo lofadvancecustom (usa selettori con ID) */
body.cm-theme #lofadvafooterfooter { margin: 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-1 .lof-text { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; height: auto; background: none; border: 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-1 h2,
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 h2 {
	float: none; margin: 0 0 14px; padding: 0; background: none; color: #fff;
	font: 800 13px/1.3 var(--cm-font); text-transform: uppercase; letter-spacing: .07em;
}
body.cm-theme #lofadvafooterfooter #lofadva-pos-1 h2 { margin: 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-1 .lof-text ul { float: none; display: flex; gap: 8px; margin: 0; padding: 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-1 .lof-text ul li { float: none; padding: 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-1 .lof-text ul li a {
	display: inline-flex; align-items: center; gap: 8px; height: auto; margin: 0; padding: 7px 16px 7px 12px;
	border-radius: 999px; background: rgba(255,255,255,.08) none; font: 600 13.5px/1.3 var(--cm-font); text-decoration: none;
}
body.cm-theme #lofadvafooterfooter #lofadva-pos-1 .lof-text ul li a:hover { background: rgba(255,255,255,.16); text-decoration: none; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 { padding: 0; background: none; border: 0; border-radius: 0; overflow: visible; line-height: 1.6; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 .lofadva-block-1 h2 { padding-left: 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 li.link { padding: 3px 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 li.link a { padding-left: 0; background: none; font: 400 13.5px/1.5 var(--cm-font) !important; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 li.link a:hover { color: #fff !important; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 li .custom-content { padding: 0; }
body.cm-theme #lofadvafooterfooter #lofadva-pos-2 h5 { margin: 14px 0 8px; font: 600 12.5px var(--cm-font); }
body.cm-theme #footer p { color: #cbd5e1; }
body.cm-theme #footer address span[style*="font-size"] strong span { color: #fff !important; }

/* Banner cookie */
body.cm-theme #cookieNotice { background: var(--cm-navy) !important; box-shadow: 0 -4px 20px rgba(0,0,0,.2) !important; opacity: 1 !important; font-family: var(--cm-font) !important; font-size: 13px !important; }
body.cm-theme #cookieNotice a { color: #fff !important; text-decoration: underline; }
body.cm-theme #cookieNotice #cookiesClose, body.cm-theme #cookieNotice .closebutton { background: var(--cm-accent) !important; color: var(--cm-navy) !important; border: 0 !important; border-radius: var(--cm-radius-sm) !important; font-weight: 700; padding: 8px 18px !important; cursor: pointer; }

/* Elementi mobile: nascosti su desktop */
body.cm-theme #cm-menu-toggle, body.cm-theme #cm-mobile-tools, body.cm-theme #cm-overlay, body.cm-theme .cm-sub-toggle { display: none; }
/* i clearfix (::before/::after) non devono diventare celle delle griglie */
body.cm-theme #special_block_right ul.products::before, body.cm-theme #special_block_right ul.products::after,
body.cm-theme #product_list::before, body.cm-theme #product_list::after,
body.cm-theme #featured-products_block_center .block_content ul::before, body.cm-theme #featured-products_block_center .block_content ul::after,
body.cm-theme #subcategories ul::before, body.cm-theme #subcategories ul::after,
body.cm-theme #primary_block::before, body.cm-theme #header::before, body.cm-theme #header::after,
body.cm-theme .sf-menu::before, body.cm-theme .sf-menu::after { display: none; }

/* --------------------------------------------------------------------------
   Pagine senza colonna sinistra (checkout, account ecc.)
   -------------------------------------------------------------------------- */
body.cm-theme.hide-left-column #left_column, body.cm-theme.hide-right-column #right_column { display: none; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1180px) {
	body.cm-theme #right_column { display: none; }
}

@media (max-width: 960px) {
	body.cm-theme #page.container_9 { padding: 0 16px; }
	/* Colonna sinistra come pannello laterale */
	body.cm-theme #cm-mobile-tools { display: flex; gap: 8px; padding: 14px 0 0; }
	body.cm-theme #cm-filters-toggle {
		display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--cm-line); border-radius: 999px;
		background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%230f2747' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18M6 12h12M10 19h4'/%3E%3C/svg%3E") no-repeat 14px 50%;
		padding-left: 38px; color: var(--cm-navy); font-family: var(--cm-font); font-weight: 600; font-size: 14px; cursor: pointer; box-shadow: var(--cm-shadow);
	}
	body.cm-theme.hide-left-column #cm-mobile-tools { display: none; }
	body.cm-theme #columns { display: block; padding-top: 16px; position: static; z-index: auto; }
	body.cm-theme #left_column {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 1000; width: 86vw !important; max-width: 340px;
		padding: 16px; overflow-y: auto; -webkit-overflow-scrolling: touch; background: var(--cm-bg);
		transform: translateX(-105%); transition: transform .25s ease; box-shadow: var(--cm-shadow-lg);
	}
	body.cm-theme.cm-filters-open #left_column { transform: none; }
	body.cm-theme #cm-overlay { display: block; position: fixed; inset: 0; z-index: 999; background: rgba(15,39,71,.45); opacity: 0; pointer-events: none; transition: opacity .25s; }
	body.cm-theme.cm-filters-open #cm-overlay { opacity: 1; pointer-events: auto; }
	body.cm-theme.cm-filters-open { overflow: hidden; }
	body.cm-theme #right_column { display: block; width: auto !important; margin-top: 24px; }
	body.cm-theme #right_column .block { margin-bottom: 16px; }
	body.cm-theme #paypal-column-block { display: none; }

	/* Prodotto */
	body.cm-theme #primary_block { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 18px; }
	body.cm-theme #pb-right-column, body.cm-theme #pb-left-column { grid-column: 1; grid-row: auto; }
	body.cm-theme #pb-left-column h1 { font-size: 21px; }

	/* Footer */
	body.cm-theme #footer #lofadva-pos-2 .lof-position-wrap { grid-template-columns: 1fr 1fr; gap: 24px; }
}

@media (max-width: 600px) {
	body.cm-theme { font-size: 14px; }
	body.cm-theme #center_column h1 { font-size: 21px; }

	body.cm-theme #featured-products_block_center .block_content ul,
	body.cm-theme #product_list,
	body.cm-theme #center_column .products_block .block_content > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	body.cm-theme #featured-products_block_center li,
	body.cm-theme #product_list li.ajax_block_product,
	body.cm-theme #center_column .products_block .block_content > ul > li { padding: 10px; }
	body.cm-theme #featured-products_block_center li h5, body.cm-theme #product_list li h3 { font-size: 13px; }
	body.cm-theme #featured-products_block_center .product_desc, body.cm-theme #product_list .product_desc { display: none; }
	body.cm-theme #featured-products_block_center li .lnk_more { display: none; }
	body.cm-theme #featured-products_block_center li .exclusive, body.cm-theme #product_list li .right_block .exclusive,
	body.cm-theme #product_list li .right_block .button { width: 100%; font-size: 12.5px; padding: 9px 6px; }
	body.cm-theme #product_list li .right_block .lnk_view { display: none; }
	body.cm-theme #product_list li .left_block { display: none; }
	body.cm-theme #product_list li .price { font-size: 16px; }

	body.cm-theme .content_sortPagiBar .sortPagiBar { padding: 10px; }
	body.cm-theme .sortPagiBar .bt_compare { display: none; }
	body.cm-theme #subcategories ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	body.cm-theme #buy_block #our_price_display { font-size: 28px; }
	body.cm-theme #buy_block #add_to_cart, body.cm-theme #buy_block .content_prices > .exclusive { width: 100%; margin: 0; }
	body.cm-theme #buy_block #add_to_cart input, body.cm-theme #buy_block .content_prices > span.exclusive { width: 100%; text-align: center; }
	body.cm-theme #more_info_tabs { padding: 0; overflow-x: auto; flex-wrap: nowrap; }
	body.cm-theme #more_info_tabs li a { white-space: nowrap; }
	body.cm-theme #more_info_sheets { padding: 16px; }

	/* tabelle carrello scorrevoli */
	body.cm-theme #order-detail-content, body.cm-theme #order_carrier, body.cm-theme .table_block { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	body.cm-theme ul#order_step li { font-size: 11px; padding: 10px 4px; }
	body.cm-theme p.cart_navigation .exclusive, body.cm-theme p.cart_navigation .exclusive_large { width: 100%; text-align: center; }

	body.cm-theme #footer #lofadva-pos-2 .lof-position-wrap { grid-template-columns: 1fr; gap: 22px; }
	body.cm-theme #cookieNotice table, body.cm-theme #cookieNotice tbody, body.cm-theme #cookieNotice tr, body.cm-theme #cookieNotice td { display: block; width: 100% !important; }
}

/* pulsante di chiusura del pannello categorie (creato da castom-modern.js) */
body.cm-theme #cm-filters-close { display: none; }
@media (max-width: 960px) {
	body.cm-theme #cm-filters-close {
		display: block; margin: 0 0 12px auto; width: 40px; height: 40px; border: 0; border-radius: 999px;
		background: #fff; color: var(--cm-navy); font-size: 26px; line-height: 38px; cursor: pointer; box-shadow: var(--cm-shadow);
	}
}

/* ==========================================================================
   HEADER  –  barra contatti, header fisso, menu
   ========================================================================== */

/* --- Barra contatti --------------------------------------------------- */
body.cm-theme #cm-topbar { background: var(--cm-navy); color: #cbd5e1; font-size: 12.5px; line-height: 1; }
body.cm-theme .cm-wrap { max-width: 1280px; margin: 0 auto; padding: 0 20px; }
body.cm-theme #cm-topbar .cm-wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; }
body.cm-theme .cm-tb-left, body.cm-theme .cm-tb-right { display: flex; align-items: center; gap: 22px; }
body.cm-theme .cm-tb-item {
	display: inline-flex; align-items: center; gap: 7px; color: #cbd5e1; text-decoration: none; white-space: nowrap;
}
body.cm-theme .cm-tb-item:hover { color: #fff; text-decoration: none; }
body.cm-theme .cm-tb-item::before { content: ""; width: 15px; height: 15px; flex: 0 0 15px; background: no-repeat center / contain; opacity: .85; }
body.cm-theme .cm-tb-phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); opacity: 1; }
body.cm-theme .cm-tb-mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
body.cm-theme .cm-tb-pin::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
body.cm-theme .cm-tb-ship::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 3h15v13H1zM16 8h4l3 3v5h-7z'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E"); }
body.cm-theme .cm-tb-lock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); }

/* "Benvenuti / Entra" spostato qui da castom-modern.js */
body.cm-theme #cm-tb-user { display: inline-flex; align-items: center; padding-left: 22px; border-left: 1px solid rgba(255,255,255,.15); }
body.cm-theme #cm-tb-user:empty { display: none; }
body.cm-theme #cm-tb-user #header_user_info { display: inline; float: none; clear: none; margin: 0; padding: 0; font-size: 12.5px; color: #94a3b8; white-space: nowrap; }
body.cm-theme #cm-tb-user #header_user_info a { display: inline; margin: 0 0 0 6px; padding: 0; border: 0; background: none; color: #fff; font-weight: 600; line-height: inherit; }
body.cm-theme #cm-tb-user #header_user_info a.account { margin: 0 0 0 4px; font-weight: 600; color: #fff; }
body.cm-theme #cm-tb-user #header_user_info a:hover { color: var(--cm-accent); text-decoration: none; }

/* --- Header fisso ----------------------------------------------------- */
body.cm-theme #cm-header-wrap {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 60;
	background: #fff;
	overflow-x: clip;
	transition: box-shadow .2s;
}
body.cm-theme.cm-scrolled #cm-header-wrap { box-shadow: 0 6px 20px rgba(15, 39, 71, .10); }
body.cm-theme #header {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 32px;
	width: auto;
	max-width: 1280px;
	height: auto;
	margin: 0 auto;
	padding: 0 20px;
	float: none;
	background: transparent;
}
body.cm-theme #header::before, body.cm-theme #header::after { display: none; }
body.cm-theme #header_logo { position: static; order: 1; flex: 0 0 auto; display: flex; align-items: center; height: 84px; margin: 0; padding: 0; transition: height .2s; }
body.cm-theme #header_logo img { display: block; width: 210px; height: auto; transition: width .2s; }
body.cm-theme #header_right { display: contents; }
body.cm-theme #header_links, body.cm-theme #currencies_block_top { display: none; }

/* Ricerca */
body.cm-theme #search_block_top { position: relative; order: 2; flex: 1 1 360px; max-width: 680px; margin: 0; top: auto; left: auto; }
body.cm-theme #search_block_top p { display: block; position: relative; margin: 0; padding: 0; }
body.cm-theme #search_block_top form#searchbox { padding: 0; margin: 0; }
body.cm-theme #search_block_top label { display: none; }
body.cm-theme #search_block_top #search_query_top {
	float: none; display: block; width: 100%; height: 50px; margin: 0;
	padding: 0 112px 0 48px;
	font-size: 15px; color: var(--cm-text);
	border: 1.5px solid transparent;
	border-radius: 14px !important;
	background: #f1f5f9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px 50%;
	transition: background-color .15s, border-color .15s, box-shadow .15s;
}
body.cm-theme #search_block_top #search_query_top::placeholder { color: #94a3b8; }
body.cm-theme #search_block_top #search_query_top:focus { background-color: #fff; border-color: var(--cm-primary); box-shadow: 0 0 0 4px rgba(28, 91, 185, .12); outline: none; }
body.cm-theme #search_block_top .button {
	position: absolute; top: 6px; right: 6px; bottom: 6px;
	float: none; height: auto; margin: 0; padding: 0 20px;
	border: 0; border-radius: 10px !important;
	background: var(--cm-primary); color: #fff;
	font: 700 14px/1 var(--cm-font); text-transform: none; text-shadow: none; box-shadow: none; cursor: pointer;
}
body.cm-theme #search_block_top .button:hover { background: var(--cm-primary-dark); }

/* Account e carrello: icona sopra, etichetta sotto */
body.cm-theme #header_user, body.cm-theme #header_right #header_user { order: 3; display: flex; align-items: center; float: none; clear: none; margin: 0 0 0 auto; }
body.cm-theme #header_user #header_user_info { display: none; } /* finché lo script non lo sposta */
body.cm-theme #header_user #header_nav { display: flex; flex-direction: row-reverse; align-items: center; gap: 6px; float: none; margin: 0; padding: 0; }
body.cm-theme #header_user #your_account { display: block; }
body.cm-theme #header_user #header_nav li a,
body.cm-theme #header_user #shopping_cart a {
	position: relative;
	display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px;
	min-width: 76px; width: auto; height: 58px; padding: 0 10px 6px;
	border-radius: 12px;
	background: transparent no-repeat 50% 6px / 24px 24px;
	color: var(--cm-navy); font: 600 12px/1.1 var(--cm-font); text-indent: 0; text-decoration: none; white-space: nowrap; overflow: visible;
}
body.cm-theme #header_user #header_nav li a:hover { background-color: #f1f5f9; color: var(--cm-primary); }
body.cm-theme #header_user #header_nav #your_account a {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2747' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E");
}
body.cm-theme #header_user #header_nav #shopping_cart a {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2747' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E");
}
body.cm-theme #header_user #shopping_cart .ajax_cart_no_product,
body.cm-theme #header_user #shopping_cart .ajax_cart_product_txt,
body.cm-theme #header_user #shopping_cart .ajax_cart_product_txt_s { display: none !important; }
body.cm-theme #header_user #shopping_cart .ajax_cart_quantity {
	position: absolute; top: 2px; left: 50%; margin-left: 6px;
	min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; border: 2px solid #fff;
	background: var(--cm-accent); color: var(--cm-navy);
	font: 800 11px/15px var(--cm-font); text-align: center;
}
body.cm-theme #header_user #shopping_cart .ajax_cart_quantity.hidden { display: none; }

/* Tendina carrello */
body.cm-theme #cart_block {
	position: absolute; top: 74px; right: 20px; left: auto; z-index: 200; width: 360px; margin: 0;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 14px; box-shadow: var(--cm-shadow-lg); overflow: hidden;
}
body.cm-theme #cart_block .title_block { padding: 12px 16px; background: #f8fafc none; color: var(--cm-navy); border-bottom: 1px solid var(--cm-line); font: 800 13px var(--cm-font); text-transform: uppercase; letter-spacing: .05em; }
body.cm-theme #cart_block .block_content { background: #fff; border: 0; padding: 12px 16px; }
body.cm-theme #cart_block #cart-buttons { display: flex; gap: 8px; }
body.cm-theme #cart_block #cart-buttons a { flex: 1; text-align: center; }

/* --- Menu -------------------------------------------------------------- */
body.cm-theme .sf-contener {
	position: relative;
	order: 10;
	flex: 0 0 100%;
	clear: both;
	margin: 0;
	padding: 0;
	background: transparent;
}
body.cm-theme .sf-contener .sf-right { display: none; }
/* linea sopra il menu a tutta larghezza */
body.cm-theme .sf-contener::before {
	content: ""; position: absolute; top: 0; left: 50%; width: 100vw; margin-left: -50vw; height: 1px; background: var(--cm-line);
}
body.cm-theme .sf-menu {
	float: none; display: flex; flex-wrap: wrap; align-items: stretch; gap: 2px;
	width: auto; margin: 0 0 0 -14px; padding: 0; background: transparent; border-radius: 0;
}
body.cm-theme .sf-menu > li { float: none; position: relative; border: 0; background: none; }
body.cm-theme .sf-menu a, body.cm-theme .sf-menu a:visited {
	display: block; height: auto; margin: 0; padding: 0 14px; line-height: 50px;
	color: var(--cm-navy); font: 600 14.5px/50px var(--cm-font); text-shadow: none; white-space: nowrap; background: none;
}
body.cm-theme .sf-menu > li > a { position: relative; }
body.cm-theme .sf-menu > li > a::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0;
	background: var(--cm-primary); transform: scaleX(0); transition: transform .2s;
}
body.cm-theme .sf-menu > li > a:hover, body.cm-theme .sf-menu > li:hover > a, body.cm-theme .sf-menu > li.sfHover > a,
body.cm-theme .sf-menu > li > a:focus { background: none; color: var(--cm-primary); box-shadow: none; }
body.cm-theme .sf-menu > li:hover > a::after, body.cm-theme .sf-menu > li.sfHover > a::after, body.cm-theme .sf-menu > li.sfHoverForce > a::after { transform: scaleX(1); }
body.cm-theme .sf-menu a.sf-with-ul { padding-right: 32px; }
body.cm-theme .sf-sub-indicator {
	position: absolute; top: 50% !important; right: 14px; display: block;
	width: 7px; height: 7px; margin-top: -6px; overflow: hidden; text-indent: -999px;
	background: none !important; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg); opacity: .55; transition: transform .2s, margin-top .2s;
}
body.cm-theme .sf-menu > li:hover > a > .sf-sub-indicator, body.cm-theme .sf-menu > li.sfHover > a > .sf-sub-indicator { transform: rotate(225deg); margin-top: -2px; opacity: .9; }
body.cm-theme .sf-menu ul .sf-sub-indicator { transform: rotate(-45deg); margin-top: -4px; }

/* indipendente dal CSS del modulo: sottomenu nascosti finché non si passa sopra */
body.cm-theme .sf-menu, body.cm-theme .sf-menu ul, body.cm-theme .sf-menu li, body.cm-theme #header_nav, body.cm-theme #header_nav li { list-style: none; }
body.cm-theme .sf-menu ul { position: absolute; top: -999em; }
body.cm-theme #cart_block { display: none; }
/* sottomenu a "card" */
body.cm-theme .sf-shadow ul, body.cm-theme .sf-menu ul {
	min-width: 250px; width: auto; padding: 8px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 14px; box-shadow: 0 18px 40px rgba(15, 39, 71, .16);
}
body.cm-theme .sf-menu li:hover ul, body.cm-theme .sf-menu li.sfHover ul { top: 100%; left: 0; z-index: 99; }
body.cm-theme ul.sf-menu li:hover li ul, body.cm-theme ul.sf-menu li.sfHover li ul { top: -999em; }
body.cm-theme ul.sf-menu li li:hover ul, body.cm-theme ul.sf-menu li li.sfHover ul { top: -9px; left: calc(100% + 6px); }
body.cm-theme .sf-menu li li, body.cm-theme .sf-menu li li li { float: none; width: auto; background: none; border: 0; }
body.cm-theme .sf-menu li li a, body.cm-theme .sf-menu li li a:visited {
	padding: 9px 34px 9px 12px; border-radius: 8px;
	color: var(--cm-text); font: 500 14px/1.35 var(--cm-font); white-space: nowrap;
}
body.cm-theme .sf-menu ul li:hover, body.cm-theme .sf-menu ul li.sfHover { background: none; }
body.cm-theme .sf-menu ul li > a:hover, body.cm-theme .sf-menu ul li:hover > a, body.cm-theme .sf-menu ul li.sfHover > a,
body.cm-theme .sf-menu ul li a:focus { background: #f1f5f9; color: var(--cm-primary); outline: 0; }

/* Pulsanti visibili solo su mobile */
body.cm-theme #cm-menu-toggle, body.cm-theme #cm-search-toggle, body.cm-theme .cm-sub-toggle, body.cm-theme .cm-drawer-head { display: none; }

/* Header compatto durante lo scroll (desktop) */
body.cm-theme.cm-scrolled #header_logo { height: 66px; }
body.cm-theme.cm-scrolled #header_logo img { width: 170px; }
body.cm-theme.cm-scrolled #cart_block { top: 60px; }

/* --- Header: tablet ----------------------------------------------------- */
@media (max-width: 1180px) {
	body.cm-theme .cm-tb-pin { display: none; }
	body.cm-theme #header { gap: 0 20px; }
	body.cm-theme #header_user #header_nav li a, body.cm-theme #header_user #shopping_cart a { min-width: 64px; }
	body.cm-theme .sf-menu a, body.cm-theme .sf-menu a:visited { padding: 0 11px; font-size: 14px; }
	body.cm-theme .sf-menu a.sf-with-ul { padding-right: 28px; }
	body.cm-theme .sf-sub-indicator { right: 11px; }
}

/* --- Header: mobile ----------------------------------------------------- */
@media (max-width: 960px) {
	body.cm-theme .cm-wrap { padding: 0 16px; }
	body.cm-theme #cm-topbar .cm-wrap { min-height: 34px; justify-content: center; }
	body.cm-theme .cm-tb-mail, body.cm-theme .cm-tb-ship, body.cm-theme .cm-tb-lock { display: none; }
	body.cm-theme .cm-tb-left, body.cm-theme .cm-tb-right { gap: 14px; }
	body.cm-theme #cm-tb-user { padding-left: 14px; }

	body.cm-theme #header { gap: 0 6px; padding: 0 12px 0 8px; }
	body.cm-theme #cm-menu-toggle { order: 0; }
	body.cm-theme #header_logo { order: 1; height: 62px; margin-right: auto; padding-left: 4px; }
	body.cm-theme #header_logo img { width: 140px; }
	body.cm-theme #cm-search-toggle { order: 2; }
	body.cm-theme #header_right #header_user { order: 3; margin: 0; }
	body.cm-theme #search_block_top { order: 4; flex: 1 1 100%; max-width: none; margin: 0 0 12px 4px; }
	body.cm-theme #search_block_top #search_query_top { height: 46px; font-size: 16px; }
	body.cm-theme #cart_block { display: none !important; }

	body.cm-theme #header_user #header_nav { gap: 2px; }
	body.cm-theme #header_user #header_nav li a, body.cm-theme #header_user #shopping_cart a {
		min-width: 44px; width: 44px; height: 44px; padding: 0; font-size: 0; background-position: 50% 50%;
	}
	body.cm-theme #header_user #shopping_cart .ajax_cart_quantity { top: 2px; margin-left: 4px; }

	/* pulsanti icona */
	body.cm-theme .cm-icon-btn {
		display: inline-flex; align-items: center; justify-content: center; flex-direction: column; gap: 4px;
		width: 44px; height: 44px; padding: 0 12px; border: 0; border-radius: 12px; background: transparent no-repeat 50% 50%; cursor: pointer;
	}
	body.cm-theme .cm-icon-btn:active { background-color: #f1f5f9; }
	body.cm-theme #cm-menu-toggle { display: inline-flex; }
	body.cm-theme #cm-menu-toggle span { display: block; width: 20px; height: 2px; background: var(--cm-navy); border-radius: 2px; transition: transform .2s, opacity .2s; }
	body.cm-theme.cm-menu-open #cm-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	body.cm-theme.cm-menu-open #cm-menu-toggle span:nth-child(2) { opacity: 0; }
	body.cm-theme.cm-menu-open #cm-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	body.cm-theme #cm-search-toggle {
		display: none;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%230f2747' stroke-width='1.8' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
	}
	/* durante lo scroll la ricerca si chiude in un'icona */
	body.cm-theme.cm-scrolled #cm-search-toggle { display: inline-flex; }
	body.cm-theme.cm-scrolled #search_block_top { display: none; }
	body.cm-theme.cm-scrolled.cm-search-open #search_block_top { display: block; }
	body.cm-theme.cm-scrolled #header_logo { height: 58px; }
	body.cm-theme.cm-scrolled #header_logo img { width: 124px; }

	/* menu come pannello laterale */
	body.cm-theme.cm-menu-open #cm-header-wrap { z-index: 1001; }
	body.cm-theme.cm-menu-open #header { z-index: auto; }
	body.cm-theme.cm-menu-open #cm-header-wrap::after { content: ""; position: absolute; inset: 0; z-index: 2; background: rgba(15, 39, 71, .45); }
	body.cm-theme .sf-contener {
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 1001;
		display: block; width: 86vw; max-width: 340px; margin: 0; padding: 0 0 24px;
		background: var(--cm-navy); overflow-y: auto; -webkit-overflow-scrolling: touch;
		transform: translateX(-105%); transition: transform .25s ease, visibility .25s; box-shadow: var(--cm-shadow-lg); visibility: hidden;
	}
	body.cm-theme.cm-menu-open .sf-contener { transform: none; visibility: visible; }
	body.cm-theme .sf-contener::before { display: none; }
	body.cm-theme .cm-drawer-head {
		display: flex; align-items: center; justify-content: space-between;
		padding: 14px 12px 14px 20px; border-bottom: 1px solid rgba(255,255,255,.1);
		color: #fff; font: 800 13px var(--cm-font); text-transform: uppercase; letter-spacing: .08em;
	}
	body.cm-theme .cm-drawer-close { width: 40px; height: 40px; border: 0; border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; font-size: 24px; line-height: 40px; cursor: pointer; }
	body.cm-theme.cm-menu-open #cm-overlay { opacity: 1; pointer-events: auto; }
	body.cm-theme.cm-menu-open { overflow: hidden; }

	body.cm-theme .sf-menu { display: block; margin: 0; gap: 0; }
	body.cm-theme .sf-menu li { float: none; width: auto !important; position: relative; }
	body.cm-theme .sf-menu > li { border-bottom: 1px solid rgba(255,255,255,.07); }
	body.cm-theme .sf-menu a, body.cm-theme .sf-menu a:visited { padding: 14px 60px 14px 20px; color: #fff; font-size: 15px; line-height: 1.35; white-space: normal; }
	body.cm-theme .sf-menu > li > a::after { display: none; }
	body.cm-theme .sf-menu > li:hover > a, body.cm-theme .sf-menu > li.sfHover > a { color: #fff; }
	body.cm-theme .sf-sub-indicator { display: none !important; }
	body.cm-theme .sf-menu ul,
	body.cm-theme .sf-menu li:hover ul, body.cm-theme .sf-menu li.sfHover ul,
	body.cm-theme ul.sf-menu li li:hover ul, body.cm-theme ul.sf-menu li li.sfHover ul {
		position: static; display: none !important; visibility: visible !important; top: auto; left: auto;
		min-width: 0; width: auto !important; padding: 0 0 8px; border: 0; border-radius: 0; box-shadow: none; background: rgba(0,0,0,.2);
	}
	body.cm-theme .sf-menu li.cm-open > ul { display: block !important; }
	body.cm-theme .sf-menu li li a, body.cm-theme .sf-menu li li a:visited { padding: 11px 60px 11px 32px; border-radius: 0; color: #cbd5e1; font-size: 14px; white-space: normal; }
	body.cm-theme .sf-menu li li li a { padding-left: 46px; }
	body.cm-theme .sf-menu ul li > a:hover, body.cm-theme .sf-menu ul li:hover > a, body.cm-theme .sf-menu ul li.sfHover > a { background: transparent; color: #fff; }
	body.cm-theme .cm-sub-toggle {
		display: block; position: absolute; right: 10px; top: 6px; z-index: 2;
		width: 40px; height: 40px; border: 0; border-radius: 10px; background: rgba(255,255,255,.07); cursor: pointer;
	}
	body.cm-theme .cm-sub-toggle::after {
		content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -6px 0 0 -4px;
		border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); transition: transform .2s;
	}
	body.cm-theme li.cm-open > .cm-sub-toggle::after { transform: rotate(225deg); margin-top: -2px; }
	body.cm-theme .sf-menu li li .cm-sub-toggle { top: 2px; }
}

@media (max-width: 400px) {
	body.cm-theme .cm-tb-pin { display: none; }
	body.cm-theme #header_logo img { width: 120px; }
}

/* ==========================================================================
   SCHEDA PRODOTTO – riquadro acquisto (prezzo, colore, disponibilità,
   quantità, pulsante dinamico) e barra fissa "Aggiungi al carrello"
   ========================================================================== */
body.cm-theme #pb-left-column #buy_block {
	margin: 0; padding: 20px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
	box-shadow: 0 1px 2px rgba(15,39,71,.05), 0 8px 24px rgba(15,39,71,.06);
}
/* prezzo */
body.cm-theme #pb-left-column #buy_block .cm-buy-price {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px;
	margin: 0 0 16px; padding: 0 0 16px; border: 0; border-bottom: 1px solid var(--cm-line);
}
body.cm-theme #pb-left-column #buy_block .cm-buy-price .price { order: 1; float: none; width: auto; margin: 0; padding: 0; text-align: left; }
body.cm-theme #pb-left-column #buy_block .cm-buy-price .our_price_display { display: flex; align-items: baseline; gap: 8px; margin: 0; padding: 0; font-size: 13px; color: var(--cm-muted); line-height: 1; }
body.cm-theme #pb-left-column #buy_block #our_price_display { display: inline; font-size: 36px; font-weight: 800; letter-spacing: -.02em; color: var(--cm-navy); line-height: 1; }
body.cm-theme #pb-left-column #buy_block #old_price { order: 2; margin: 0; padding: 0; font-size: 16px; color: #94a3b8; text-decoration: line-through; }
body.cm-theme #pb-left-column #buy_block #old_price .bold { font-weight: 500; }
body.cm-theme #pb-left-column #buy_block #reduction_percent, body.cm-theme #pb-left-column #buy_block #reduction_amount {
	order: 3; float: none; margin: 0; padding: 4px 9px; border-radius: 999px; background: #fee2e2 none; color: var(--cm-sale); font-weight: 800; font-size: 13px; line-height: 1;
}
body.cm-theme #pb-left-column #buy_block #reduction_percent span, body.cm-theme #pb-left-column #buy_block #reduction_amount span { color: var(--cm-sale); }
body.cm-theme #pb-left-column #buy_block .on_sale_img { display: none; }
body.cm-theme #pb-left-column #buy_block .cm-buy-price .on_sale, body.cm-theme #pb-left-column #buy_block .cm-buy-price .discount {
	display: inline-block; margin: 8px 0 0; padding: 3px 8px; border-radius: 4px; background: var(--cm-sale); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase;
}
body.cm-theme #pb-left-column #buy_block .online_only { order: 4; width: 100%; margin: 0; font-size: 12px; font-weight: 700; color: var(--cm-primary); }

/* righe: colore, riferimento, disponibilità */
body.cm-theme #pb-left-column #buy_block .product_attributes { display: grid; gap: 12px; margin: 0; padding: 0; border: 0; font-size: 14px; }
body.cm-theme #pb-left-column #buy_block .product_attributes > p { margin: 0; padding: 0; }
body.cm-theme #pb-left-column #buy_block #attributes { display: grid; gap: 12px; }
body.cm-theme #pb-left-column #buy_block fieldset.attribute_fieldset { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; border: 0; }
body.cm-theme #pb-left-column #buy_block .attribute_label,
body.cm-theme #pb-left-column #buy_block #availability_label,
body.cm-theme #pb-left-column #buy_block #product_reference label {
	display: inline-block; flex: 0 0 100px; width: 100px; margin: 0; padding: 0;
	font-size: 13px; font-weight: 600; color: var(--cm-muted); text-align: left;
}
body.cm-theme #pb-left-column #buy_block .attribute_list { display: flex; align-items: center; gap: 10px; float: none; width: auto; }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list li { float: none; margin: 0; padding: 0; border: 0; background: none; width: auto; height: auto; }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list a.color_pick {
	display: block; width: 28px; height: 28px; margin: 0; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px #cbd5e1; transition: box-shadow .15s, transform .15s;
}
body.cm-theme #pb-left-column #buy_block #color_to_pick_list a.color_pick:hover { transform: scale(1.08); }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list a.color_pick.selected { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--cm-primary); }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list a.color_pick img { width: 100%; height: 100%; border-radius: 50%; }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list a.color_pick br { display: none; }
body.cm-theme #pb-left-column #buy_block #cm-color-name { font-weight: 600; color: var(--cm-text); }
body.cm-theme #pb-left-column #buy_block select.attribute_select { min-width: 180px; height: 40px; padding: 0 12px; border-radius: 10px; font-weight: 600; }
body.cm-theme #pb-left-column #buy_block #product_reference { display: flex; align-items: center; gap: 12px; }
body.cm-theme #pb-left-column #buy_block #product_reference .editable { font-weight: 600; }
body.cm-theme #pb-left-column #buy_block #availability_statut { display: flex; align-items: center; gap: 12px; }
body.cm-theme #pb-left-column #buy_block #availability_statut #availability_value {
	display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px 5px 10px; border-radius: 999px;
	background: #dcfce7; color: #166534; font-size: 13px; font-weight: 700; text-transform: none;
}
body.cm-theme #pb-left-column #buy_block #availability_statut #availability_value::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.2); }
body.cm-theme #pb-left-column #buy_block #availability_statut #availability_value.warning_inline { background: #fee2e2; color: #991b1b; }
body.cm-theme #pb-left-column #buy_block #availability_statut #availability_value.warning_inline::before { background: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.2); }
body.cm-theme #pb-left-column #buy_block #pQuantityAvailable { margin: -4px 0 0 112px; font-size: 12.5px; color: var(--cm-muted); }
body.cm-theme #pb-left-column #buy_block #pQuantityAvailable #quantityAvailable { font-weight: 700; color: var(--cm-text); }
body.cm-theme #pb-left-column #buy_block #last_quantities { justify-self: start; margin: 0; padding: 6px 12px; border-radius: 8px; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; font-weight: 600; font-size: 13px; }
body.cm-theme #pb-left-column #buy_block #availability_date { font-size: 13px; color: var(--cm-muted); }
body.cm-theme #pb-left-column #buy_block #minimal_quantity_wanted_p { font-size: 13px; color: #92400e; }

/* quantità + pulsante */
body.cm-theme #pb-left-column #buy_block .cm-buy-actions { display: flex; align-items: stretch; gap: 12px; margin: 20px 0 0; }
body.cm-theme #pb-left-column #buy_block #quantity_wanted_p { display: flex; margin: 0; padding: 0; }
body.cm-theme #pb-left-column #buy_block #quantity_wanted_p label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.cm-theme #pb-left-column #buy_block .cm-qty {
	display: inline-flex; align-items: stretch; height: 56px; overflow: hidden;
	background: #fff; border: 1.5px solid #cbd5e1; border-radius: 14px;
}
body.cm-theme #pb-left-column #buy_block .cm-qty-btn {
	width: 42px; height: auto; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer;
	color: var(--cm-navy); font: 600 20px/1 var(--cm-font); transition: background-color .15s;
}
body.cm-theme #pb-left-column #buy_block .cm-qty-btn:hover { background: #f1f5f9; }
body.cm-theme #pb-left-column #buy_block .cm-qty-btn:active { background: #e2e8f0; }
body.cm-theme #pb-left-column #buy_block #quantity_wanted {
	width: 46px; height: auto; margin: 0; padding: 0; border: 0; border-radius: 0 !important; box-shadow: none; background: transparent;
	text-align: center; font: 700 17px/1 var(--cm-font); color: var(--cm-navy);
}
body.cm-theme #pb-left-column #buy_block #add_to_cart, body.cm-theme #pb-left-column #buy_block .cm-buy-actions #add_to_cart { flex: 1 1 auto; float: none; width: auto; margin: 0; padding: 0; background: none; }
body.cm-theme #pb-left-column #buy_block #add_to_cart > span { display: none; }
body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn, body.cm-theme #cm-sticky-buy .cm-sb-btn {
	display: block; width: 100%; height: 56px; margin: 0; padding: 0 22px 0 54px;
	border: 0; border-radius: 14px; cursor: pointer;
	background: var(--cm-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%230f2747' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2 3h3l2.7 12.4a1 1 0 0 0 1 .8h9.7a1 1 0 0 0 1-.8L21 7H6'/%3E%3C/svg%3E") no-repeat 22px 50%;
	color: var(--cm-navy); font: 800 16px/1 var(--cm-font); letter-spacing: .01em; text-align: center; text-shadow: none;
	box-shadow: 0 8px 20px rgba(245, 158, 11, .35);
	transition: transform .15s ease, box-shadow .15s ease, background-color .2s ease, color .2s ease;
	-webkit-appearance: none; appearance: none;
}
body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn:hover, body.cm-theme #cm-sticky-buy .cm-sb-btn:hover {
	background-color: #fbbf24; transform: translateY(-1px); box-shadow: 0 12px 24px rgba(245, 158, 11, .45);
}
body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn:active, body.cm-theme #cm-sticky-buy .cm-sb-btn:active { transform: scale(.98); box-shadow: 0 4px 10px rgba(245, 158, 11, .35); }
/* stato: in corso */
body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn.cm-loading, body.cm-theme #cm-sticky-buy .cm-sb-btn.cm-loading {
	cursor: progress; transform: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%230f2747' stroke-opacity='.25' stroke-width='3'/%3E%3Cpath d='M21 12a9 9 0 0 0-9-9' fill='none' stroke='%230f2747' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='.8s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
}
/* stato: aggiunto */
body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn.cm-added, body.cm-theme #cm-sticky-buy .cm-sb-btn.cm-added {
	background-color: var(--cm-ok); color: #fff; box-shadow: 0 8px 20px rgba(22, 163, 74, .35);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
	animation: cm-pop .35s ease;
}
@keyframes cm-pop { 0% { transform: scale(1); } 40% { transform: scale(1.04); } 100% { transform: scale(1); } }
/* non disponibile */
body.cm-theme #pb-left-column #buy_block .cm-buy-actions > span.exclusive {
	display: flex; flex: 1 1 auto; align-items: center; justify-content: center; height: 56px; margin: 0; padding: 0 20px;
	border-radius: 14px; background: #f1f5f9 none; color: #94a3b8; font-size: 15px; font-weight: 700;
}
body.cm-theme #pb-left-column #buy_block .cm-buy-actions > span.exclusive span { display: none; }
/* rassicurazioni */
body.cm-theme #pb-left-column #buy_block .cm-buy-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 16px 0 0; padding: 0; list-style: none; font-size: 13px; }
body.cm-theme #pb-left-column #buy_block .cm-buy-trust li { display: flex; align-items: center; gap: 7px; margin: 0; padding: 0; background: none; }
body.cm-theme #pb-left-column #buy_block .cm-buy-trust li::before { content: ""; width: 16px; height: 16px; background: no-repeat center / contain; }
body.cm-theme #pb-left-column #buy_block .cm-buy-trust .cm-trust-ship::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 3h15v13H1zM16 8h4l3 3v5h-7z'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E"); }
body.cm-theme #pb-left-column #buy_block .cm-buy-trust .cm-trust-lock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); }
body.cm-theme #pb-left-column #buy_block .cm-buy-trust a { color: var(--cm-muted); text-decoration: none; }
body.cm-theme #pb-left-column #buy_block .cm-buy-trust a:hover { color: var(--cm-primary); }

/* contatore del carrello che "salta" dopo l'aggiunta */
body.cm-theme #shopping_cart.cm-bump > a { animation: cm-bump .6s ease; }
@keyframes cm-bump { 0%,100% { transform: scale(1); } 30% { transform: scale(1.15); } 60% { transform: scale(.95); } }

/* prodotti della stessa categoria sotto le schede */
body.cm-theme #more_info_block + .blockproductscategory { margin-top: 0; }

/* barra fissa in basso */
body.cm-theme #cm-sticky-buy {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
	background: rgba(255,255,255,.97); border-top: 1px solid var(--cm-line); box-shadow: 0 -8px 24px rgba(15,39,71,.10);
	transform: translateY(110%); transition: transform .25s ease;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
body.cm-theme #cm-sticky-buy.cm-show { transform: none; }
body.cm-theme #cm-sticky-buy .cm-sb-inner { display: flex; align-items: center; gap: 14px; max-width: 1280px; margin: 0 auto; padding: 10px 20px; }
body.cm-theme #cm-sticky-buy .cm-sb-img { width: 48px; height: 48px; object-fit: contain; border: 1px solid var(--cm-line); border-radius: 10px; background: #fff; }
body.cm-theme #cm-sticky-buy .cm-sb-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
body.cm-theme #cm-sticky-buy .cm-sb-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 600; font-size: 14px; color: var(--cm-text); }
body.cm-theme #cm-sticky-buy .cm-sb-price { font-weight: 800; font-size: 18px; color: var(--cm-navy); }
body.cm-theme #cm-sticky-buy .cm-sb-btn { flex: 0 0 auto; width: auto; min-width: 240px; height: 50px; }

@media (max-width: 960px) {
	body.cm-theme #pb-left-column #buy_block { padding: 16px; }
}
@media (max-width: 600px) {
	body.cm-theme #pb-left-column #buy_block #our_price_display { font-size: 32px; }
	body.cm-theme #pb-left-column #buy_block .attribute_label, body.cm-theme #pb-left-column #buy_block #availability_label, body.cm-theme #pb-left-column #buy_block #product_reference label { flex-basis: 88px; width: 88px; }
	body.cm-theme #pb-left-column #buy_block #pQuantityAvailable { margin-left: 100px; }
	body.cm-theme #pb-left-column #buy_block .cm-buy-actions { gap: 10px; }
	body.cm-theme #pb-left-column #buy_block .cm-qty-btn { width: 36px; }
	body.cm-theme #pb-left-column #buy_block #quantity_wanted { width: 38px; }
	body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn { padding: 0 14px 0 46px; background-position: 16px 50%; font-size: 15px; }
	body.cm-theme #cm-sticky-buy .cm-sb-inner { padding: 10px 12px; gap: 10px; }
	body.cm-theme #cm-sticky-buy .cm-sb-img, body.cm-theme #cm-sticky-buy .cm-sb-name { display: none; }
	body.cm-theme #cm-sticky-buy .cm-sb-btn { min-width: 0; flex: 1 1 auto; padding: 0 12px 0 46px; background-position: 16px 50%; font-size: 15px; }
	body.cm-theme #cm-sticky-buy .cm-sb-info { flex: 0 0 auto; }
}
/* i clearfix del tema base non devono diventare elementi flex */
body.cm-theme #pb-left-column #buy_block .cm-buy-price::before, body.cm-theme #pb-left-column #buy_block .cm-buy-price::after,
body.cm-theme #pb-left-column #buy_block #color_to_pick_list::before, body.cm-theme #pb-left-column #buy_block #color_to_pick_list::after,
body.cm-theme #pb-left-column #buy_block .cm-buy-price > .clear { display: none; }
body.cm-theme #pb-left-column #buy_block #cm-color-name { float: none; margin: 0; }
/* riquadro stretto (desktop a 3 colonne): il pulsante va a capo sotto la quantità */
body.cm-theme #pb-left-column #buy_block .cm-buy-actions { flex-wrap: wrap; }
body.cm-theme #pb-left-column #buy_block .cm-buy-actions #add_to_cart { flex: 1 1 220px; min-width: 0; }
body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn { min-width: 0; }
body.cm-theme #pb-left-column #buy_block .attribute_list { justify-content: flex-start; }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list { flex: 0 0 auto; width: auto; }
body.cm-theme #primary_block { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
@media (max-width: 960px) {
	body.cm-theme #primary_block { grid-template-columns: minmax(0, 1fr); }
}

/* --- link utili sotto la foto: Facebook, Invia a un amico, Stampa --- */
body.cm-theme #pb-right-column #usefull_link_block {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none;
}
body.cm-theme #pb-right-column #usefull_link_block li { float: none; margin: 0; padding: 0; border: 0; background: none; font-size: 13px; line-height: 1; }
body.cm-theme #pb-right-column #usefull_link_block li a { display: inline-flex; align-items: center; gap: 7px; }
/* i "preferiti" restano nascosti/mostrati dal loro modulo: qui solo l'aspetto */
body.cm-theme #pb-right-column #usefull_link_block li a,
body.cm-theme #pb-right-column #usefull_link_block li[id^="favoriteproducts_block_extra"] {
	padding: 9px 14px 9px 12px;
	border: 1px solid var(--cm-line); border-radius: 999px; background: #fff none;
	color: var(--cm-text); font-weight: 600; font-size: 13px; line-height: 1; text-decoration: none; cursor: pointer;
	transition: border-color .15s, color .15s, background-color .15s;
}
body.cm-theme #pb-right-column #usefull_link_block li a:hover,
body.cm-theme #pb-right-column #usefull_link_block li[id^="favoriteproducts_block_extra"]:hover { border-color: var(--cm-primary); color: var(--cm-primary); background-color: #eff6ff; }
body.cm-theme #pb-right-column #usefull_link_block li a::before,
body.cm-theme #pb-right-column #usefull_link_block li[id^="favoriteproducts_block_extra"]::before { content: ""; width: 16px; height: 16px; flex: 0 0 16px; background: no-repeat center / contain; }
body.cm-theme #pb-right-column #usefull_link_block #left_share_fb a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877f2'%3E%3Cpath d='M24 12a12 12 0 1 0-13.9 11.9v-8.4H7.1V12h3V9.4c0-3 1.8-4.7 4.5-4.7 1.3 0 2.7.2 2.7.2v3h-1.5c-1.5 0-2 .9-2 1.9V12h3.4l-.5 3.5h-2.9v8.4A12 12 0 0 0 24 12z'/%3E%3C/svg%3E");
}
body.cm-theme #pb-right-column #usefull_link_block .sendtofriend a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}
body.cm-theme #pb-right-column #usefull_link_block .print a::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V2h12v7'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8'/%3E%3C/svg%3E");
}
body.cm-theme #pb-right-column #usefull_link_block li[id^="favoriteproducts_block_extra"]::before {
	display: inline-block; margin-right: 7px; vertical-align: -3px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
}

/* --- quantità e pulsante sempre affiancati --- */
body.cm-theme #pb-left-column #buy_block .cm-buy-actions { flex-wrap: nowrap; gap: 10px; }
body.cm-theme #pb-left-column #buy_block .cm-buy-actions #add_to_cart { flex: 1 1 0; min-width: 0; }
body.cm-theme #pb-left-column #buy_block #quantity_wanted_p { flex: 0 0 auto; }
body.cm-theme #pb-left-column #buy_block .cm-qty-btn { width: 36px; }
body.cm-theme #pb-left-column #buy_block #quantity_wanted { width: 38px; }
body.cm-theme #pb-left-column #buy_block #add_to_cart input.cm-add-btn {
	padding: 0 10px 0 38px; background-position: 12px 50%; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* colonna informazioni un po' più larga della foto */
body.cm-theme #primary_block { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 24px; }
@media (max-width: 960px) {
	body.cm-theme #primary_block { grid-template-columns: minmax(0, 1fr); }
}

/* --- rassicurazioni: solo testo --- */
body.cm-theme #pb-left-column #buy_block .cm-buy-trust { color: var(--cm-muted); font-weight: 500; }

/* ==========================================================================
   SCHEDA PRODOTTO – foto, pulsanti Condividi/Invia/Stampa, armonia riquadri
   ========================================================================== */
/* foto 2/5, acquisto 3/5, allineate in alto */
body.cm-theme #primary_block { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 24px; align-items: start; }
@media (max-width: 960px) { body.cm-theme #primary_block { grid-template-columns: minmax(0, 1fr); gap: 20px; } }

/* foto in un riquadro quadrato */
body.cm-theme #pb-right-column #image-block {
	display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1;
	width: 100%; height: auto; margin: 0; padding: 18px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
}
body.cm-theme #pb-right-column #image-block #view_full_size { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; cursor: zoom-in; }
body.cm-theme #pb-right-column #image-block img, body.cm-theme #bigpic { width: 100%; height: 100%; max-height: none; object-fit: contain; border: 0; border-radius: 0; }
body.cm-theme #pb-right-column #image-block #view_full_size .span_link {
	bottom: 14px; padding: 6px 12px 6px 30px; font-size: 11.5px; font-weight: 600; letter-spacing: .02em; text-transform: none;
	background: rgba(15,39,71,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") no-repeat 10px 50%;
}

/* riga unica: Condividi · Invia · Stampa */
body.cm-theme #pb-right-column #usefull_link_block { flex-wrap: nowrap; justify-content: stretch; gap: 8px; margin: 14px 0 0; }
body.cm-theme #pb-right-column #usefull_link_block > li { flex: 1 1 0; min-width: 0; }
body.cm-theme #pb-right-column #usefull_link_block > li[id^="favoriteproducts_block_extra"] { flex: 0 0 auto; }
body.cm-theme #pb-right-column #usefull_link_block > li.cm-share { flex-grow: 1.2; }
body.cm-theme #pb-right-column #usefull_link_block > li > a,
body.cm-theme #pb-right-column #usefull_link_block .cm-share-btn {
	display: flex; align-items: center; justify-content: center; gap: 5px; width: 100%; height: 40px; padding: 0 6px;
	border: 1px solid var(--cm-line); border-radius: 12px; background: #fff; cursor: pointer;
	color: var(--cm-text); font: 600 12.5px/1 var(--cm-font); white-space: nowrap; text-decoration: none;
	transition: border-color .15s, color .15s, background-color .15s;
}
body.cm-theme #pb-right-column #usefull_link_block > li > a:hover,
body.cm-theme #pb-right-column #usefull_link_block .cm-share-btn:hover,
body.cm-theme #pb-right-column #usefull_link_block .cm-share.cm-open .cm-share-btn { border-color: var(--cm-primary); color: var(--cm-primary); background: #eff6ff; }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-btn::before {
	content: ""; width: 16px; height: 16px; flex: 0 0 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='m8.6 13.5 6.8 4M15.4 6.5l-6.8 4'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* menu di condivisione */
body.cm-theme #pb-right-column #usefull_link_block .cm-share { position: relative; }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu {
	position: absolute; left: 0; top: calc(100% + 8px); z-index: 60;
	display: none; width: 230px; padding: 8px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 14px; box-shadow: 0 18px 40px rgba(15,39,71,.18);
}
body.cm-theme #pb-right-column #usefull_link_block .cm-share.cm-open .cm-share-menu { display: grid; gap: 2px; animation: cm-fade .15s ease; }
@keyframes cm-fade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu a, body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu button {
	display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; margin: 0;
	border: 0; border-radius: 8px; background: none; cursor: pointer; text-align: left;
	color: var(--cm-text); font: 500 14px/1.2 var(--cm-font); text-decoration: none; height: auto; min-height: 0; box-shadow: none; justify-content: flex-start; white-space: nowrap;
}
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu a:hover, body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu button:hover { background: #f1f5f9; color: var(--cm-navy); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu a::before, body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu button::before { content: ""; width: 20px; height: 20px; flex: 0 0 20px; background: no-repeat center / contain; }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-facebook::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877f2'%3E%3Cpath d='M24 12a12 12 0 1 0-13.9 11.9v-8.4H7.1V12h3V9.4c0-3 1.8-4.7 4.5-4.7 1.3 0 2.7.2 2.7.2v3h-1.5c-1.5 0-2 .9-2 1.9V12h3.4l-.5 3.5h-2.9v8.4A12 12 0 0 0 24 12z'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-whatsapp::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2325d366' d='M12 1.5A10.5 10.5 0 0 0 2.9 17.2L1.5 22.5l5.4-1.4A10.5 10.5 0 1 0 12 1.5z'/%3E%3Cpath fill='%23fff' d='M8.6 6.8c-.2-.5-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.3-1.2 1.1-1.2 2.8s1.2 3.3 1.4 3.5c.2.2 2.4 3.8 5.9 5.2 2.9 1.1 3.5.9 4.1.9.6-.1 2-.8 2.3-1.6.3-.8.3-1.5.2-1.6-.1-.1-.3-.2-.7-.4l-2.2-1.1c-.3-.1-.5-.2-.7.2l-1 1.2c-.2.2-.4.2-.7.1-.4-.2-1.4-.5-2.7-1.7-1-.9-1.7-2-1.9-2.3-.2-.4 0-.6.2-.7l.5-.6.3-.5c.1-.2 0-.4 0-.5L8.6 6.8z'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-telegram::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23229ed9'/%3E%3Cpath fill='%23fff' d='m5.4 11.8 11.7-4.5c.5-.2 1 .1.8.9l-2 9.4c-.1.7-.5.8-1.1.5l-3-2.2-1.4 1.4c-.2.2-.3.3-.6.3l.2-3.1 5.6-5c.2-.2 0-.3-.4-.1l-6.9 4.3-3-.9c-.6-.2-.7-.6.1-1z'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-x::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='5' fill='%23000'/%3E%3Cpath d='M6.5 6h3.2l2.7 3.8L15.6 6h1.9l-4.2 4.9 4.6 6.6H14.7l-3-4.2-3.6 4.2H6.2l4.6-5.3z' fill='%23fff'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-linkedin::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' rx='5' fill='%230a66c2'/%3E%3Cpath d='M7.5 10v7M7.5 7v.01M11 17v-7M11 13.2c0-1.9 1.3-3.2 2.8-3.2 1.6 0 2.7 1 2.7 3V17' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-pinterest::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23e60023'/%3E%3Cpath d='M10.2 19.5l1.6-6.6m-.4 1.6c.6.6 1.4.9 2.3.9 2.3 0 3.8-2 3.8-4.4C17.5 8.6 15.3 6.5 12.3 6.5c-3.3 0-5.3 2.3-5.3 4.8 0 1.1.4 2 1.1 2.5' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' fill='none'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-email::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-copy { border-top: 1px solid var(--cm-line); border-radius: 0 0 8px 8px; margin-top: 4px; padding-top: 11px; }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-copy::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7'/%3E%3C/svg%3E"); }
body.cm-theme #pb-right-column #usefull_link_block .cm-share-menu .cm-sh-copy.cm-copied { color: var(--cm-ok); }

/* riquadro prezzo più armonioso */
body.cm-theme #pb-left-column h1 { font-size: 24px; line-height: 1.25; margin: 2px 0 10px; }
body.cm-theme #pb-left-column #short_description_block { margin: 0 0 18px; font-size: 14.5px; line-height: 1.6; }
body.cm-theme #pb-left-column #buy_block { padding: 22px; }
body.cm-theme #pb-left-column #buy_block .cm-buy-price { margin: 0 0 18px; padding: 0 0 18px; }
body.cm-theme #pb-left-column #buy_block .cm-buy-price .our_price_display { flex-direction: column; align-items: flex-start; gap: 6px; font-size: 12.5px; letter-spacing: .02em; }
body.cm-theme #pb-left-column #buy_block #our_price_display { font-size: 38px; }
body.cm-theme #pb-left-column #buy_block .product_attributes { gap: 0; }
body.cm-theme #pb-left-column #buy_block .product_attributes > *:not([style*="display: none"]):not([style*="display:none"]) { min-height: 36px; }
body.cm-theme #pb-left-column #buy_block fieldset.attribute_fieldset, body.cm-theme #pb-left-column #buy_block #availability_statut { min-height: 40px; }
body.cm-theme #pb-left-column #buy_block #pQuantityAvailable { min-height: 0; margin: 0 0 0 112px; }
body.cm-theme #pb-left-column #buy_block .cm-buy-actions { margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--cm-line); }

/* colonna destra: niente immagine PayPal */
body.cm-theme #paypal-column-block { display: none !important; }

/* ==========================================================================
   SCHEDA PRODOTTO – niente riquadro attorno alle info, prezzo sotto la disponibilità
   ========================================================================== */
body.cm-theme #pb-left-column #buy_block,
body.cm-theme #pb-left-column #buy_block:hover {
	margin: 0; padding: 16px 0 0; background: none; border: 0; border-top: 1px solid var(--cm-line);
	border-radius: 0; box-shadow: none;
}
body.cm-theme #pb-left-column #buy_block .cm-buy-price {
	margin: 14px 0 0; padding: 0; border: 0;
}
body.cm-theme #pb-left-column #buy_block .cm-buy-actions { margin: 16px 0 0; padding: 0; border: 0; }

/* prodotti della stessa categoria: scorrimento orizzontale, titoli più lunghi */
body.cm-theme #productscategory, body.cm-theme #productscategory_noscroll { position: relative; width: auto; overflow: visible; }
body.cm-theme #productscategory_list {
	width: auto !important; height: auto; margin: 0; padding: 2px 2px 10px; float: none;
	overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scroll-snap-type: x proximity; scrollbar-width: thin;
}
body.cm-theme #productscategory_list ul { display: flex; gap: 14px; width: auto !important; height: auto; margin: 0; padding: 0; }
body.cm-theme #productscategory_list li {
	flex: 0 0 160px; width: 160px !important; height: auto; margin: 0; padding: 10px; float: none;
	display: flex; flex-direction: column; scroll-snap-align: start; text-align: left;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 12px; transition: border-color .15s, box-shadow .15s;
}
body.cm-theme #productscategory_list li:hover { border-color: #cbd5e1; box-shadow: 0 8px 20px rgba(15,39,71,.08); }
body.cm-theme #productscategory_list li br { display: none; }
body.cm-theme #productscategory_list .lnk_img { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; margin: 0; padding: 0; border: 0; background: none; }
body.cm-theme #productscategory_list .lnk_img img { width: 100%; height: 100%; object-fit: contain; margin: 0; border: 0; border-radius: 0; }
body.cm-theme #productscategory_list .product_name { height: auto; margin: 8px 0 0; padding: 0; font-size: 13px; line-height: 1.35; text-align: left; }
body.cm-theme #productscategory_list .product_name a {
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	min-height: calc(1.35em * 3); color: var(--cm-text); font-weight: 600; text-decoration: none;
}
body.cm-theme #productscategory_list .product_name a:hover { color: var(--cm-primary); }
body.cm-theme #productscategory_list .price_display { margin: 6px 0 0; }
body.cm-theme #productscategory_list .price_display .price { font-size: 14px; font-weight: 800; color: var(--cm-navy); }
body.cm-theme #productscategory_scroll_left, body.cm-theme #productscategory_scroll_right { display: none !important; }
body.cm-theme .cm-pc-nav {
	position: absolute; top: 72px; z-index: 2; display: flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; margin: 0; padding: 0; cursor: pointer;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 50%; box-shadow: 0 4px 12px rgba(15,39,71,.12);
	color: var(--cm-navy); font: 700 18px/1 var(--cm-font);
}
body.cm-theme .cm-pc-nav:hover { border-color: var(--cm-primary); color: var(--cm-primary); }
body.cm-theme .cm-pc-nav[disabled] { opacity: 0; pointer-events: none; }
body.cm-theme .cm-pc-prev { left: -10px; }
body.cm-theme .cm-pc-next { right: -10px; }
@media (max-width: 600px) {
	body.cm-theme #productscategory_list li { flex-basis: 140px; width: 140px !important; }
	body.cm-theme .cm-pc-nav { display: none; }
}
/* info prodotto (riferimento, disponibilità, prezzo…) staccate di 7px a sinistra */
body.cm-theme #pb-left-column #buy_block { margin-left: 7px; }

/* ==========================================================================
   SCHEDA PRODOTTO – due colonne (niente Speciali / Migliori vendite a destra)
   ========================================================================== */
body.cm-theme#product #right_column { display: none !important; }
/* foto più grande ma mai ingrandita oltre la sua risoluzione (264px) */
body.cm-theme#product #primary_block { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; }
body.cm-theme#product #pb-right-column #image-block { max-width: 400px; }
body.cm-theme#product #pb-right-column #usefull_link_block { max-width: 400px; }
body.cm-theme#product #pb-right-column #image-block #bigpic { max-width: 264px; max-height: 264px; }
@media (max-width: 960px) {
	body.cm-theme#product #primary_block { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	body.cm-theme#product #pb-right-column #image-block, body.cm-theme#product #pb-right-column #usefull_link_block { max-width: none; }
}

/* prodotti della stessa categoria: schede più piccole e foto nitide, titolo invariato */
body.cm-theme #productscategory_list ul { gap: 12px; }
body.cm-theme #productscategory_list li { flex: 0 0 136px; width: 136px !important; padding: 8px; }
body.cm-theme #productscategory_list .lnk_img { width: 118px; height: 118px; aspect-ratio: auto; margin: 0 auto; }
body.cm-theme #productscategory_list .lnk_img img { width: auto; height: auto; max-width: 100%; max-height: 100%; }
body.cm-theme .cm-pc-nav { top: 50px; }
@media (max-width: 600px) {
	body.cm-theme #productscategory_list li { flex-basis: 136px; width: 136px !important; }
}

/* ==========================================================================
   SCHEDA PRODOTTO – variante 2C (riquadro bianco), galleria, colori, riferimento
   ========================================================================== */
/* foto su fondo chiaro, etichetta Compatibile/Originale */
body.cm-theme#product #pb-right-column #image-block { background: #f8fafc; border: 0; border-radius: 18px; }
body.cm-theme#product #pb-right-column #image-block #bigpic { mix-blend-mode: multiply; }
body.cm-theme .cm-img-badge {
	position: absolute; top: 16px; left: 16px; z-index: 2; padding: 5px 10px; border-radius: 8px;
	background: var(--cm-navy); color: #fff; font: 700 11px/1.2 var(--cm-font); letter-spacing: .06em; text-transform: uppercase;
}

/* galleria: miniature in riga, scorrevoli */
body.cm-theme#product #pb-right-column #views_block { display: flex; max-width: 400px; width: auto; margin: 12px 0 0; padding: 0; float: none; }
body.cm-theme#product #pb-right-column #views_block.hidden { display: none; }
body.cm-theme#product #views_block .view_scroll_spacer, body.cm-theme#product #view_scroll_left, body.cm-theme#product #view_scroll_right { display: none !important; }
body.cm-theme#product #thumbs_list {
	flex: 1 1 auto; width: auto !important; height: auto; margin: 0 !important; padding: 2px; float: none;
	overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scrollbar-width: thin;
}
body.cm-theme#product #thumbs_list #thumbs_list_frame { display: flex; gap: 8px; width: auto !important; height: auto; margin: 0; padding: 0; list-style: none; }
body.cm-theme#product #thumbs_list #thumbs_list_frame li { flex: 0 0 64px; width: 64px; height: 64px; margin: 0; padding: 0; float: none; border: 0; }
body.cm-theme#product #thumbs_list #thumbs_list_frame li a {
	display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 64px; height: 64px; padding: 3px;
	border: 2px solid var(--cm-line); border-radius: 12px; background: #f8fafc; overflow: hidden; transition: border-color .15s;
}
body.cm-theme#product #thumbs_list #thumbs_list_frame li a:hover { border-color: #93c5fd; }
body.cm-theme#product #thumbs_list #thumbs_list_frame li a.shown { border-color: var(--cm-primary); }
body.cm-theme#product #thumbs_list #thumbs_list_frame li img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; border: 0; mix-blend-mode: multiply; }
body.cm-theme#product #pb-right-column .resetimg { margin: 6px 0 0; font-size: 12.5px; }

/* Condividi · invia · stampa: icone tonde */
body.cm-theme#product #pb-right-column #usefull_link_block { justify-content: center; align-items: center; gap: 10px; max-width: 400px; margin: 14px 0 0; }
body.cm-theme#product #pb-right-column #usefull_link_block::before { content: "Condividi"; font: 600 13px/1 var(--cm-font); color: var(--cm-muted); }
body.cm-theme#product #pb-right-column #usefull_link_block > li, body.cm-theme#product #pb-right-column #usefull_link_block > li.cm-share { flex: 0 0 auto; }
body.cm-theme#product #pb-right-column #usefull_link_block > li > a,
body.cm-theme#product #pb-right-column #usefull_link_block .cm-share-btn { width: 40px; height: 40px; padding: 0; gap: 0; border-radius: 50%; font-size: 0; }
body.cm-theme#product #pb-right-column #usefull_link_block > li > a::before,
body.cm-theme#product #pb-right-column #usefull_link_block .cm-share-btn::before { width: 17px; height: 17px; flex: 0 0 17px; }

/* riferimento sotto la descrizione breve */
body.cm-theme#product #pb-left-column #product_reference {
	display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin: 14px 0 0; padding: 12px 0 0;
	border-top: 1px dashed #cbd5e1; font-size: 13px; line-height: 1.2;
}
body.cm-theme#product #pb-left-column #product_reference label {
	float: none; width: auto; margin: 0; padding: 0; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--cm-muted);
}
body.cm-theme#product #pb-left-column #product_reference .editable { font-size: 14px; font-weight: 800; letter-spacing: .02em; color: var(--cm-navy); }
body.cm-theme .cm-copy-ref {
	display: inline-flex; align-items: center; gap: 5px; height: 28px; margin: 0; padding: 0 10px; cursor: pointer;
	border: 1px solid var(--cm-line); border-radius: 8px; background: #fff; color: var(--cm-primary); font: 600 12px/1 var(--cm-font);
	transition: border-color .15s, background-color .15s;
}
body.cm-theme .cm-copy-ref:hover { border-color: var(--cm-primary); background: #eff6ff; }
body.cm-theme .cm-copy-ref::before {
	content: ""; width: 13px; height: 13px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") no-repeat center / contain;
}
body.cm-theme .cm-copy-ref.cm-copied { color: var(--cm-ok); border-color: #bbf7d0; background: #f0fdf4; }
body.cm-theme .cm-copy-ref.cm-copied::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

/* riquadro acquisto bianco con ombra */
body.cm-theme#product #pb-left-column #buy_block,
body.cm-theme#product #pb-left-column #buy_block:hover {
	display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px;
	margin: 18px 0 0; padding: 20px 22px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
	box-shadow: 0 1px 2px rgba(15,39,71,.05), 0 10px 28px rgba(15,39,71,.08);
}
body.cm-theme#product #pb-left-column #buy_block .product_attributes { display: contents; }
body.cm-theme#product #pb-left-column #buy_block > *,
body.cm-theme#product #pb-left-column #buy_block .product_attributes > * { flex: 0 0 100%; min-width: 0; order: 20; }
/* 1. disponibilità */
body.cm-theme#product #pb-left-column #buy_block #availability_statut { order: 1; flex: 0 0 auto; min-height: 0; margin: 0; }
body.cm-theme#product #pb-left-column #buy_block #availability_statut #availability_label { display: none; }
body.cm-theme#product #pb-left-column #buy_block #pQuantityAvailable { order: 2; flex: 0 0 auto; min-height: 0; margin: 0; font-size: 12.5px; color: var(--cm-muted); }
body.cm-theme#product #pb-left-column #buy_block #last_quantities { order: 3; margin: 8px 0 0; }
body.cm-theme#product #pb-left-column #buy_block #oosHook { order: 4; }
/* 2. prezzo */
body.cm-theme#product #pb-left-column #buy_block .cm-buy-price { order: 5; margin: 16px 0 0; padding: 0; border: 0; }
/* 3. colori / varianti */
body.cm-theme#product #pb-left-column #buy_block #attributes { order: 6; margin: 16px 0 0; }
body.cm-theme#product #pb-left-column #buy_block #attributes fieldset.attribute_fieldset { flex-wrap: wrap; gap: 10px 12px; min-height: 0; margin: 0 0 10px; }
body.cm-theme#product #pb-left-column #buy_block #attributes fieldset.attribute_fieldset:last-child { margin-bottom: 0; }
body.cm-theme#product #pb-left-column #buy_block #attributes .attribute_label { width: auto; min-width: 0; margin: 0; }
/* colori: "Colore: Nero" sopra, pallini (fino a 5: ciano, magenta, giallo, nero, grigio) sotto */
body.cm-theme#product #pb-left-column #buy_block fieldset.cm-color-fs { gap: 8px 6px; }
body.cm-theme#product #pb-left-column #buy_block fieldset.cm-color-fs .attribute_list { flex: 0 0 100%; }
body.cm-theme#product #pb-left-column #buy_block fieldset.cm-color-fs .attribute_label { flex: 0 0 auto; width: auto; }
body.cm-theme#product #pb-left-column #buy_block #color_to_pick_list { gap: 12px; padding: 4px 4px 2px; }
body.cm-theme#product #pb-left-column #buy_block #color_to_pick_list a.color_pick { width: 30px; height: 30px; box-sizing: border-box; border: 1px solid rgba(15,39,71,.18); }
body.cm-theme#product #pb-left-column #buy_block #cm-color-name { font-weight: 700; color: var(--cm-navy); }
body.cm-theme#product #pb-left-column #buy_block #minimal_quantity_wanted_p { order: 7; margin: 12px 0 0; }
/* 4. quantità + carrello */
body.cm-theme#product #pb-left-column #buy_block .cm-buy-actions { order: 8; margin: 18px 0 0; padding: 0; border: 0; }
/* 5. spedizioni / pagamento */
body.cm-theme#product #pb-left-column #buy_block .cm-buy-trust { order: 9; justify-content: center; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--cm-line); }
@media (max-width: 960px) {
	body.cm-theme#product #pb-right-column #views_block { max-width: none; }
}
@media (max-width: 600px) {
	body.cm-theme#product #pb-left-column #buy_block { padding: 16px; }
}

/* ==========================================================================
   CARRELLO E CHECKOUT
   ========================================================================== */
/* pagine dell'ordine: niente colonne laterali, centro a tutta larghezza */
body.cm-theme#order #left_column, body.cm-theme#order #right_column,
body.cm-theme#order-opc #left_column, body.cm-theme#order-opc #right_column,
body.cm-theme#authentication #left_column, body.cm-theme#authentication #right_column,
body.cm-theme#order-confirmation #left_column, body.cm-theme#order-confirmation #right_column,
body.cm-theme#order #cm-mobile-tools, body.cm-theme#authentication #cm-mobile-tools { display: none !important; }
body.cm-theme#order #center_column, body.cm-theme#order-opc #center_column,
body.cm-theme#authentication #center_column, body.cm-theme#order-confirmation #center_column { flex: 1 1 auto; max-width: 1120px; margin: 0 auto; }
body.cm-theme#order #center_column > h1, body.cm-theme#authentication #center_column > h1 { margin: 4px 0 18px; font-size: 28px; }
body.cm-theme#order .cart_last_product { display: none; }

/* --- passi dell'ordine ------------------------------------------------- */
body.cm-theme ul#order_step {
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; width: auto; height: auto;
	margin: 0 0 26px; padding: 18px 12px 16px; list-style: none; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px; overflow: visible;
}
body.cm-theme ul#order_step li, body.cm-theme ul#order_step li.step_current, body.cm-theme ul#order_step li.step_current_end, body.cm-theme ul#order_step li.step_done, body.cm-theme ul#order_step li.step_todo {
	position: relative; float: none; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none;
	display: flex; flex-direction: column; align-items: center; text-align: center;
}
body.cm-theme ul#order_step li::before {
	content: ""; position: absolute; top: 16px; left: calc(-50% + 22px); right: calc(50% + 22px); height: 2px; background: var(--cm-line);
}
body.cm-theme ul#order_step li:first-child::before { display: none; }
body.cm-theme ul#order_step li.step_done::before, body.cm-theme ul#order_step li.step_current::before, body.cm-theme ul#order_step li.step_current_end::before { background: var(--cm-primary); }
body.cm-theme ul#order_step li > span, body.cm-theme ul#order_step li > a, body.cm-theme ul#order_step li.step_current > span, body.cm-theme ul#order_step li.step_current_end > span, body.cm-theme ul#order_step li.step_done > a, body.cm-theme ul#order_step li.step_todo > span {
	text-transform: none; letter-spacing: 0;
	display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0; margin: 0; border: 0; background: none;
	font: 600 13px/1.2 var(--cm-font); color: var(--cm-muted); text-decoration: none; height: auto;
}
body.cm-theme ul#order_step .cm-step-num {
	display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; box-sizing: border-box; border-radius: 50%;
	border: 2px solid var(--cm-line); background: #fff; color: var(--cm-muted); font: 700 14px/1 var(--cm-font);
}
body.cm-theme ul#order_step li.step_current > *, body.cm-theme ul#order_step li.step_current_end > * { color: var(--cm-navy); }
body.cm-theme ul#order_step li.step_current .cm-step-num, body.cm-theme ul#order_step li.step_current_end .cm-step-num {
	border-color: var(--cm-primary); background: var(--cm-primary); color: #fff; box-shadow: 0 0 0 4px #dbeafe;
}
body.cm-theme ul#order_step li.step_done > a { color: var(--cm-text); }
body.cm-theme ul#order_step li.step_done > a:hover { color: var(--cm-primary); }
body.cm-theme ul#order_step li.step_done .cm-step-num {
	border-color: var(--cm-ok); background: var(--cm-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 16px;
	color: transparent;
}
@media (max-width: 600px) {
	body.cm-theme ul#order_step { padding: 14px 4px 12px; }
	body.cm-theme ul#order_step .cm-step-label { font-size: 11px; }
	body.cm-theme ul#order_step li:not(.step_current):not(.step_current_end) .cm-step-label { display: none; }
	body.cm-theme ul#order_step .cm-step-num { width: 30px; height: 30px; font-size: 13px; }
	body.cm-theme ul#order_step li::before { top: 14px; left: calc(-50% + 18px); right: calc(50% + 18px); }
}

/* --- carrello: prodotti a sinistra, riepilogo a destra ------------------ */
body.cm-theme#order #summary_products_quantity { font-weight: 700; color: var(--cm-navy); }
body.cm-theme#order #order-detail-content { width: auto; margin: 10px 0 0; border: 0; overflow: visible; }
body.cm-theme#order table#cart_summary {
	display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start;
	width: 100%; margin: 0; border: 0; background: none; border-collapse: separate;
}
body.cm-theme#order table#cart_summary thead { display: none; }
body.cm-theme#order table#cart_summary tbody { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 12px; }
body.cm-theme#order table#cart_summary tbody tr {
	display: grid; grid-template-columns: 76px auto minmax(0, 1fr) auto 104px 40px;
	grid-template-areas: "img desc desc qty total del" "img ref unit qty total del";
	align-items: center; column-gap: 14px; row-gap: 4px; padding: 14px 16px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
}
body.cm-theme#order table#cart_summary tbody td { display: block; padding: 0; border: 0; background: none; text-align: left; vertical-align: middle; }
body.cm-theme#order table#cart_summary td.cart_product { grid-area: img; }
body.cm-theme#order table#cart_summary td.cart_product a { display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 12px; background: #f8fafc; }
body.cm-theme#order table#cart_summary td.cart_product img { max-width: 64px; max-height: 64px; width: auto; height: auto; border: 0; mix-blend-mode: multiply; }
body.cm-theme#order table#cart_summary td.cart_description { grid-area: desc; align-self: end; }
body.cm-theme#order table#cart_summary td.cart_description .s_title_block { margin: 0 0 2px; font-size: 15px; font-weight: 700; line-height: 1.3; }
body.cm-theme#order table#cart_summary td.cart_description .s_title_block a { color: var(--cm-navy); text-decoration: none; }
body.cm-theme#order table#cart_summary td.cart_description .s_title_block a:hover { color: var(--cm-primary); }
body.cm-theme#order table#cart_summary td.cart_description > a { font-size: 12.5px; color: var(--cm-muted); text-decoration: none; }
body.cm-theme#order table#cart_summary td.cart_ref { grid-area: ref; align-self: start; font-size: 12.5px; color: var(--cm-muted); white-space: nowrap; }
body.cm-theme#order table#cart_summary td.cart_ref::before { content: "Rif. "; }
body.cm-theme#order table#cart_summary td.cart_ref.cm-empty { display: none; }
body.cm-theme#order table#cart_summary td.cart_unit { grid-area: unit; align-self: start; font-size: 12.5px; color: var(--cm-muted); }
body.cm-theme#order table#cart_summary td.cart_unit .price { font-weight: 600; color: var(--cm-muted); font-size: 12.5px; }
body.cm-theme#order table#cart_summary td.cart_unit::after { content: " cad."; }
body.cm-theme#order table#cart_summary td.cart_unit .old-price, body.cm-theme#order table#cart_summary td.cart_unit .price-percent-reduction { margin-left: 4px; font-size: 11.5px; }
/* quantità: − 1 + */
body.cm-theme#order table#cart_summary td.cart_quantity {
	grid-area: qty; display: flex; align-items: center; height: 40px; padding: 0 2px;
	border: 1px solid #cbd5e1; border-radius: 10px; background: #fff;
}
body.cm-theme#order table#cart_summary td.cart_quantity .cart_quantity_button { display: contents; }
body.cm-theme#order table#cart_summary td.cart_quantity br { display: none; }
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_down { order: 1; }
body.cm-theme#order table#cart_summary td.cart_quantity input.cart_quantity_input { order: 2; }
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_up { order: 3; }
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_up,
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_down {
	display: flex; align-items: center; justify-content: center; width: 32px; height: 36px; float: none; margin: 0; padding: 0;
	border-radius: 8px; color: var(--cm-navy); font: 600 18px/1 var(--cm-font); text-decoration: none;
}
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_up:hover,
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_down:hover { background: #f1f5f9; }
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_up::before { content: "+"; }
body.cm-theme#order table#cart_summary td.cart_quantity a.cart_quantity_down::before { content: "−"; }
body.cm-theme#order table#cart_summary td.cart_quantity a img { display: none; }
body.cm-theme#order table#cart_summary td.cart_quantity input.cart_quantity_input {
	width: 34px; height: 36px; margin: 0; padding: 0; border: 0; background: none; text-align: center; float: none;
	font: 600 15px/1 var(--cm-font); color: var(--cm-navy); box-shadow: none;
}
body.cm-theme#order table#cart_summary td.cart_quantity span { padding: 0 10px; font-weight: 600; }
body.cm-theme#order table#cart_summary td.cart_total { grid-area: total; text-align: right; }
body.cm-theme#order table#cart_summary td.cart_total .price { font-size: 17px; font-weight: 800; color: var(--cm-navy); }
body.cm-theme#order table#cart_summary td.cart_delete { grid-area: del; text-align: right; }
body.cm-theme#order table#cart_summary td.cart_delete a.cart_quantity_delete {
	display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px;
	font-size: 0; color: transparent; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v6M14 11v6'/%3E%3C/svg%3E") no-repeat center / 18px;
	transition: background-color .15s;
}
body.cm-theme#order table#cart_summary td.cart_delete a.cart_quantity_delete:hover {
	background-color: #fef2f2; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v6M14 11v6'/%3E%3C/svg%3E");
}
body.cm-theme#order table#cart_summary tbody tr.cart_discount, body.cm-theme#order table#cart_summary tbody tr.gift-icon { display: flex; justify-content: space-between; }

/* riepilogo */
body.cm-theme#order table#cart_summary tfoot {
	grid-column: 2; grid-row: 1; position: sticky; top: 96px; display: flex; flex-direction: column;
	padding: 20px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
	box-shadow: 0 1px 2px rgba(15,39,71,.05), 0 10px 28px rgba(15,39,71,.08);
}
body.cm-theme#order table#cart_summary tfoot::before { content: "Riepilogo ordine"; order: -1; margin: 0 0 12px; font: 800 17px/1.2 var(--cm-font); color: var(--cm-navy); }
body.cm-theme#order table#cart_summary tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 6px 0; background: none; border: 0; }
body.cm-theme#order table#cart_summary tfoot tr[style*="none"] { display: none; }
body.cm-theme#order table#cart_summary tfoot td { display: block; padding: 0; border: 0; background: none; font-size: 13.5px; color: var(--cm-muted); text-align: left; }
body.cm-theme#order table#cart_summary tfoot td.price { text-align: right; font-weight: 700; color: var(--cm-text); white-space: nowrap; }
body.cm-theme#order table#cart_summary tfoot td.price-discount { color: var(--cm-ok); }
body.cm-theme#order table#cart_summary tfoot tr.cart_total_tax { padding-bottom: 14px; border-bottom: 1px solid var(--cm-line); }
body.cm-theme#order table#cart_summary tfoot tr.cm-total-row { display: contents; }
body.cm-theme#order table#cart_summary tfoot td#total_price_container {
	order: 10; display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0 4px; background: none; border: 0;
}
body.cm-theme#order table#cart_summary tfoot td#total_price_container p { margin: 0; padding: 0; background: none; font: 700 15px/1 var(--cm-font); color: var(--cm-navy); text-transform: none; }
body.cm-theme#order table#cart_summary tfoot #total_price { font: 800 28px/1 var(--cm-font); color: var(--cm-navy); letter-spacing: -0.01em; }
body.cm-theme#order table#cart_summary tfoot tr.cm-cart-cta { order: 20; display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 0 0; }
body.cm-theme#order table#cart_summary tfoot td#cart_voucher { order: 30; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--cm-line); }
/* codice sconto */
body.cm-theme#order #cart_voucher form, body.cm-theme#order #cart_voucher fieldset { margin: 0; padding: 0; border: 0; }
body.cm-theme#order #cart_voucher fieldset { display: flex; flex-wrap: wrap; gap: 8px; }
body.cm-theme#order #cart_voucher .title_block { flex: 0 0 100%; margin: 0; padding: 0; border: 0; background: none; font-size: 13px; font-weight: 600; color: var(--cm-text); text-transform: none; }
body.cm-theme#order #cart_voucher .discount_name_block { flex: 1 1 auto; margin: 0; }
body.cm-theme#order #cart_voucher input.discount_name { width: 100%; height: 40px; box-sizing: border-box; padding: 0 12px; border: 1px solid #cbd5e1; border-radius: 10px; font: 500 14px var(--cm-font); }
body.cm-theme#order #cart_voucher p.submit { margin: 0; }
body.cm-theme#order #cart_voucher input.button {
	height: 40px; padding: 0 16px; border: 1px solid var(--cm-navy); border-radius: 10px; background: var(--cm-navy); color: #fff;
	font: 700 13px var(--cm-font); text-transform: uppercase; cursor: pointer;
}
body.cm-theme#order #cart_voucher #display_cart_vouchers { flex: 0 0 100%; margin: 4px 0 0; font-size: 12.5px; }
/* pulsante procedi */
body.cm-theme#order .cm-cart-cta td { display: flex !important; flex-direction: column; gap: 10px; }
body.cm-theme#order .cm-cart-cta a.standard-checkout {
	display: flex; align-items: center; justify-content: center; gap: 10px; height: 54px; margin: 0; padding: 0 20px; float: none;
	border: 0; border-radius: 12px; background: var(--cm-accent); color: #1e293b; font: 700 16px/1 var(--cm-font); text-decoration: none; text-transform: none;
	box-shadow: 0 8px 18px rgba(245,158,11,.32); transition: background-color .15s, transform .15s;
}
body.cm-theme#order .cm-cart-cta a.standard-checkout:hover { background: #fbbf24; transform: translateY(-1px); }
body.cm-theme#order .cm-cart-cta a.standard-checkout::after { content: "→"; font-size: 18px; }
body.cm-theme#order .cm-cart-trust { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: var(--cm-muted); }
body.cm-theme#order .cm-cart-trust li { display: flex; align-items: center; gap: 8px; }
body.cm-theme#order .cm-cart-trust li::before { content: ""; width: 15px; height: 15px; flex: 0 0 15px; background: no-repeat center / contain; }
body.cm-theme#order .cm-cart-trust .cm-t-ship::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4h14v12H1zM15 9h4l3 3v4h-7'/%3E%3Ccircle cx='5.5' cy='18' r='2'/%3E%3Ccircle cx='18.5' cy='18' r='2'/%3E%3C/svg%3E"); }
body.cm-theme#order .cm-cart-trust .cm-t-lock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
/* sotto i prodotti: continua lo shopping */
body.cm-theme#order p.cart_navigation { display: flex; justify-content: flex-start; margin: 16px 0 0; padding: 0; border: 0; background: none; }
body.cm-theme#order p.cart_navigation a.button_large {
	display: inline-flex; align-items: center; height: 40px; padding: 0 16px; float: none; margin: 0;
	border: 1px solid var(--cm-line); border-radius: 10px; background: #fff; color: var(--cm-navy); font: 600 13.5px/1 var(--cm-font); text-decoration: none;
}
body.cm-theme#order p.cart_navigation a.button_large:hover { border-color: var(--cm-primary); color: var(--cm-primary); }
body.cm-theme#order #emptyCartWarning, body.cm-theme#order p.warning { padding: 16px 18px; border: 1px solid #fde68a; border-radius: 12px; background: #fffbeb; color: #92400e; font-weight: 600; }

@media (max-width: 960px) {
	body.cm-theme#order table#cart_summary { grid-template-columns: minmax(0, 1fr); }
	body.cm-theme#order table#cart_summary tfoot { grid-column: 1; grid-row: 2; position: static; }
}
@media (max-width: 600px) {
	body.cm-theme#order table#cart_summary tbody tr {
		grid-template-columns: 64px minmax(0, 1fr) auto 36px;
		grid-template-areas: "img desc desc del" "img ref ref del" "img unit unit del" "img qty total total";
		padding: 12px; column-gap: 12px;
	}
	body.cm-theme#order table#cart_summary td.cart_product a { width: 64px; height: 64px; }
	body.cm-theme#order table#cart_summary td.cart_product img { max-width: 54px; max-height: 54px; }
	body.cm-theme#order table#cart_summary td.cart_quantity { justify-self: start; margin-top: 6px; }
	body.cm-theme#order table#cart_summary td.cart_total { align-self: end; }
	body.cm-theme#order table#cart_summary td.cart_delete { align-self: start; }
}

/* --- moduli (accesso, registrazione, indirizzi) ------------------------- */
body.cm-theme#authentication #center_column > h1 { text-align: center; }
body.cm-theme .cm-auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; max-width: 900px; margin: 0 auto; }
body.cm-theme .cm-auth-grid form.std { order: 2; width: auto; height: auto; margin: 0; float: none; }
body.cm-theme .cm-auth-grid form#login_form { order: 1; }
body.cm-theme#authentication form.std fieldset, body.cm-theme#address form.std fieldset, body.cm-theme#order form.std fieldset, body.cm-theme#identity form.std fieldset {
	height: 100%; box-sizing: border-box; margin: 0 0 16px; padding: 24px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
}
body.cm-theme .cm-auth-grid form.std fieldset { margin: 0; }
body.cm-theme#authentication form.std h3, body.cm-theme#address form.std h3, body.cm-theme#identity form.std h3 {
	margin: 0 0 6px; padding: 0; border: 0; background: none; font: 800 19px/1.25 var(--cm-font); color: var(--cm-navy); text-transform: none;
}
body.cm-theme#authentication form.std .form_content { padding: 0; }
body.cm-theme#authentication form.std p.title_block, body.cm-theme .cm-auth-sub {
	margin: 0 0 16px; padding: 0; border: 0; background: none; font: 400 14px/1.5 var(--cm-font); color: var(--cm-muted); text-transform: none;
}
body.cm-theme form.std p.text, body.cm-theme form.std p.required, body.cm-theme form.std p.password, body.cm-theme form.std p.select,
body.cm-theme form.std p.textarea, body.cm-theme form.std .birthdate {
	display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; padding: 0; float: none; width: auto;
}
body.cm-theme form.std label, body.cm-theme form.std p.text label, body.cm-theme form.std p.required label, body.cm-theme form.std p.select label, body.cm-theme form.std p.password label {
	float: none; width: auto; margin: 0; padding: 0; text-align: left; font: 600 13px/1.3 var(--cm-font); color: var(--cm-text);
}
body.cm-theme form.std p.text span, body.cm-theme form.std p.password span { display: block; }
body.cm-theme form.std input[type="text"], body.cm-theme form.std input[type="password"], body.cm-theme form.std input[type="email"],
body.cm-theme form.std input[type="tel"], body.cm-theme form.std select, body.cm-theme form.std textarea,
body.cm-theme#order textarea, body.cm-theme#order select.address_select {
	width: 100%; max-width: 520px; box-sizing: border-box; height: 44px; margin: 0; padding: 0 12px;
	border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; box-shadow: none;
	font: 500 15px/1.2 var(--cm-font); color: var(--cm-text); transition: border-color .15s, box-shadow .15s;
}
body.cm-theme form.std textarea, body.cm-theme#order textarea { height: auto; min-height: 90px; max-width: none; padding: 10px 12px; line-height: 1.5; }
body.cm-theme form.std input:focus, body.cm-theme form.std select:focus, body.cm-theme form.std textarea:focus,
body.cm-theme#order textarea:focus, body.cm-theme#order select:focus { outline: none; border-color: var(--cm-primary); box-shadow: 0 0 0 3px #dbeafe; }
body.cm-theme .cm-auth-grid input.account_input { max-width: none; }
body.cm-theme form.std sup { color: var(--cm-sale); }
body.cm-theme form.std span.form_info, body.cm-theme form.std .inline-infos { font-size: 12px; color: var(--cm-muted); }
body.cm-theme form.std p.radio, body.cm-theme form.std p.checkbox { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 12px; padding: 0; }
body.cm-theme form.std p.radio > span, body.cm-theme form.std p.radio > label:first-child { flex: 0 0 100%; font-weight: 600; }
body.cm-theme form.std p.radio input, body.cm-theme form.std p.checkbox input, body.cm-theme#order p.checkbox input { width: 18px; height: 18px; margin: 0; accent-color: var(--cm-primary); }
body.cm-theme form.std p.radio label, body.cm-theme form.std p.checkbox label { font-weight: 500; }
body.cm-theme form.std .birthdate select, body.cm-theme form.std p.select select { max-width: 160px; display: inline-block; margin-right: 6px; }
body.cm-theme form.std p.select select#id_country, body.cm-theme form.std p.select select#id_state { max-width: 520px; }
body.cm-theme#authentication p.lost_password { margin: -4px 0 16px; padding: 0; font-size: 13px; }
body.cm-theme#authentication p.lost_password a { color: var(--cm-primary); text-decoration: none; }
body.cm-theme form.std p.submit, body.cm-theme form.std p.submit2, body.cm-theme form.std p.cart_navigation { margin: 6px 0 0; padding: 0; text-align: left; }
body.cm-theme form.std p.required.required_desc, body.cm-theme form.std p.required_desc { font-size: 12px; color: var(--cm-muted); }
/* pulsanti dei moduli */
body.cm-theme form.std input.button, body.cm-theme form.std input.button_large, body.cm-theme form.std input.exclusive, body.cm-theme form.std a.button_large {
	display: inline-flex; align-items: center; justify-content: center; width: auto; height: 48px; margin: 0; padding: 0 24px; cursor: pointer;
	border: 0; border-radius: 12px; background: var(--cm-primary); color: #fff; font: 700 15px/1 var(--cm-font); text-transform: none; text-decoration: none;
	box-shadow: 0 6px 14px rgba(28,91,185,.22); transition: background-color .15s;
}
body.cm-theme form.std input.button:hover, body.cm-theme form.std input.button_large:hover, body.cm-theme form.std input.exclusive:hover { background: #164a99; }
body.cm-theme .cm-auth-grid form#login_form input.button, body.cm-theme .cm-auth-grid form#create-account_form input.button_large { width: 100%; }
body.cm-theme .cm-auth-grid form#create-account_form input.button_large { background: #fff; color: var(--cm-navy); border: 2px solid var(--cm-navy); box-shadow: none; }
body.cm-theme .cm-auth-grid form#create-account_form input.button_large:hover { background: var(--cm-navy); color: #fff; }
body.cm-theme .cm-auth-perks { display: flex; flex-direction: column; gap: 8px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--cm-line); list-style: none; font-size: 13.5px; color: var(--cm-text); }
body.cm-theme .cm-auth-perks li { display: flex; align-items: center; gap: 10px; }
body.cm-theme .cm-auth-perks li::before {
	content: ""; width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%;
	background: #dcfce7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 11px;
}
body.cm-theme#authentication form#account-creation_form, body.cm-theme#address form.std, body.cm-theme#authentication form#new_account_form { max-width: 720px; margin: 0 auto; }
body.cm-theme#authentication .error, body.cm-theme#order .error, body.cm-theme#address .error {
	margin: 0 auto 16px; padding: 14px 18px; border: 1px solid #fecaca; border-radius: 12px; background: #fef2f2; color: #991b1b; font-size: 14px;
}
body.cm-theme#authentication .error ol, body.cm-theme#order .error ol { margin: 6px 0 0 18px; padding: 0; }

/* --- navigazione tra i passi: Indietro / Continua ------------------------ */
body.cm-theme#order p.cart_navigation.submit, body.cm-theme#order form p.cart_navigation {
	display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 12px;
	margin: 22px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid var(--cm-line); background: none;
}
body.cm-theme#order p.cart_navigation input.exclusive, body.cm-theme#order p.cart_navigation .exclusive_large {
	display: inline-flex; align-items: center; height: 54px; margin: 0; padding: 0 28px; float: none; cursor: pointer;
	border: 0; border-radius: 12px; background: var(--cm-accent); color: #1e293b; font: 700 16px/1 var(--cm-font); text-transform: none;
	box-shadow: 0 8px 18px rgba(245,158,11,.32); transition: background-color .15s;
}
body.cm-theme#order p.cart_navigation input.exclusive:hover { background: #fbbf24; }
body.cm-theme#order p.cart_navigation a.button, body.cm-theme#order p.cart_navigation a.button_large {
	display: inline-flex; align-items: center; height: 44px; margin: 0; padding: 0 18px; float: none;
	border: 1px solid var(--cm-line); border-radius: 10px; background: #fff; color: var(--cm-navy); font: 600 14px/1 var(--cm-font); text-decoration: none; text-transform: none;
}
body.cm-theme#order p.cart_navigation a.button:hover { border-color: var(--cm-primary); color: var(--cm-primary); }

/* --- passo 3: indirizzi --------------------------------------------------- */
body.cm-theme#order .addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; width: auto; margin: 0; padding: 0; }
body.cm-theme#order .addresses > * { grid-column: 1 / -1; margin: 0; float: none; width: auto; }
body.cm-theme#order .addresses p.address_delivery, body.cm-theme#order .addresses #address_invoice_form { display: flex; flex-direction: column; gap: 6px; }
body.cm-theme#order .addresses p.address_delivery { grid-column: 1; }
body.cm-theme#order .addresses #address_invoice_form { grid-column: 2; }
body.cm-theme#order .addresses label { float: none; width: auto; margin: 0; text-align: left; font: 600 13.5px/1.3 var(--cm-font); color: var(--cm-text); }
body.cm-theme#order .addresses p.addressesAreEquals { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--cm-line); border-radius: 12px; background: #fff; }
body.cm-theme#order .addresses p.addressesAreEquals input { width: 18px; height: 18px; margin: 0; accent-color: var(--cm-primary); }
body.cm-theme#order .addresses p.addressesAreEquals label { font-weight: 500; }
body.cm-theme#order .addresses > .clearfix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body.cm-theme#order .addresses > .clearfix::before, body.cm-theme#order .addresses > .clearfix::after { display: none; }
body.cm-theme#order ul.address {
	float: none; width: auto; height: auto; min-height: 0; margin: 0; padding: 20px 22px; list-style: none;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 16px; font-size: 14px; line-height: 1.6; color: var(--cm-text);
}
body.cm-theme#order ul.address#address_delivery { border-color: #bfdbfe; box-shadow: 0 0 0 1px #bfdbfe inset; }
body.cm-theme#order ul.address li { margin: 0; padding: 0; background: none; border: 0; font-weight: 400; }
body.cm-theme#order ul.address li.address_title {
	display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 0 0 10px; border-bottom: 1px solid var(--cm-line);
	background: none; font: 800 15px/1.3 var(--cm-font); color: var(--cm-navy); text-transform: none;
}
body.cm-theme#order ul.address li.address_title::before {
	content: ""; width: 18px; height: 18px; flex: 0 0 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-7.6 8-13a8 8 0 1 0-16 0c0 5.4 8 13 8 13z'/%3E%3Ccircle cx='12' cy='9' r='3'/%3E%3C/svg%3E") no-repeat center / contain;
}
body.cm-theme#order ul.address li.address_name, body.cm-theme#order ul.address li.address_firstname, body.cm-theme#order ul.address li.address_lastname { font-weight: 700; color: var(--cm-navy); }
body.cm-theme#order ul.address li.address_update { margin: 12px 0 0; }
body.cm-theme#order ul.address li.address_update a {
	display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--cm-line); border-radius: 9px;
	background: #fff; color: var(--cm-primary); font: 600 13px/1 var(--cm-font); text-decoration: none;
}
body.cm-theme#order ul.address li.address_update a:hover { border-color: var(--cm-primary); background: #eff6ff; }
body.cm-theme#order .addresses p.address_add { margin: 0; text-align: left; }
body.cm-theme#order .addresses p.address_add a.button_large, body.cm-theme#order #address_invoice_form a.button_large {
	display: inline-flex; align-items: center; gap: 8px; height: 42px; margin: 0 !important; padding: 0 16px; float: none;
	border: 1px dashed #93c5fd; border-radius: 10px; background: #eff6ff; color: var(--cm-primary); font: 700 14px/1 var(--cm-font); text-decoration: none; text-transform: none;
}
body.cm-theme#order .addresses p.address_add a.button_large::before { content: "+"; font-size: 18px; }
body.cm-theme#order #ordermsg, body.cm-theme#order #message { margin: 0; }
body.cm-theme#order #ordermsg p.txt, body.cm-theme#order .order_carrier_content > h3 + div > p { margin: 0 0 8px; font-size: 13.5px; color: var(--cm-muted); }

/* --- passo 4: spedizione -------------------------------------------------- */
body.cm-theme#order .order_carrier_content { margin: 0; padding: 0; border: 0; background: none; }
body.cm-theme#order .order_carrier_content h3, body.cm-theme#order .order_carrier_content .carrier_title,
body.cm-theme#order h3.condition_title, body.cm-theme#order h3.gift_title, body.cm-theme#order #form > h3 {
	margin: 22px 0 10px; padding: 0; border: 0; background: none; font: 800 17px/1.3 var(--cm-font); color: var(--cm-navy); text-transform: none;
}
body.cm-theme#order .order_carrier_content > h3:first-child { margin-top: 0; }
body.cm-theme#order .delivery_options { display: flex; flex-direction: column; gap: 10px; }
body.cm-theme#order .delivery_option {
	position: relative; display: flex; align-items: center; gap: 14px; margin: 0; padding: 14px 18px;
	background: #fff; border: 2px solid var(--cm-line); border-radius: 14px; cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
body.cm-theme#order .delivery_option:hover { border-color: #93c5fd; }
body.cm-theme#order .delivery_option:has(input:checked) { border-color: var(--cm-primary); box-shadow: 0 0 0 3px #dbeafe; }
body.cm-theme#order .delivery_option input.delivery_option_radio { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: var(--cm-primary); }
body.cm-theme#order .delivery_option > label { flex: 1 1 auto; display: block; margin: 0; cursor: pointer; }
body.cm-theme#order .delivery_option table.resume { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: none; }
body.cm-theme#order .delivery_option table.resume td { padding: 0 8px; border: 0; background: none; vertical-align: middle; }
body.cm-theme#order .delivery_option td.delivery_option_logo { width: 70px; padding-left: 0; }
body.cm-theme#order .delivery_option td.delivery_option_logo img { max-width: 64px; max-height: 40px; }
body.cm-theme#order .delivery_option .delivery_option_title { font: 700 15px/1.3 var(--cm-font); color: var(--cm-navy); }
body.cm-theme#order .delivery_option .delivery_option_delay { margin-top: 2px; font-size: 13px; color: var(--cm-muted); }
body.cm-theme#order .delivery_option .delivery_option_icon { display: inline-block; margin-top: 6px; padding: 3px 8px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 11.5px; font-weight: 700; }
body.cm-theme#order .delivery_option .delivery_option_price { text-align: right; font: 800 16px/1.2 var(--cm-font); color: var(--cm-navy); white-space: nowrap; }
body.cm-theme#order .delivery_option table.delivery_option_carrier { display: none; }
body.cm-theme#order #form p.checkbox, body.cm-theme#order .order_carrier_content p.checkbox {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; padding: 14px 16px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 12px; font-size: 14px;
}
body.cm-theme#order p.checkbox label { margin: 0; font-weight: 500; }
body.cm-theme#order p.checkbox a.iframe { color: var(--cm-primary); font-weight: 600; text-decoration: none; }
body.cm-theme#order #gift_div { margin: 10px 0 0; }

/* --- passo 5: pagamento --------------------------------------------------- */
body.cm-theme#order .paiement_block { display: flex; flex-direction: column; gap: 0; }
body.cm-theme#order table#cart_summary td.cart_availability { display: none; }
body.cm-theme#order #HOOK_PAYMENT { order: -1; display: flex; flex-direction: column; gap: 10px; margin: 0 0 24px; }
body.cm-theme#order #HOOK_PAYMENT::before { content: "Scegli come pagare"; font: 800 19px/1.3 var(--cm-font); color: var(--cm-navy); margin: 0 0 4px; }
body.cm-theme#order #HOOK_PAYMENT p.payment_module { margin: 0; padding: 0; }
body.cm-theme#order #HOOK_PAYMENT p.payment_module a {
	position: relative; display: flex; align-items: center; gap: 16px; min-height: 64px; padding: 14px 52px 14px 18px; box-sizing: border-box;
	background: #fff; border: 2px solid var(--cm-line); border-radius: 14px; color: var(--cm-navy);
	font: 700 15px/1.35 var(--cm-font); text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s;
}
body.cm-theme#order #HOOK_PAYMENT p.payment_module a:hover { border-color: var(--cm-primary); box-shadow: 0 0 0 3px #dbeafe; transform: translateY(-1px); }
body.cm-theme#order #HOOK_PAYMENT p.payment_module a::after {
	content: "→"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 20px; color: var(--cm-primary);
}
body.cm-theme#order #HOOK_PAYMENT p.payment_module a img { flex: 0 0 auto; max-width: 110px; max-height: 44px; width: auto; height: auto; margin: 0; float: none; }
body.cm-theme#order #HOOK_PAYMENT p.payment_module a span { font-weight: 500; color: var(--cm-muted); }

@media (max-width: 760px) {
	body.cm-theme .cm-auth-grid { grid-template-columns: minmax(0, 1fr); }
	body.cm-theme#order .addresses, body.cm-theme#order .addresses > .clearfix { grid-template-columns: minmax(0, 1fr); }
	body.cm-theme#order .addresses #address_invoice_form { grid-column: 1; }
	body.cm-theme#order p.cart_navigation.submit, body.cm-theme#order form p.cart_navigation { flex-direction: column-reverse; align-items: stretch; }
	body.cm-theme#order p.cart_navigation input.exclusive, body.cm-theme#order p.cart_navigation a.button { justify-content: center; width: 100%; }
	body.cm-theme#order .delivery_option table.resume tr { display: grid; grid-template-columns: auto 1fr; }
	body.cm-theme#order .delivery_option table.resume td:last-child { grid-column: 1 / -1; padding: 6px 0 0; }
	body.cm-theme#order .delivery_option .delivery_option_price { text-align: left; }
}

/* moduli: regole con ID per superare authentication.css / address.css del tema base */
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) { width: auto; height: auto; float: none; }
body.cm-theme #columns .cm-auth-grid :is(#login_form, #create-account_form) { margin: 0; }
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) fieldset {
	width: auto; height: auto; box-sizing: border-box; margin: 0 0 16px; padding: 24px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
}
body.cm-theme #columns .cm-auth-grid :is(#login_form, #create-account_form) fieldset { height: 100%; margin: 0; }
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) .form_content { width: auto; height: auto; padding: 0; }
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) h3 {
	width: auto; height: auto; margin: 0 0 6px; padding: 0; border: 0; background: none; font: 800 19px/1.25 var(--cm-font); color: var(--cm-navy); text-transform: none;
}
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) :is(p.text, p.required, p.password, p.select, p.textarea) {
	display: flex; flex-direction: column; gap: 6px; width: auto; margin: 0 0 14px; padding: 0; float: none;
}
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) label {
	float: none; width: auto; margin: 0; padding: 0; text-align: left; font: 600 13px/1.3 var(--cm-font); color: var(--cm-text);
}
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) :is(input[type="text"], input[type="password"], input[type="email"], select, textarea) {
	width: 100%; max-width: 520px; box-sizing: border-box; height: 44px; margin: 0; padding: 0 12px;
	border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; box-shadow: none; font: 500 15px/1.2 var(--cm-font); color: var(--cm-text);
}
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) textarea { height: auto; min-height: 90px; padding: 10px 12px; }
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) :is(input, select, textarea):focus { outline: none; border-color: var(--cm-primary); box-shadow: 0 0 0 3px #dbeafe; }
body.cm-theme #columns .cm-auth-grid :is(#login_form, #create-account_form) input.account_input { max-width: none; }
body.cm-theme #columns :is(#account-creation_form, #new_account_form, #add_address) :is(p.radio, p.checkbox) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 12px; padding: 0; }
body.cm-theme #columns :is(#account-creation_form, #new_account_form, #add_address) :is(p.radio, p.checkbox) label { font-weight: 500; }
body.cm-theme #columns :is(#account-creation_form, #new_account_form, #add_address) :is(p.radio, p.checkbox) > span:first-child { flex: 0 0 100%; font-weight: 600; font-size: 13px; }
body.cm-theme #columns :is(#account-creation_form, #new_account_form, #add_address) :is(input[type="radio"], input[type="checkbox"]) { width: 18px; height: 18px; margin: 0; accent-color: var(--cm-primary); }
body.cm-theme #columns :is(#account-creation_form, #new_account_form) :is(p.select, .birthdate) select { display: inline-block; width: auto; min-width: 90px; max-width: 170px; margin-right: 6px; }
body.cm-theme #columns :is(#account-creation_form, #new_account_form, #add_address) select:is(#id_country, #id_state) { max-width: 520px; width: 100%; }
body.cm-theme #columns :is(#login_form, #create-account_form, #account-creation_form, #new_account_form, #add_address) :is(input.button, input.button_large, input.exclusive) {
	display: inline-flex; align-items: center; justify-content: center; width: auto; height: 48px; margin: 0; padding: 0 24px; cursor: pointer;
	border: 0; border-radius: 12px; background: var(--cm-primary); color: #fff; font: 700 15px/1 var(--cm-font); text-transform: none;
	box-shadow: 0 6px 14px rgba(28,91,185,.22);
}
body.cm-theme #columns .cm-auth-grid :is(#login_form, #create-account_form) :is(input.button, input.button_large) { width: 100%; }
body.cm-theme #columns .cm-auth-grid #create-account_form input.button_large { background: #fff; color: var(--cm-navy); border: 2px solid var(--cm-navy); box-shadow: none; }
body.cm-theme #columns .cm-auth-grid #create-account_form input.button_large:hover { background: var(--cm-navy); color: #fff; }
body.cm-theme #columns :is(#login_form, #create-account_form) p.submit { margin: 6px 0 0; padding: 0; }
body.cm-theme #columns :is(#login_form, #create-account_form) :is(p.submit, input.button, input.button_large) { float: none; }
body.cm-theme .cm-auth-perks { clear: both; }

/* riferimento: il codice stesso si copia con un clic */
body.cm-theme#product #pb-left-column #product_reference .cm-ref-code {
	position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; margin: -4px 0;
	border: 1px dashed #cbd5e1; border-radius: 8px; background: #fff; cursor: pointer; transition: border-color .15s, background-color .15s;
}
body.cm-theme#product #pb-left-column #product_reference .cm-ref-code::after {
	content: ""; width: 13px; height: 13px; flex: 0 0 13px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E") no-repeat center / contain;
}
body.cm-theme#product #pb-left-column #product_reference .cm-ref-code:hover,
body.cm-theme#product #pb-left-column #product_reference .cm-ref-code:focus { outline: none; border-color: var(--cm-primary); background: #eff6ff; }
body.cm-theme#product #pb-left-column #product_reference .cm-ref-code.cm-copied { border-style: solid; border-color: #86efac; background: #f0fdf4; }
body.cm-theme#product #pb-left-column #product_reference .cm-ref-code.cm-copied::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
body.cm-theme#product #pb-left-column #product_reference .cm-ref-code.cm-copied::before {
	content: "Copiato"; position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%);
	padding: 3px 8px; border-radius: 6px; background: var(--cm-navy); color: #fff; font: 600 11.5px/1.2 var(--cm-font); letter-spacing: 0; white-space: nowrap;
}
body.cm-theme .cm-copy-ref { display: none; }

/* colori: pallino scelto sempre evidenziato, niente lampeggio dell'animazione di PrestaShop */
body.cm-theme #pb-left-column #buy_block #color_to_pick_list a.color_pick { opacity: 1 !important; }
body.cm-theme #pb-left-column #buy_block #color_to_pick_list li.selected a.color_pick,
body.cm-theme #pb-left-column #buy_block #color_to_pick_list a.color_pick.selected { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--cm-primary); }

/* testi descrizione prodotto */
body.cm-theme#product #short_description_block, body.cm-theme#product #short_description_content,
body.cm-theme#product #short_description_content :is(p, li, span, div, td, strong, b, em),
body.cm-theme#product #more_info_sheets #idTab1, body.cm-theme#product #more_info_sheets #idTab1 :is(p, li, span, div, td, strong, b, em, h2, h3, h4) { color: #1c222b; }

/* prezzo scontato */
body.cm-theme #pb-left-column #buy_block .cm-buy-price .price { display: flex; flex-direction: column; align-items: flex-start; }
body.cm-theme #pb-left-column #buy_block .cm-price-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
body.cm-theme #pb-left-column #buy_block .cm-price-line #old_price {
	order: 0; float: none; margin: 0; padding: 0; background: none; border: 0;
	font: 600 19px/1 var(--cm-font); color: #94a3b8; text-decoration: line-through; text-decoration-thickness: 1.5px;
}
body.cm-theme #pb-left-column #buy_block .cm-price-line #old_price .bold, body.cm-theme #pb-left-column #buy_block .cm-price-line #old_price span { font: inherit; color: inherit; }
body.cm-theme #pb-left-column #buy_block .cm-buy-price p.our_price_display { margin: 6px 0 0; }
body.cm-theme #pb-left-column #buy_block .cm-sale-line { display: inline-flex; align-items: stretch; margin: 10px 0 0; }
body.cm-theme #pb-left-column #buy_block .cm-sale-line:not(:has(> :not([style*="none"]))) { display: none; }
body.cm-theme #pb-left-column #buy_block .cm-sale-line :is(.discount, .on_sale) {
	display: flex; align-items: center; margin: 0; padding: 6px 10px; border: 1px solid #fecaca; border-right: 0; border-radius: 8px 0 0 8px;
	background: #fef2f2; color: #b91c1c; font: 700 12.5px/1 var(--cm-font); text-transform: none; letter-spacing: 0;
}
body.cm-theme #pb-left-column #buy_block .cm-sale-line :is(#reduction_percent, #reduction_amount) {
	display: flex; align-items: center; float: none; width: auto; height: auto; margin: 0; padding: 6px 10px;
	border: 0; border-radius: 0 8px 8px 0; background: #dc2626 none; color: #fff; font: 800 13px/1 var(--cm-font);
}
body.cm-theme #pb-left-column #buy_block .cm-sale-line:not(.cm-has-label) :is(#reduction_percent, #reduction_amount) { border-radius: 8px; }
body.cm-theme #pb-left-column #buy_block .cm-sale-line :is(#reduction_percent, #reduction_amount) span { color: #fff; font: inherit; background: none; }

/* carrello: misure corrette di quantità ed elimina, niente righe "Totale (tasse escl.)" e "Totale tasse" */
body.cm-theme#order table#cart_summary tbody td { width: auto; min-width: 0; height: auto; }
body.cm-theme#order table#cart_summary tbody td.cart_quantity { justify-self: center; width: max-content; padding: 0 2px; }
body.cm-theme#order table#cart_summary tbody td.cart_delete { justify-self: end; width: 36px; }
body.cm-theme#order table#cart_summary tbody td.cart_delete > div { display: block; width: 36px; }
body.cm-theme#order table#cart_summary td.cart_delete a.cart_quantity_delete { padding: 0; background-color: transparent; }
body.cm-theme#order table#cart_summary tfoot tr:has(#total_price_without_tax),
body.cm-theme#order table#cart_summary tfoot tr.cart_total_tax,
body.cm-theme#order table#cart_summary tfoot tr.cm-hide-row { display: none !important; }
body.cm-theme#order table#cart_summary tfoot td#total_price_container { margin-top: 8px; border-top: 1px solid var(--cm-line); }
@media (max-width: 600px) {
	body.cm-theme#order table#cart_summary tbody td.cart_quantity { justify-self: start; }
}

/* intestazione: numero prodotti nel carrello sempre aggiornato */
body.cm-theme #header_user #shopping_cart .ajax_cart_quantity.hidden { display: none; }
body.cm-theme #header_user #shopping_cart .ajax_cart_quantity.cm-has-items { display: block !important; }

/* pagina "Dove siamo" */
body.cm-theme .cm-store { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 20px; align-items: stretch; margin: 0 0 24px; }
body.cm-theme .cm-store-info { display: flex; flex-direction: column; gap: 14px; padding: 24px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px; }
body.cm-theme .cm-store-info h2 { margin: 0; padding: 0; border: 0; background: none; font: 800 20px/1.25 var(--cm-font); color: var(--cm-navy); text-transform: none; }
body.cm-theme .cm-store-list { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
body.cm-theme .cm-store-list .cm-si { position: relative; margin: 0; padding: 0 0 0 46px; min-height: 34px; background: none; font-size: 15px; line-height: 1.45; color: #1c222b; }
body.cm-theme .cm-store-list .cm-si::before {
	content: ""; position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 10px;
	background: #eff6ff no-repeat center / 18px;
}
body.cm-theme .cm-store-list .cm-si-pin::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-7.6 8-13a8 8 0 1 0-16 0c0 5.4 8 13 8 13z'/%3E%3Ccircle cx='12' cy='9' r='3'/%3E%3C/svg%3E"); }
body.cm-theme .cm-store-list .cm-si-phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
body.cm-theme .cm-store-list .cm-si-mobile::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
body.cm-theme .cm-store-list .cm-si-mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
body.cm-theme .cm-store-list .cm-si-label { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cm-muted); }
body.cm-theme .cm-store-list a { color: var(--cm-navy); font-weight: 600; text-decoration: none; }
body.cm-theme .cm-store-list a:hover { color: var(--cm-primary); }
body.cm-theme .cm-store-btn {
	display: flex; align-items: center; justify-content: center; height: 48px; margin-top: auto; border-radius: 12px;
	background: var(--cm-primary); color: #fff; font: 700 15px/1 var(--cm-font); text-decoration: none;
}
body.cm-theme .cm-store-btn:hover { background: #164a99; color: #fff; }
body.cm-theme .cm-store-link { text-align: center; font-size: 14px; font-weight: 600; color: var(--cm-primary); text-decoration: none; }
body.cm-theme .cm-store-map { min-height: 420px; overflow: hidden; border: 1px solid var(--cm-line); border-radius: 16px; background: #e2e8f0; }
body.cm-theme .cm-store-map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
@media (max-width: 760px) {
	body.cm-theme .cm-store { grid-template-columns: minmax(0, 1fr); }
	body.cm-theme .cm-store-map, body.cm-theme .cm-store-map iframe { min-height: 320px; }
}
body.cm-theme#order table#cart_summary td.cart_ref.cm-empty + td.cart_unit { grid-column: 2 / 4; }
@media (max-width: 600px) { body.cm-theme#order table#cart_summary td.cart_ref.cm-empty + td.cart_unit { grid-column: 2 / 4; grid-row: 2; } }
/* "Dove siamo": più spazio alla mappa */
body.cm-theme#stores #right_column { display: none !important; }

/* ==========================================================================
   CONTATTACI
   ========================================================================== */
body.cm-theme#contact #right_column { display: none !important; }
body.cm-theme#contact #center_column > p.bold { margin: 0 0 18px; font-weight: 500; color: var(--cm-muted); }
body.cm-theme .cm-contact { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 20px; align-items: start; }
body.cm-theme .cm-contact-info { display: flex; flex-direction: column; gap: 14px; padding: 24px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px; }
body.cm-theme .cm-contact-info h2 { margin: 0; padding: 0; border: 0; background: none; font: 800 19px/1.25 var(--cm-font); color: var(--cm-navy); text-transform: none; }
body.cm-theme .cm-contact-info > p { margin: 0; padding: 0; font-size: 14px; line-height: 1.5; color: var(--cm-muted); }
body.cm-theme .cm-contact-info .cm-store-list a { color: var(--cm-navy); font-weight: 600; text-decoration: none; }
body.cm-theme .cm-contact-info .cm-store-list a:hover { color: var(--cm-primary); }
body.cm-theme#contact #center_column form.std { width: auto; margin: 0; }
body.cm-theme#contact #center_column form.std fieldset {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; align-items: start;
	margin: 0; padding: 26px 28px 28px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
}
body.cm-theme#contact #center_column form.std fieldset > * { grid-column: 1 / -1; min-width: 0; }
body.cm-theme#contact #center_column form.std h3 {
	margin: 0 0 18px; padding: 0; border: 0; background: none; font: 800 19px/1.25 var(--cm-font); color: var(--cm-navy); text-transform: none;
}
body.cm-theme#contact #center_column form.std :is(p.text, p.select, p.textarea) {
	display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; padding: 0;
}
body.cm-theme#contact #center_column form.std p:has(> #email), body.cm-theme#contact #center_column form.std p:has(> #id_order),
body.cm-theme#contact #center_column form.std p:has(> select[name="id_order"]) { grid-column: span 1; }
body.cm-theme#contact #center_column form.std :is(p.text, p.select, p.textarea) label, body.cm-theme#contact #center_column form.std p.select span {
	display: block; width: auto; margin: 0; padding: 0; text-align: left; font: 600 13px/1.3 var(--cm-font); color: var(--cm-text);
}
body.cm-theme#contact #center_column form.std :is(input[type="text"], input[type="email"], select, textarea) {
	width: 100%; max-width: none; box-sizing: border-box; height: 46px; margin: 0; padding: 0 12px;
	border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; box-shadow: none;
	font: 500 15px/1.2 var(--cm-font); color: #1c222b;
}
body.cm-theme#contact #center_column form.std textarea { height: auto; min-height: 170px; padding: 12px; line-height: 1.5; resize: vertical; }
body.cm-theme#contact #center_column form.std :is(input, select, textarea):focus { outline: none; border-color: var(--cm-primary); box-shadow: 0 0 0 3px #dbeafe; }
body.cm-theme#contact #center_column form.std input[type="file"] {
	width: 100%; height: auto; box-sizing: border-box; padding: 8px; border: 1px dashed #cbd5e1; border-radius: 10px; background: #f8fafc; font: 500 13.5px var(--cm-font); color: var(--cm-muted);
}
body.cm-theme#contact #center_column form.std input[type="file"]::file-selector-button {
	margin-right: 12px; padding: 8px 14px; border: 1px solid var(--cm-line); border-radius: 8px; background: #fff; color: var(--cm-navy); font: 600 13px var(--cm-font); cursor: pointer;
}
body.cm-theme#contact #center_column form.std p.desc_contact { margin: -8px 0 16px; padding: 0; text-align: left; font-size: 13px; line-height: 1.45; color: var(--cm-muted); }
body.cm-theme#contact #center_column form.std p#desc_contact0 { display: none !important; }
body.cm-theme#contact #center_column form.std #captcha-box { grid-column: 1 / -1; margin: 4px 0 0; }
body.cm-theme#contact #center_column form.std p.submit { grid-column: 1 / -1; justify-self: start; margin: 22px 0 0; padding: 0; }
body.cm-theme#contact #center_column form.std p.submit input {
	display: inline-flex; align-items: center; justify-content: center; height: 52px; margin: 0; padding: 0 40px; cursor: pointer;
	border: 0; border-radius: 12px; background: var(--cm-primary); color: #fff; font: 700 16px/1 var(--cm-font); text-transform: none;
	box-shadow: 0 6px 14px rgba(28,91,185,.22);
}
body.cm-theme#contact #center_column form.std p.submit input:hover { background: #164a99; }
body.cm-theme#contact #center_column :is(p.success, .error) { margin: 0 0 16px; padding: 14px 18px; border-radius: 12px; font-size: 14px; }
body.cm-theme#contact #center_column p.success { border: 1px solid #bbf7d0; background: #f0fdf4; color: #166534; }
body.cm-theme#contact #center_column .error { border: 1px solid #fecaca; background: #fef2f2; color: #991b1b; }
@media (max-width: 900px) {
	body.cm-theme .cm-contact { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	body.cm-theme#contact #center_column form.std fieldset { grid-template-columns: minmax(0, 1fr); padding: 20px; }
	body.cm-theme#contact #center_column form.std :is(p:has(> #email), p:has(> #id_order), #captcha-box, p.submit) { grid-column: 1 / -1; }
	body.cm-theme#contact #center_column form.std p.submit { justify-self: stretch; margin-top: 16px; }
	body.cm-theme#contact #center_column form.std p.submit input { width: 100%; }
}

body.cm-theme#contact #center_column form.std { max-width: 820px; }

/* ==========================================================================
   PASSWORD DIMENTICATA
   ========================================================================== */
body.cm-theme#password #left_column, body.cm-theme#password #right_column, body.cm-theme#password #cm-mobile-tools { display: none !important; }
body.cm-theme#password #center_column { flex: 1 1 auto; max-width: 520px; margin: 0 auto; }
body.cm-theme#password #center_column > h1 { margin: 6px 0 10px; text-align: center; font-size: 28px; }
body.cm-theme#password #center_column > p:not(.clear):not(.success) { margin: 0 0 20px; padding: 0; text-align: center; font-size: 15px; line-height: 1.55; color: var(--cm-muted); }
body.cm-theme#password #center_column #form_forgotpassword { width: auto; margin: 0; }
body.cm-theme#password #center_column #form_forgotpassword fieldset {
	width: auto; height: auto; margin: 0; padding: 26px 28px; background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
	box-shadow: 0 1px 2px rgba(15,39,71,.05), 0 10px 28px rgba(15,39,71,.08);
}
body.cm-theme#password #center_column #form_forgotpassword p.text { display: flex; flex-direction: column; gap: 6px; margin: 0 0 18px; padding: 0; }
body.cm-theme#password #center_column #form_forgotpassword p.text label {
	display: block; float: none; width: auto; margin: 0; padding: 0; text-align: left; font: 600 13px/1.3 var(--cm-font); color: var(--cm-text);
}
body.cm-theme#password #center_column #form_forgotpassword p.text input {
	width: 100%; max-width: none; box-sizing: border-box; height: 48px; margin: 0; padding: 0 14px;
	border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; box-shadow: none; font: 500 15px/1.2 var(--cm-font); color: #1c222b;
}
body.cm-theme#password #center_column #form_forgotpassword p.text input:focus { outline: none; border-color: var(--cm-primary); box-shadow: 0 0 0 3px #dbeafe; }
body.cm-theme#password #center_column #form_forgotpassword p.submit { margin: 0; padding: 0; }
body.cm-theme#password #center_column #form_forgotpassword p.submit input {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; margin: 0; padding: 0 20px; float: none; cursor: pointer;
	border: 0; border-radius: 12px; background: var(--cm-primary); color: #fff; font: 700 16px/1 var(--cm-font); text-transform: none;
	box-shadow: 0 6px 14px rgba(28,91,185,.22);
}
body.cm-theme#password #center_column #form_forgotpassword p.submit input:hover { background: #164a99; }
body.cm-theme#password #center_column > p.clear { display: flex; justify-content: center; margin: 18px 0 0; padding: 0; }
body.cm-theme#password #center_column > p.clear a:first-child { display: none; }
body.cm-theme#password #center_column > p.clear a { font-size: 14px; font-weight: 600; color: var(--cm-primary); text-decoration: none; }
body.cm-theme#password #center_column > p.clear a::before { content: "\2190  "; }
body.cm-theme#password #center_column p.success { margin: 0 0 16px; padding: 14px 18px; border: 1px solid #bbf7d0; border-radius: 12px; background: #f0fdf4; color: #166534; font-size: 14px; }
body.cm-theme#password #center_column .error { margin: 0 0 16px; padding: 14px 18px; border: 1px solid #fecaca; border-radius: 12px; background: #fef2f2; color: #991b1b; font-size: 14px; }

/* ==========================================================================
   CATEGORIE: intestazione, sotto-categorie, barra ordina/mostra/confronta, pagine
   ========================================================================== */
body.cm-theme#category #right_column { display: none !important; }
body.cm-theme#category #center_column > h1 { margin: 4px 0 4px; font-size: 28px; line-height: 1.2; }
body.cm-theme#category #center_column .resumecat { margin: 0 0 16px; padding: 0; border: 0; background: none; font-size: 14px; color: var(--cm-muted); }
body.cm-theme#category #center_column .content_scene_cat {
	display: flex; flex-direction: column; gap: 14px; margin: 0 0 24px; padding: 20px 22px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 16px;
}
body.cm-theme#category #center_column .content_scene_cat .align_center { margin: 0; text-align: center; }
body.cm-theme#category #center_column .content_scene_cat #categoryImage { display: block; width: auto; max-width: 100%; height: auto; max-height: 170px; margin: 0 auto; border-radius: 10px; object-fit: contain; }
body.cm-theme#category #center_column .content_scene_cat .cat_desc { margin: 0; padding: 0; }
body.cm-theme#category #center_column .content_scene_cat .cat_desc p { margin: 0; padding: 0; font-size: 14.5px; line-height: 1.6; color: #1c222b; }
body.cm-theme#category #center_column .content_scene_cat .lnk_more {
	display: inline-flex; align-items: center; gap: 4px; margin: 8px 0 0; padding: 0; background: none;
	font-size: 14px; font-weight: 700; color: var(--cm-primary); text-decoration: none;
}
body.cm-theme#category #center_column .content_scene_cat .lnk_more::after { content: "\2193"; font-size: 13px; }

/* sotto-categorie: schede con immagine, nome e descrizione */
body.cm-theme#category #center_column #subcategories { margin: 0 0 26px; padding: 0; border: 0; background: none; }
body.cm-theme#category #center_column #subcategories h3 {
	height: auto; margin: 0 0 12px; padding: 0; border: 0; background: none;
	font: 800 18px/1.25 var(--cm-font); color: var(--cm-navy); text-transform: none; letter-spacing: 0;
}
body.cm-theme#category #center_column #subcategories ul.inline_list {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none;
}
body.cm-theme#category #center_column #subcategories ul.inline_list::before, body.cm-theme#category #center_column #subcategories ul.inline_list::after,
body.cm-theme#category #center_column #subcategories li::before, body.cm-theme#category #center_column #subcategories li::after,
body.cm-theme#category #center_column #subcategories br.clear { display: none; }
body.cm-theme#category #center_column #subcategories li {
	position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 14px; row-gap: 4px; align-items: start;
	float: none; width: auto; height: auto; min-height: 0; margin: 0; padding: 14px 16px; text-align: left;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 14px; transition: border-color .15s, box-shadow .15s, transform .15s;
}
body.cm-theme#category #center_column #subcategories li:hover { border-color: #93c5fd; box-shadow: 0 10px 24px rgba(15,39,71,.08); transform: translateY(-1px); }
body.cm-theme#category #center_column #subcategories li a.img {
	grid-row: 1 / 3; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0; padding: 0;
	border-radius: 12px; background: #f8fafc;
}
body.cm-theme#category #center_column #subcategories li a.img img { width: auto; height: auto; max-width: 56px; max-height: 56px; border: 0; mix-blend-mode: multiply; }
body.cm-theme#category #center_column #subcategories li a.cat_name { display: block; margin: 0; padding: 0; font: 700 15px/1.3 var(--cm-font); color: var(--cm-navy); text-decoration: none; }
body.cm-theme#category #center_column #subcategories li a.cat_name::after { content: ""; position: absolute; inset: 0; }
body.cm-theme#category #center_column #subcategories li:hover a.cat_name { color: var(--cm-primary); }
body.cm-theme#category #center_column #subcategories li p.cat_desc {
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	margin: 0; padding: 0; font-size: 13px; line-height: 1.45; color: var(--cm-muted);
}

/* barra in alto: Ordina · Mostra · Confronta (le pagine vanno in fondo) */
body.cm-theme#category #center_column .content_sortPagiBar { margin: 0 0 18px; padding: 0; border: 0; background: none; }
body.cm-theme#category #center_column .content_sortPagiBar:not(#product_list ~ .content_sortPagiBar) div.pagination { display: none; }
body.cm-theme#category #center_column #product_list ~ .content_sortPagiBar { margin: 26px 0 0; }
body.cm-theme#category #center_column #product_list ~ .content_sortPagiBar .sortPagiBar { display: none; }
body.cm-theme#category #center_column .content_sortPagiBar .sortPagiBar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin: 0; padding: 12px 16px;
	background: #fff; border: 1px solid var(--cm-line); border-radius: 14px;
}
body.cm-theme#category #center_column .sortPagiBar::before, body.cm-theme#category #center_column .sortPagiBar::after { display: none; }
body.cm-theme#category #center_column .sortPagiBar form, body.cm-theme#category #center_column .sortPagiBar form p {
	display: flex; align-items: center; gap: 8px; float: none; width: auto; margin: 0; padding: 0; border: 0; background: none;
}
body.cm-theme#category #center_column .sortPagiBar #productsSortForm { order: 1; }
body.cm-theme#category #center_column .sortPagiBar form.nbrItemPage { order: 2; }
body.cm-theme#category #center_column .sortPagiBar form:has(#bt_compare), body.cm-theme#category #center_column .sortPagiBar form:has(.bt_compare) { order: 3; margin-left: auto; }
body.cm-theme#category #center_column .sortPagiBar label { float: none; width: auto; margin: 0; padding: 0; font: 600 13px/1 var(--cm-font); color: var(--cm-muted); }
body.cm-theme#category #center_column .sortPagiBar form.nbrItemPage span { font-size: 13px; color: var(--cm-muted); }
body.cm-theme#category #center_column .sortPagiBar select {
	height: 38px; margin: 0; padding: 0 30px 0 10px; border: 1px solid #cbd5e1; border-radius: 10px; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px;
	-webkit-appearance: none; appearance: none; font: 600 13.5px/1 var(--cm-font); color: var(--cm-navy);
}
body.cm-theme#category #center_column .sortPagiBar select:focus { outline: none; border-color: var(--cm-primary); box-shadow: 0 0 0 3px #dbeafe; }
body.cm-theme#category #center_column .sortPagiBar :is(#bt_compare, .bt_compare) {
	display: inline-flex; align-items: center; height: 38px; margin: 0; padding: 0 16px 0 38px; float: none; cursor: pointer;
	border: 1px solid var(--cm-primary); border-radius: 10px; color: var(--cm-primary); font: 700 13.5px/1 var(--cm-font); text-transform: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c5bb9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3h5v5M8 21H3v-5M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") no-repeat 14px center / 15px;
	transition: background-color .15s;
}
body.cm-theme#category #center_column .sortPagiBar :is(#bt_compare, .bt_compare):hover { background-color: #eff6ff; }

/* numeri di pagina in fondo */
body.cm-theme#category #center_column div.pagination { display: flex; justify-content: center; width: auto; margin: 0; padding: 0; float: none; }
body.cm-theme#category #center_column div.pagination form.pagination { display: none; }
body.cm-theme#category #center_column ul.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; float: none; }
body.cm-theme#category #center_column ul.pagination li { float: none; margin: 0; padding: 0; border: 0; background: none; }
body.cm-theme#category #center_column ul.pagination li > a, body.cm-theme#category #center_column ul.pagination li > span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; box-sizing: border-box; padding: 0 12px;
	border: 1px solid var(--cm-line); border-radius: 10px; background: #fff; color: var(--cm-navy); font: 600 14px/1 var(--cm-font); text-decoration: none;
}
body.cm-theme#category #center_column ul.pagination li > a:hover { border-color: var(--cm-primary); color: var(--cm-primary); }
body.cm-theme#category #center_column ul.pagination li.current > span { border-color: var(--cm-primary); background: var(--cm-primary); color: #fff; }
body.cm-theme#category #center_column ul.pagination li.disabled > span { opacity: .45; }
body.cm-theme#category #center_column ul.pagination li.truncate { display: inline-flex; align-items: center; padding: 0 4px; color: var(--cm-muted); }

/* "Confronta" sulle schede prodotto */
body.cm-theme#category #product_list li .left_block .compare {
	display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px 4px 6px; border: 1px solid var(--cm-line); border-radius: 999px;
	background: rgba(255,255,255,.95); font-size: 0; color: var(--cm-muted); cursor: pointer;
}
body.cm-theme#category #product_list li .left_block .compare input { width: 15px; height: 15px; margin: 0; accent-color: var(--cm-primary); cursor: pointer; }
body.cm-theme#category #product_list li .left_block .compare label,
body.cm-theme#category #product_list li:hover .left_block .compare label { display: inline; margin: 0; padding: 0; font-size: 0; cursor: pointer; }
body.cm-theme#category #product_list li .left_block .compare label::after { content: "Confronta"; font: 600 11.5px/1 var(--cm-font); color: var(--cm-text); }
body.cm-theme#category #product_list li .left_block .compare:has(input:checked) { border-color: var(--cm-primary); background: #eff6ff; }

@media (max-width: 760px) {
	body.cm-theme#category #center_column .content_sortPagiBar .sortPagiBar { gap: 10px; padding: 12px; }
	body.cm-theme#category #center_column .sortPagiBar form:has(#bt_compare), body.cm-theme#category #center_column .sortPagiBar form:has(.bt_compare) { display: none; }
	body.cm-theme#category #center_column .sortPagiBar form.nbrItemPage span { display: none; }
	body.cm-theme#category #center_column #subcategories ul.inline_list { grid-template-columns: minmax(0, 1fr); }
	body.cm-theme#category #center_column ul.pagination li#pagination_previous > *, body.cm-theme#category #center_column ul.pagination li#pagination_next > * { font-size: 0; padding: 0; min-width: 40px; }
	body.cm-theme#category #center_column ul.pagination li#pagination_previous > *::before { content: "\2039"; font-size: 20px; }
	body.cm-theme#category #center_column ul.pagination li#pagination_next > *::before { content: "\203A"; font-size: 20px; }
}

/* =========================================================
   LISTA PRODOTTI – pulsante "Vedi" e pulsante Confronta
   ========================================================= */
body.cm-theme #product_list li.ajax_block_product .right_block { flex-wrap: wrap; gap: 8px; }
body.cm-theme #product_list li.ajax_block_product .right_block > .ajax_add_to_cart_button,
body.cm-theme #product_list li.ajax_block_product .right_block > span.exclusive { flex: 1 1 0; min-width: 0; }
body.cm-theme #product_list li.ajax_block_product .right_block > a.lnk_view {
	flex: 0 0 calc(40% - 4px); min-width: 0; align-self: stretch; box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	margin: 0; padding: 0 8px; border: 1px solid #cbd5e1; border-radius: 6px;
	background: #fff none; box-shadow: none; text-shadow: none;
	font-size: 0; color: var(--cm-navy); text-decoration: none; transition: border-color .15s, background-color .15s, color .15s;
}
body.cm-theme #product_list li.ajax_block_product .right_block > a.lnk_view::before {
	content: ""; flex: 0 0 16px; width: 16px; height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2747' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / 16px;
}
body.cm-theme #product_list li.ajax_block_product .right_block > a.lnk_view::after { content: "Vedi"; font: 600 13px/1 var(--cm-font); }
body.cm-theme #product_list li.ajax_block_product .right_block > a.lnk_view:hover { border-color: var(--cm-primary); background-color: #eff6ff; color: var(--cm-primary); }

/* Pulsante Confronta nella barra */
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form { display: flex; align-items: center; gap: 10px; }
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form p { position: relative; display: flex; margin: 0; padding: 0; }
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form #bt_compare {
	display: inline-flex; align-items: center; height: 40px; margin: 0; float: none; cursor: pointer;
	padding: 0 18px 0 40px; border: 1px solid #cbd5e1; border-radius: 999px; box-shadow: none; text-shadow: none;
	font: 700 13.5px/1 var(--cm-font); color: var(--cm-navy); text-transform: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2747' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='7' height='16' rx='1.5'/%3E%3Crect x='14' y='4' width='7' height='16' rx='1.5'/%3E%3Cpath d='M6.5 9h0M17.5 9h0M6.5 13h0M17.5 13h0'/%3E%3C/svg%3E") no-repeat 16px center / 17px;
	transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
}
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form #bt_compare:hover { border-color: var(--cm-primary); color: var(--cm-primary); }
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form.cm-cmp-ready #bt_compare {
	padding-right: 44px; border-color: var(--cm-primary); color: #fff; box-shadow: 0 6px 16px rgba(28,91,185,.28);
	background: var(--cm-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='7' height='16' rx='1.5'/%3E%3Crect x='14' y='4' width='7' height='16' rx='1.5'/%3E%3C/svg%3E") no-repeat 16px center / 17px;
}
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form.cm-cmp-ready #bt_compare:hover { background-color: var(--cm-navy); border-color: var(--cm-navy); }
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form.cm-cmp-some #bt_compare { padding-right: 44px; }
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form p::after {
	content: attr(data-n); position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
	display: none; align-items: center; justify-content: center; min-width: 24px; height: 24px; padding: 0 6px; box-sizing: border-box;
	border-radius: 999px; background: var(--cm-accent); color: #1e293b; font: 800 12px/1 var(--cm-font); pointer-events: none;
}
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form.cm-cmp-some p::after { display: inline-flex; }
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form .cm-cmp-hint { font-size: 12.5px; color: var(--cm-muted); white-space: nowrap; }
body.cm-theme:is(#category,#search,#manufacturer,#supplier,#prices-drop,#new-products,#best-sales) #center_column .sortPagiBar form.cm-cmp-form .cm-cmp-hint.cm-flash { color: var(--cm-sale); font-weight: 700; }

/* Etichetta Confronta sulle schede */
body.cm-theme#category #product_list li .left_block .compare { position: relative; padding: 5px 10px 5px 7px; box-shadow: 0 1px 2px rgba(15,39,71,.06); transition: border-color .15s, background-color .15s; }
body.cm-theme#category #product_list li .left_block .compare input {
	-webkit-appearance: none; appearance: none; flex: 0 0 16px; width: 16px; height: 16px; margin: 0;
	border: 1.5px solid #94a3b8; border-radius: 5px; background: #fff no-repeat center / 11px; cursor: pointer;
}
body.cm-theme#category #product_list li .left_block .compare input:checked {
	border-color: var(--cm-primary);
	background: var(--cm-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 11px;
}
body.cm-theme#category #product_list li .left_block .compare label::before { content: ""; position: absolute; inset: 0; border-radius: 999px; }
body.cm-theme#category #product_list li .left_block .compare:hover { border-color: #93c5fd; }
body.cm-theme#category #product_list li .left_block .compare:has(input:checked) label::after { content: "Da confrontare"; color: var(--cm-primary); }

@media (max-width: 767px) {
	body.cm-theme #product_list li.ajax_block_product .right_block > a.lnk_view { display: inline-flex; flex: 0 0 40px; width: 40px; padding: 0; }
	body.cm-theme #product_list li.ajax_block_product .right_block > a.lnk_view::after { content: none; }
	body.cm-theme #product_list li.ajax_block_product .right_block > .ajax_add_to_cart_button,
	body.cm-theme #product_list li.ajax_block_product .right_block > span.exclusive { width: auto; }
}

/* =========================================================
   CONFRONTO PRODOTTI
   ========================================================= */
body.cm-theme#products-comparison #right_column { display: none !important; }
body.cm-theme#products-comparison #center_column h1 { margin: 4px 0 6px; font-size: 28px; line-height: 1.2; }
body.cm-theme#products-comparison .cm-cmp-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 16px; }
body.cm-theme#products-comparison .cm-cmp-count { margin: 0; padding: 0; font-size: 14px; color: var(--cm-muted); }
body.cm-theme#products-comparison .cm-cmp-count strong { color: var(--cm-navy); }
body.cm-theme#products-comparison .cm-cmp-back { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border: 1px solid #cbd5e1; border-radius: 999px; background: #fff; font: 600 13.5px/1 var(--cm-font); color: var(--cm-navy); text-decoration: none; }
body.cm-theme#products-comparison .cm-cmp-back:hover { border-color: var(--cm-primary); color: var(--cm-primary); }

body.cm-theme#products-comparison .cm-cmp-wrap { margin: 0; padding: 0; border: 1px solid var(--cm-line); border-radius: 16px; background: #fff; overflow: hidden; }
body.cm-theme#products-comparison .cm-cmp-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.cm-theme#products-comparison #product_comparison { width: 100%; min-width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; table-layout: fixed; background: none; }
body.cm-theme#products-comparison #product_comparison.cm-cmp-n2 { min-width: 640px; }
body.cm-theme#products-comparison #product_comparison.cm-cmp-n3 { min-width: 860px; }
body.cm-theme#products-comparison #product_comparison.cm-cmp-n4 { min-width: 1080px; }
body.cm-theme#products-comparison #product_comparison :is(th, td) {
	width: auto; height: auto; margin: 0; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--cm-line);
	background: #fff; text-align: left; vertical-align: top; font: 400 14px/1.5 var(--cm-font); color: var(--cm-text);
}
body.cm-theme#products-comparison #product_comparison tr > :first-child {
	position: sticky; left: 0; z-index: 1; width: 190px; box-sizing: border-box;
	background: #f8fafc; border-right: 1px solid var(--cm-line); font-weight: 600; color: var(--cm-navy);
}
body.cm-theme#products-comparison #product_comparison td + td { border-left: 1px solid #f1f5f9; }
body.cm-theme#products-comparison #product_comparison tr:last-child > * { border-bottom: 0; }

/* riga schede prodotto */
body.cm-theme#products-comparison #product_comparison .cm-cmp-products > * { padding: 18px 16px; vertical-align: top; }
body.cm-theme#products-comparison #product_comparison .cm-cmp-corner { vertical-align: bottom; }
body.cm-theme#products-comparison #product_comparison .cm-cmp-corner span { font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--cm-muted); }
body.cm-theme#products-comparison .cm-cmp-card { position: relative; display: flex; flex-direction: column; gap: 8px; height: 100%; }
body.cm-theme#products-comparison .cm-cmp-card .product_image {
	display: flex; align-items: center; justify-content: center; height: 170px; margin: 0; padding: 10px;
	border-radius: 12px; background: #f8fafc; border: 0;
}
body.cm-theme#products-comparison .cm-cmp-card .product_image img { width: auto; height: auto; max-width: 100%; max-height: 150px; border: 0; mix-blend-mode: multiply; }
body.cm-theme#products-comparison .cm-cmp-card a.cmp_remove {
	position: absolute; top: 6px; right: 6px; z-index: 2; display: flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; margin: 0; padding: 0; border: 1px solid var(--cm-line); border-radius: 50%;
	background: #fff; font: 400 20px/1 var(--cm-font); color: var(--cm-muted); text-decoration: none; box-shadow: 0 1px 3px rgba(15,39,71,.08);
}
body.cm-theme#products-comparison .cm-cmp-card a.cmp_remove:hover { border-color: #fca5a5; background: #fef2f2; color: var(--cm-sale); }
body.cm-theme#products-comparison .cm-cmp-card .s_title_block { margin: 4px 0 0; padding: 0; height: auto; border: 0; background: none; font: 700 15px/1.3 var(--cm-font); text-transform: none; }
body.cm-theme#products-comparison .cm-cmp-card .s_title_block a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--cm-navy); text-decoration: none; }
body.cm-theme#products-comparison .cm-cmp-card .s_title_block a:hover { color: var(--cm-primary); }
body.cm-theme#products-comparison .cm-cmp-price { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: auto; }
body.cm-theme#products-comparison .cm-cmp-price .price { padding: 0; font: 800 22px/1.1 var(--cm-font); color: var(--cm-navy); }
body.cm-theme#products-comparison .cm-cmp-price :is(.on_sale, .discount) { display: inline-block; padding: 3px 8px; border-radius: 6px; background: #fee2e2; color: #b91c1c; font: 700 11px/1.2 var(--cm-font); text-transform: uppercase; }
body.cm-theme#products-comparison .comparison_unit_price { margin: 0; font-size: 12.5px; color: var(--cm-muted); }
body.cm-theme#products-comparison .cm-cmp-stock { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin: 0; padding: 4px 10px; border-radius: 999px; font: 700 12px/1.2 var(--cm-font); }
body.cm-theme#products-comparison .cm-cmp-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
body.cm-theme#products-comparison .cm-cmp-stock.cm-in { background: #dcfce7; color: #166534; }
body.cm-theme#products-comparison .cm-cmp-stock.cm-later { background: #fef3c7; color: #92400e; }
body.cm-theme#products-comparison .cm-cmp-stock.cm-out { background: #f1f5f9; color: #64748b; }
body.cm-theme#products-comparison .cm-cmp-actions { display: flex; gap: 8px; margin-top: 4px; }
body.cm-theme#products-comparison .cm-cmp-actions > :is(.exclusive, .ajax_add_to_cart_button) {
	flex: 1 1 0; min-width: 0; display: inline-flex; align-items: center; justify-content: center; height: 40px; margin: 0; padding: 0 10px; box-sizing: border-box;
	border: 0; border-radius: 10px; background: var(--cm-accent) none; color: #1e293b; font: 700 13.5px/1 var(--cm-font); text-decoration: none; text-shadow: none; box-shadow: none;
}
body.cm-theme#products-comparison .cm-cmp-actions > a.ajax_add_to_cart_button:hover { background-color: #d97706; }
body.cm-theme#products-comparison .cm-cmp-actions > span.exclusive { background: #e2e8f0; color: #94a3b8; cursor: not-allowed; }
body.cm-theme#products-comparison .cm-cmp-actions > .exclusive span { display: none; }
body.cm-theme#products-comparison .cm-cmp-actions > .cm-cmp-view {
	flex: 0 0 40%; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 40px; box-sizing: border-box;
	border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; color: var(--cm-navy); font: 600 13px/1 var(--cm-font); text-decoration: none;
}
body.cm-theme#products-comparison .cm-cmp-actions > .cm-cmp-view::before {
	content: ""; width: 16px; height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2747' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center / 16px;
}
body.cm-theme#products-comparison .cm-cmp-actions > .cm-cmp-view:hover { border-color: var(--cm-primary); background: #eff6ff; color: var(--cm-primary); }

/* descrizione e caratteristiche */
body.cm-theme#products-comparison #product_comparison .cm-cmp-desc td { font-size: 13px; line-height: 1.5; color: #1c222b; }
body.cm-theme#products-comparison #product_comparison .comparison_header th {
	position: static; padding: 12px 16px; border-right: 0; background: #eef4fd;
	font: 800 12px/1 var(--cm-font); letter-spacing: .07em; text-transform: uppercase; color: var(--cm-primary);
}
body.cm-theme#products-comparison #product_comparison .comparison_header th span { position: sticky; left: 16px; }
body.cm-theme#products-comparison #product_comparison .cm-cmp-feature:nth-child(even) td { background: #fcfdfe; }
body.cm-theme#products-comparison #product_comparison .cm-cmp-feature:hover > * { background: #f5f9ff; }
body.cm-theme#products-comparison #product_comparison .cm-cmp-feature th { font-size: 13.5px; }
body.cm-theme#products-comparison .cm-cmp-none { color: #cbd5e1; }
body.cm-theme#products-comparison .cm-cmp-nofeat { color: var(--cm-muted); font-style: italic; }

/* nessun prodotto */
body.cm-theme#products-comparison .cm-cmp-empty { padding: 36px 24px; border: 1px dashed #cbd5e1; border-radius: 16px; background: #fff; text-align: center; }
body.cm-theme#products-comparison .cm-cmp-empty p { margin: 0 auto 14px; max-width: 520px; font-size: 14.5px; line-height: 1.6; color: var(--cm-muted); }
body.cm-theme#products-comparison .cm-cmp-empty .cm-cmp-empty-title { margin-bottom: 6px; font: 800 19px/1.3 var(--cm-font); color: var(--cm-navy); }

@media (max-width: 767px) {
	body.cm-theme#products-comparison #product_comparison tr > :first-child { width: 112px; padding: 10px; font-size: 12.5px; }
	body.cm-theme#products-comparison #product_comparison.cm-cmp-n2 { min-width: 520px; }
	body.cm-theme#products-comparison #product_comparison.cm-cmp-n3 { min-width: 700px; }
	body.cm-theme#products-comparison #product_comparison.cm-cmp-n4 { min-width: 880px; }
	body.cm-theme#products-comparison .cm-cmp-card .product_image { height: 130px; }
	body.cm-theme#products-comparison .cm-cmp-card .product_image img { max-height: 110px; }
	body.cm-theme#products-comparison .cm-cmp-actions { flex-direction: column; }
	body.cm-theme#products-comparison .cm-cmp-actions > * { flex: 0 0 auto !important; width: 100%; }
}

/* scheda prodotto: pallini del colore sopra, "Colore : Nero" sotto */
body.cm-theme#product #pb-left-column #buy_block fieldset.cm-color-fs .attribute_list { order: -1; }

/* scheda prodotto: badge "Prezzo ridotto −10%" sulla stessa riga, a destra del prezzo */
body.cm-theme #pb-left-column #buy_block .cm-price-line > .cm-sale-line { align-self: center; margin: 0 0 0 12px; }
@media (max-width: 480px) {
	body.cm-theme #pb-left-column #buy_block .cm-price-line > .cm-sale-line { margin-left: 0; }
}
