/* Ibis Shop Skills: negozio */

.ibis-sc-freebar {
	--ibis-sc-bar: #8e5c39;
	margin: 0 0 1.25em;
	padding: .8em 1em;
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 6px;
	background: #fff;
	color: inherit;
	font-size: .95em;
}
.ibis-sc-freebar__text { margin: 0 0 .5em; }
.ibis-sc-freebar__track {
	height: 8px;
	overflow: hidden;
	border-radius: 4px;
	background: rgba(0, 0, 0, .08);
}
.ibis-sc-freebar__fill {
	height: 100%;
	border-radius: 4px;
	background: var(--ibis-sc-bar);
	transition: width .4s ease;
}
.ibis-sc-freebar.is-done { border-color: var(--ibis-sc-bar); }
@media (prefers-reduced-motion: reduce) {
	.ibis-sc-freebar__fill { transition: none; }
}
.widget_shopping_cart .ibis-sc-freebar { margin: .75em 0; font-size: .85em; }
.ibis-sc-freebar-block:empty, .ibis-sc-freebar-checkout:empty { display: none; }
.ibis-sc-freebar-block { max-width: var(--wp--style--global--wide-size, 1200px); margin-left: auto; margin-right: auto; }

/* Privato o azienda: scelte sulla stessa riga */
#billing_ibis_sc_type_field .woocommerce-input-wrapper { display: flex; flex-wrap: wrap; gap: .25em 1.5em; align-items: center; }
#billing_ibis_sc_type_field input.input-radio { margin: 0 .35em 0 0; }
#billing_ibis_sc_type_field label.radio { display: inline; margin: 0; font-weight: normal; }

/* Titoli aggiunti con l'editor dei campi */
.ibis-sc-heading { clear: both; }
.ibis-sc-heading h3 { margin: 1em 0 .25em; }

.ibis-sc-track { margin: 0 0 2em; }
.ibis-sc-order-fields { margin-top: 1.5em; }

/* Servizi extra */
.ibis-sc-extras { margin: 0 0 1.5em; padding: 1em 1.2em; border: 1px solid rgba(0, 0, 0, .1); border-radius: 6px; }
.ibis-sc-extras h3, .ibis-sc-extras__title { margin: 0 0 .5em; font-size: 1.05em; }
.ibis-sc-extras .ibis-sc-extra { margin: 0 0 .5em; padding: 0; }
.ibis-sc-extras .ibis-sc-extra label { display: inline; cursor: pointer; }
.ibis-sc-extra__price { white-space: nowrap; font-weight: 600; }
.ibis-sc-extra__desc { display: block; margin-left: 1.6em; font-size: .9em; opacity: .75; }
.ibis-sc-extras--blocks { margin: 1em 0 0; }
.ibis-sc-extras.is-busy { opacity: .6; }

/* Spesso comprati insieme */
.ibis-sc-fbt { clear: both; margin: 2em 0; padding: 1.2em 1.4em; border: 1px solid rgba(0, 0, 0, .1); border-radius: 8px; }
.ibis-sc-fbt h2 { margin-top: 0; }
.ibis-sc-fbt__list { margin: 0 0 1em; padding: 0; list-style: none; }
.ibis-sc-fbt__item { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: .5em 0; border-bottom: 1px solid rgba(0, 0, 0, .06); }
.ibis-sc-fbt__item label { display: flex; align-items: center; gap: .75em; flex: 1 1 auto; margin: 0; cursor: pointer; }
.ibis-sc-fbt__item img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; }
.ibis-sc-fbt__name { flex: 1 1 auto; }
.ibis-sc-fbt__price { white-space: nowrap; font-weight: 600; }
.ibis-sc-fbt__link { font-size: .9em; white-space: nowrap; }
.ibis-sc-fbt__save { display: block; font-size: .85em; opacity: .75; }
.ibis-sc-credit-links { margin: 1em 0; }

/* Aggiunte ai prodotti */
.ibis-sc-addons { --ibis-sc-accent: #8e5c39; clear: both; margin: 0 0 1.25em; }
.ibis-sc-addon { margin: 0 0 1em; padding: 0; border: 0; min-width: 0; }
.ibis-sc-addon legend, .ibis-sc-addon--select > label { display: block; margin: 0 0 .4em; padding: 0; font-weight: 600; }
.ibis-sc-addon__desc { display: block; margin: -.2em 0 .5em; font-size: .9em; opacity: .8; }
.ibis-sc-addon__options { display: flex; flex-wrap: wrap; gap: .5em; }
.ibis-sc-addon--list .ibis-sc-addon__options { flex-direction: column; gap: .3em; }
.ibis-sc-addon__option { position: relative; display: inline-flex; align-items: center; }
.ibis-sc-addon--list .ibis-sc-addon__option input { margin: 0 .45em 0 0; }
.ibis-sc-addon--list label { display: inline; margin: 0; font-weight: normal; cursor: pointer; }
.ibis-sc-addon__price { margin-left: .35em; font-size: .9em; opacity: .85; white-space: nowrap; }
.ibis-sc-addon--select select { width: 100%; max-width: 24em; }

/* Pulsanti, colori e immagini: la scelta vera resta un input (tastiera e lettori di schermo) nascosto alla vista. */
.ibis-sc-addon--button input, .ibis-sc-addon--color input, .ibis-sc-addon--image input {
	position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none;
}
.ibis-sc-addon--button label, .ibis-sc-addon--color label, .ibis-sc-addon--image label {
	display: inline-flex; flex-direction: column; align-items: center; gap: .25em; margin: 0;
	padding: .45em .8em; border: 2px solid rgba(0, 0, 0, .18); border-radius: 6px; background: #fff;
	color: inherit; font-weight: normal; line-height: 1.2; text-align: center; cursor: pointer;
}
.ibis-sc-addon--button label { flex-direction: row; }
.ibis-sc-addon--color label { padding: .35em .5em; }
.ibis-sc-addon__swatch { display: block; width: 2em; height: 2em; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .2); }
.ibis-sc-addon__img { display: block; width: 64px; height: 64px; object-fit: cover; border-radius: 4px; }
.ibis-sc-addon--color .ibis-sc-addon__label, .ibis-sc-addon--image .ibis-sc-addon__label { font-size: .85em; }
.ibis-sc-addon--color .ibis-sc-addon__price, .ibis-sc-addon--image .ibis-sc-addon__price { margin: 0; font-size: .8em; }
.ibis-sc-addon__option input:checked + label { border-color: var(--ibis-sc-accent); box-shadow: inset 0 0 0 1px var(--ibis-sc-accent); }
.ibis-sc-addon__option input:focus-visible + label { outline: 2px solid var(--ibis-sc-accent); outline-offset: 2px; }
.ibis-sc-addon--missing legend { color: #b32d2e; }
.ibis-sc-addons__total { margin: .25em 0 0; }

/* Omaggi */
.ibis-sc-gifts { margin: 0 0 1.5em; padding: 1em 1.2em; border: 1px solid rgba(0, 0, 0, .1); border-radius: 6px; }
.ibis-sc-gifts__nudge { margin: 0; }
.ibis-sc-gifts__nudge + .ibis-sc-gifts__choice { margin-top: 1em; }
.ibis-sc-gifts__title { margin: 0 0 .25em; font-size: 1.05em; }
.ibis-sc-gifts__hint { margin: 0 0 .5em; font-size: .9em; opacity: .8; }
.ibis-sc-gifts__list { margin: 0; padding: 0; list-style: none; }
.ibis-sc-gifts__item { display: flex; align-items: center; gap: .75em; padding: .5em 0; border-top: 1px solid rgba(0, 0, 0, .06); }
.ibis-sc-gifts__img img { display: block; width: 48px; height: auto; }
.ibis-sc-gifts__name { flex: 1; }
.ibis-sc-gifts__price { white-space: nowrap; }
.ibis-sc-gifts__price del { opacity: .6; }
.ibis-sc-gifts__in { font-size: .85em; font-weight: 600; }
.ibis-sc-gifts__item.is-chosen .ibis-sc-gifts__name { font-weight: 600; }
.ibis-sc-gifts-block:empty, .ibis-sc-gifts-checkout:empty { display: none; }
.ibis-sc-gifts-block { max-width: var(--wp--style--global--wide-size, 1200px); margin-left: auto; margin-right: auto; }
.ibis-sc-gift-price { font-weight: 600; }

/* Diritto di recesso */
.ibis-sc-wd { margin: 0 0 2em; }
.ibis-sc-wd__button { display: inline-block; }
.ibis-sc-wd__box { margin: 1em 0; padding: 1em 1.2em; border: 1px solid rgba(0, 0, 0, .12); border-radius: 6px; }
.ibis-sc-wd__info { margin: 1em 0; padding: .8em 1em; border-left: 4px solid #8e5c39; background: rgba(0, 0, 0, .03); font-size: .92em; }
.ibis-sc-wd__items { width: 100%; margin: 0 0 1em; }
.ibis-sc-wd__items td, .ibis-sc-wd__items th { padding: .4em .5em; vertical-align: middle; }
.ibis-sc-wd__items input[type="number"] { width: 5em; }
.ibis-sc-wd form p { margin: 0 0 1em; }
.ibis-sc-wd label.ibis-sc-wd__check { display: flex; gap: .5em; align-items: flex-start; }
.ibis-sc-wd textarea { width: 100%; }
.ibis-sc-wd__summary dt { font-weight: 600; }
.ibis-sc-wd__summary dd { margin: 0 0 .6em; }
.ibis-sc-wd__done { border-color: #2e7d32; }

/* Richiesta di preventivo */
.ibis-sc-quote-button { margin-left: .5em; }
.ibis-sc-quote-loop { margin-top: .5em; }
.ibis-sc-quote-cart-wrap { margin: 1em 0 0; text-align: center; }
.ibis-sc-quote-cart-wrap .button { display: block; width: 100%; box-sizing: border-box; }
.ibis-sc-quote { margin: 0 0 2em; }
.ibis-sc-quote__list .qty { width: 5em; }
.ibis-sc-quote__remove { font-size: 1.4em; line-height: 1; padding: 0 .3em; background: none; border: 0; cursor: pointer; color: inherit; }
.ibis-sc-quote__estimate { font-size: .92em; opacity: .85; }
.ibis-sc-quote .ibis-sc-actions { display: flex; flex-wrap: wrap; gap: .5em; }
.ibis-sc-quote__form { margin-top: 2em; }
.ibis-sc-quote__form textarea { width: 100%; }
.ibis-sc-quote__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ibis-sc-quote__meta { opacity: .85; }
.ibis-sc-quote__note, .ibis-sc-quote__terms { margin: 1em 0; padding: .8em 1em; border-left: 4px solid #8e5c39; background: rgba(0, 0, 0, .03); }
.ibis-sc-quote__terms { font-size: .92em; }
.ibis-sc-quote__answer { margin: 1.5em 0 .5em; }
.ibis-sc-quote__other { margin: 0 0 1.5em; }
.ibis-sc-quote__other summary { cursor: pointer; text-decoration: underline; }
.ibis-sc-quote__other textarea { width: 100%; }
.ibis-sc-quote-count { display: inline-block; min-width: 1.5em; padding: 0 .4em; border-radius: 1em; background: #8e5c39; color: #fff; font-size: .8em; text-align: center; }

/* Preventivo: pulsante fuori dal modulo, modulo personalizzato, conferma, contatore (dalla 2.6.0) */
:root { --ibis-sc-q-accent: #2e7d32; }
.ibis-sc-quote-standalone { display: flex; flex-wrap: wrap; gap: .6em; align-items: stretch; margin: 1em 0; }
.ibis-sc-quote-standalone .qty { width: 4.5em; text-align: center; height: 100%; }
.ibis-sc-quote-standalone .ibis-sc-quote-button { margin: 0; }
.ibis-sc-quote-button.is-loading, .ibis-sc-quote-loop.is-loading { opacity: .6; pointer-events: none; }
.ibis-sc-quote-button.is-loading::after, .ibis-sc-quote-loop.is-loading::after { content: ""; display: inline-block; width: .9em; height: .9em; margin-left: .5em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; vertical-align: -.1em; animation: ibis-sc-spin .7s linear infinite; }
@keyframes ibis-sc-spin { to { transform: rotate(360deg); } }
.ibis-sc-quote__table .ibis-sc-quote__thumb { width: 72px; }
.ibis-sc-quote__table .ibis-sc-quote__thumb img { width: 64px; height: 64px; object-fit: cover; border-radius: 4px; display: block; }
.ibis-sc-qf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1em 1.2em; margin: 0 0 1.2em; }
.ibis-sc-qf { grid-column: 1 / -1; min-width: 0; }
.ibis-sc-qf.is-half { grid-column: auto; }
.ibis-sc-qf > label, .ibis-sc-qf legend { display: block; margin: 0 0 .3em; font-weight: 600; }
.ibis-sc-qf input[type="text"], .ibis-sc-qf input[type="email"], .ibis-sc-qf input[type="tel"], .ibis-sc-qf input[type="number"], .ibis-sc-qf input[type="date"], .ibis-sc-qf input[type="time"], .ibis-sc-qf select, .ibis-sc-qf textarea { width: 100%; box-sizing: border-box; }
.ibis-sc-qf input[type="file"] { width: 100%; padding: .6em; border: 1px dashed rgba(0, 0, 0, .3); border-radius: 6px; box-sizing: border-box; }
.ibis-sc-qf fieldset { border: 0; margin: 0; padding: 0; }
.ibis-sc-qf__choice { display: flex; gap: .5em; align-items: flex-start; margin: 0 0 .3em; font-weight: 400; }
.ibis-sc-qf__desc { display: block; margin: .3em 0 0; font-size: .88em; opacity: .8; }
.ibis-sc-qf__heading { margin: .6em 0 0; }
.ibis-sc-qf--html img { max-width: 100%; height: auto; }
@media (max-width: 600px) { .ibis-sc-qf-grid { grid-template-columns: 1fr; } }
.ibis-sc-quote__submit .ibis-sc-q-btn { min-width: 220px; }
.ibis-sc-quote__done { display: flex; gap: 1em; align-items: flex-start; margin: 0 0 1.5em; padding: 1.2em 1.4em; border: 2px solid var(--ibis-sc-q-accent); border-radius: 8px; }
.ibis-sc-quote__done strong { font-size: 1.2em; }
.ibis-sc-quote__done p { margin: .3em 0 0; }
.ibis-sc-quote__done-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.2em; height: 2.2em; border-radius: 50%; background: var(--ibis-sc-q-accent); color: #fff; font-size: 1.2em; }
.ibis-sc-qf-table th { width: 35%; text-align: left; }
html.ibis-sc-qpop-open { overflow: hidden; }
.ibis-sc-qpop { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, .55); animation: ibis-sc-fade .15s ease-out; }
.ibis-sc-qpop__box { position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow: auto; padding: 28px 24px 22px; border-radius: 12px; background: #fff; color: #222; text-align: center; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); animation: ibis-sc-pop .2s ease-out; box-sizing: border-box; }
.ibis-sc-qpop__x { position: absolute; top: 8px; right: 10px; width: 36px; height: 36px; padding: 0; border: 0; background: transparent; color: #555; font-size: 26px; line-height: 1; cursor: pointer; }
.ibis-sc-qpop__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0 0 10px; border-radius: 50%; background: var(--ibis-sc-q-accent); color: #fff; font-size: 28px; font-weight: 700; }
.ibis-sc-qpop.is-error .ibis-sc-qpop__icon { background: #b32d2e; }
.ibis-sc-qpop__title { margin: 0 0 14px; font-size: 1.25em; font-weight: 700; }
.ibis-sc-qpop__product { display: flex; gap: 14px; align-items: center; margin: 0 0 18px; padding: 12px; border-radius: 8px; background: #f6f6f6; text-align: left; }
.ibis-sc-qpop__img { width: 72px !important; height: 72px !important; object-fit: cover; border-radius: 6px; flex: none; }
.ibis-sc-qpop__actions { display: flex; flex-direction: column; gap: 8px; }
.ibis-sc-qpop__actions .button { display: block; width: 100%; margin: 0; text-align: center; box-sizing: border-box; }
.ibis-sc-qpop__continue { background: transparent !important; color: inherit !important; border: 1px solid rgba(0, 0, 0, .2) !important; }
@keyframes ibis-sc-fade { from { opacity: 0; } }
@keyframes ibis-sc-pop { from { transform: translateY(12px) scale(.97); opacity: 0; } }
.ibis-sc-qbar { position: fixed; left: 50%; bottom: 16px; z-index: 999999; display: flex; gap: 12px; align-items: center; width: calc(100% - 32px); max-width: 720px; padding: 12px 14px 12px 16px; border-radius: 10px; background: #1e1e1e; color: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, .3); transform: translateX(-50%); animation: ibis-sc-fade .2s ease-out; box-sizing: border-box; }
.ibis-sc-qbar__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ibis-sc-q-accent); }
.ibis-sc-qbar__text { flex: 1; }
.ibis-sc-qbar .button { margin: 0; white-space: nowrap; }
.ibis-sc-qbar__x { border: 0; background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; padding: 0 4px; }
@media (max-width: 600px) { .ibis-sc-qbar { flex-wrap: wrap; } .ibis-sc-qbar__text { flex-basis: calc(100% - 80px); } }
.ibis-sc-qfab { position: fixed; right: 16px; bottom: 16px; z-index: 99990; display: inline-flex; gap: .4em; align-items: center; padding: .7em 1em; border-radius: 999px; background: #fff; color: #222 !important; text-decoration: none !important; box-shadow: 0 6px 20px rgba(0, 0, 0, .2); font-weight: 600; }
.ibis-sc-qfab[hidden] { display: none; }
.ibis-sc-quote-count { background: var(--ibis-sc-q-accent); }
.ibis-sc-quote-link.is-counter .ibis-sc-quote-count { background: none; color: inherit; font-weight: 700; min-width: 0; padding: 0; }
.ibis-sc-quote-count[hidden] { display: none; }

/* Pagina della richiesta (dalla 2.6.1): elenco a schede, disposizione, modulo */
.ibis-sc-quote__wrap { display: grid; gap: 2.5em; }
.ibis-sc-quote { container-type: inline-size; container-name: ibis-sc-quote; }
.ibis-sc-quote__col { min-width: 0; container-type: inline-size; }
/* Affiancati solo se c'è davvero spazio (larghezza del contenuto, non dello schermo). */
@container ibis-sc-quote (min-width: 860px) { .ibis-sc-quote__wrap.is-side { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; } }
.ibis-sc-quote__wrap .ibis-sc-quote__form { margin-top: 0; }
.ibis-sc-quote__intro p:first-child { margin-top: 0; }
.ibis-sc-ql__title { margin: 0 0 .8em; font-size: 1.3em; }
.ibis-sc-ql__count { font-weight: 400; opacity: .6; }
.ibis-sc-ql { list-style: none; margin: 0 0 1em; padding: 0; border-top: 1px solid rgba(0, 0, 0, .1); }
.ibis-sc-ql__item { display: grid; grid-template-columns: var(--ibis-sc-ql-img, 80px) minmax(0, 1fr) auto auto; gap: 1em; align-items: center; margin: 0; padding: 1em 0; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.ibis-sc-ql.no-images .ibis-sc-ql__item { grid-template-columns: minmax(0, 1fr) auto auto; }
.ibis-sc-ql__img img { display: block; width: var(--ibis-sc-ql-img, 80px); height: var(--ibis-sc-ql-img, 80px); max-width: none; object-fit: cover; border-radius: 6px; }
.ibis-sc-ql__info { min-width: 0; overflow-wrap: anywhere; }
.ibis-sc-ql__name { display: block; font-weight: 600; text-decoration: none; line-height: 1.3; }
.ibis-sc-ql__sku, .ibis-sc-ql__price { display: block; margin-top: .2em; font-size: .88em; opacity: .75; }
.ibis-sc-ql__info dl { margin: .3em 0 0; font-size: .88em; }
.ibis-sc-ql__qty { display: inline-flex; align-items: stretch; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; overflow: hidden; }
.ibis-sc-ql__qty input.qty { width: 3.2em; margin: 0; padding: .4em 0; border: 0 !important; border-radius: 0 !important; text-align: center; -moz-appearance: textfield; background: transparent; }
.ibis-sc-ql__qty input.qty::-webkit-inner-spin-button, .ibis-sc-ql__qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ibis-sc-ql__step { width: 2.2em; min-height: 2.4em; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: rgba(0, 0, 0, .05) !important; color: inherit !important; font-size: 1.1em; line-height: 1; cursor: pointer; box-shadow: none !important; }
.ibis-sc-ql__step:hover { background: rgba(0, 0, 0, .12) !important; }
.ibis-sc-ql__remove { display: inline-flex; align-items: center; justify-content: center; width: 2.4em; height: 2.4em; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: inherit !important; opacity: .55; cursor: pointer; box-shadow: none !important; }
.ibis-sc-ql__remove:hover, .ibis-sc-ql__remove:focus { opacity: 1; background: rgba(179, 45, 46, .1) !important; color: #b32d2e !important; }
.ibis-sc-ql__actions { display: flex; flex-wrap: wrap; gap: .8em 1.2em; align-items: center; }
.ibis-sc-ql__actions .button { margin: 0; }
.ibis-sc-ql__clear { padding: 0 !important; border: 0 !important; background: transparent !important; color: inherit !important; text-decoration: underline; opacity: .7; cursor: pointer; box-shadow: none !important; font-size: .92em; }
.ibis-sc-quote__list.has-js .ibis-sc-ql__update { display: none; }
.ibis-sc-quote__list.is-loading { opacity: .55; pointer-events: none; transition: opacity .15s; }
.ibis-sc-qf-grid.is-one { grid-template-columns: 1fr; }
.ibis-sc-qf-grid.is-one .ibis-sc-qf.is-half { grid-column: 1 / -1; }
.ibis-sc-quote__empty { padding: 2em 1em; text-align: center; }
@container (max-width: 480px) {
	.ibis-sc-ql__item { grid-template-columns: calc(var(--ibis-sc-ql-img, 80px) * .8) minmax(0, 1fr) auto; grid-template-areas: "img info remove" "img qty qty"; }
	.ibis-sc-ql.no-images .ibis-sc-ql__item { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "info remove" "qty qty"; }
	.ibis-sc-ql__img { grid-area: img; align-self: start; }
	.ibis-sc-ql__img img { width: calc(var(--ibis-sc-ql-img, 80px) * .8); height: calc(var(--ibis-sc-ql-img, 80px) * .8); }
	.ibis-sc-ql__info { grid-area: info; }
	.ibis-sc-ql__qty { grid-area: qty; justify-self: start; }
	.ibis-sc-ql__remove { grid-area: remove; align-self: start; }
}
