/* MA Bundle – pagina prodotto */
.ma-bundle { margin: 0 0 1.25em; padding: 1em 1.1em; border: 1px solid rgba(0,0,0,.12); border-radius: 6px; background: rgba(0,0,0,.015); }
.ma-bundle__title { margin: 0 0 .6em; font-size: 1.05em; }
.ma-bundle__list { list-style: none; margin: 0; padding: 0; }
.ma-bundle__item { display: grid; grid-template-columns: 56px 1fr auto; gap: .75em; align-items: center; padding: .55em 0; border-top: 1px solid rgba(0,0,0,.07); }
.ma-bundle__item:first-child { border-top: 0; }
.ma-bundle__item--nothumb { grid-template-columns: 1fr auto; }
.ma-bundle__thumb img { display: block; width: 56px; height: 56px; object-fit: cover; border-radius: 4px; margin: 0 !important; }
.ma-bundle__info { display: flex; flex-direction: column; gap: .35em; min-width: 0; }
.ma-bundle__name { line-height: 1.3; overflow-wrap: anywhere; }
.ma-bundle__name a { text-decoration: none; }
.ma-bundle__qty { font-weight: 700; margin-right: .15em; white-space: nowrap; }
.ma-bundle__select { max-width: 100%; width: auto; min-width: 9em; padding: .3em .5em; }
.ma-bundle__price { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ma-bundle__summary { margin-top: .6em; padding-top: .7em; border-top: 2px solid rgba(0,0,0,.1); }
.ma-bundle__row { display: flex; justify-content: space-between; gap: 1em; padding: .15em 0; font-variant-numeric: tabular-nums; }
.ma-bundle__row--singles { opacity: .75; }
.ma-bundle__row--total { font-size: 1.15em; }
.ma-bundle__save { margin-top: .35em; display: inline-block; padding: .2em .6em; border-radius: 3px; background: #e8f5e9; color: #1b5e20; font-weight: 600; font-size: .92em; }
.ma-bundle [hidden] { display: none !important; }
.ma-bundle-form .single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }

.ma-bundle-kits { clear: both; margin: 2em 0; }
.ma-bundle-kits__title { font-size: 1.25em; margin-bottom: .6em; }
.ma-bundle-kits__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1em; }
.ma-bundle-kits__item a { display: flex; flex-direction: column; gap: .35em; text-decoration: none; color: inherit; }
.ma-bundle-kits__item img { width: 100%; height: auto; border-radius: 4px; margin: 0 !important; }
.ma-bundle-kits__name { font-weight: 600; line-height: 1.3; }

@media (max-width: 480px) {
	.ma-bundle { padding: .8em; }
	.ma-bundle__item { grid-template-columns: 44px 1fr auto; gap: .55em; }
	.ma-bundle__item--nothumb { grid-template-columns: 1fr auto; }
	.ma-bundle__thumb img { width: 44px; height: 44px; }
	.ma-bundle-kits__list { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Layout a schede (default) ---------- */
.ma-bundle--grid { padding: 0; border: 0; background: transparent; }
.ma-bundle--grid .ma-bundle__title { font-size: 1.1em; margin: 0 0 .8em; }
.ma-bundle__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.ma-bundle__card { display: flex; flex-direction: column; align-items: center; gap: .5em; padding: 10px; border: 1px solid rgba(0,0,0,.14); border-radius: 4px; background: #fff; text-align: center; }
.ma-bundle__card-img { display: block; width: 100%; }
.ma-bundle__card-img a { display: block; }
.ma-bundle__card-img img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; margin: 0 !important; border-radius: 3px; }
.ma-bundle__card-name { font-weight: 600; font-size: .92em; line-height: 1.3; overflow-wrap: anywhere; }
.ma-bundle__card-name a { text-decoration: none; color: inherit; }
.ma-bundle__card .ma-bundle__qty { margin-right: .2em; }
.ma-bundle__opts { display: flex; flex-direction: column; align-items: center; gap: .4em; width: 100%; padding: 8px 6px; border: 1px solid rgba(0,0,0,.1); border-radius: 3px; }
.ma-bundle__opts-label { font-size: .82em; font-weight: 600; }
.ma-bundle__opts-sel { font-weight: 400; }
.ma-bundle__opts-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.ma-bundle__opt { min-width: 36px; height: 34px; margin: 0; padding: 0 8px; border: 1px solid rgba(0,0,0,.3); border-radius: 3px; background: #fff; color: inherit; font: inherit; font-size: .92em; line-height: 1; cursor: pointer; box-shadow: none; text-transform: none; transition: border-color .15s, background-color .15s; }
.ma-bundle__opt:hover { border-color: #4A5630; background: #fff; color: #4A5630 !important; }
.ma-bundle__opt:focus-visible { outline: 2px solid #4A5630; outline-offset: 2px; }
/* Selezionata: fondo verde chiaro, bordo e numero nel verde del sito (#4A5630), contrasto ~6:1 */
.ma-bundle__opt.is-selected, .ma-bundle__opt.is-selected:hover, .ma-bundle__opt.is-selected:focus { background: #E3EBCF !important; border-color: #4A5630 !important; box-shadow: inset 0 0 0 1px #4A5630; color: #4A5630 !important; font-weight: 700; }
.ma-bundle__opt:disabled { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
.ma-bundle__card-price { margin-top: auto; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ma-bundle__card-price del { opacity: .6; margin-right: .3em; font-size: .9em; }
.ma-bundle__card-price ins { text-decoration: none; font-weight: 600; }
.ma-bundle--grid .ma-bundle__summary { margin-top: 1em; padding: .8em 1em; border: 1px solid rgba(0,0,0,.12); border-top-width: 2px; border-radius: 4px; background: rgba(0,0,0,.015); }

@media (max-width: 600px) {
	.ma-bundle__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.ma-bundle__card { padding: 8px; }
	.ma-bundle__opt { min-width: 32px; height: 32px; padding: 0 6px; }
}
