/*
Theme Name: Sneaker Shop
Theme URI: https://example.com/
Author: [NOME NEGOZIO]
Description: Tema a blocchi minimale per un negozio di sneakers su WooCommerce. Ispirato al design pulito dei temi e-commerce moderni: card prodotto grandi, tipografia Geist, tutto modificabile da Aspetto → Editor.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sneaker-shop
Tags: e-commerce, block-patterns, full-site-editing, one-column, wide-blocks
*/

/* ---------- Base ---------- */
html { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:where(.wp-site-blocks) > main { margin-block-start: 0; }
img { height: auto; }

/* Etichette piccole in maiuscolo ("Nuova collezione", "Il marchio") */
.is-style-eyebrow,
.ss-eyebrow {
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Titolo della hero: limitato in larghezza (mai in altezza) */
.ss-hero-title { max-width: 820px; }

/* ---------- Barra annunci + header ---------- */
.ss-announcement p { margin: 0; }
.ss-header .wp-block-site-title { margin: 0; }
.ss-header .wp-block-site-title a { color: inherit; }
.ss-header .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	padding: 0;
	width: 44px;
	height: 44px;
	border: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ss-header .wp-block-search__button svg { width: 22px; height: 22px; }
.ss-header .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.ss-header .wp-block-search.wp-block-search__searchfield-hidden .wp-block-search__input { border: 0; }
.ss-header .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 0.55rem 1rem;
	font: inherit;
}
.ss-header .wc-block-customer-account a,
.ss-header .wc-block-mini-cart__button {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--contrast);
}
.ss-header .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-size: 11px;
}

/* ---------- Card prodotto (home, collezioni, correlati) ---------- */
.wc-block-product-template .wc-block-components-product-image,
.wc-block-product-template .wp-block-woocommerce-product-image {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius);
	overflow: hidden;
	margin-bottom: 0.75rem !important;
}
.wc-block-product-template .wc-block-components-product-image img {
	transition: transform 0.5s ease;
	/* Le foto su fondo bianco si fondono con il grigio della card */
	mix-blend-mode: multiply;
}
.wc-block-product-template li:hover .wc-block-components-product-image img {
	transform: scale(1.03);
}
.wc-block-product-template .wp-block-post-title {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.35;
	margin: 0 0 0.15rem !important;
}
.wc-block-product-template .wp-block-post-title a { color: inherit; }
.wc-block-product-template .wc-block-components-product-price {
	font-size: var(--wp--preset--font-size--medium);
}
.wc-block-product-template del { color: var(--wp--preset--color--muted); }
.wc-block-product-template ins { text-decoration: none; }

/* Badge "In offerta" a pillola */
.wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--base) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	padding: 4px 10px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin: 12px !important;
}

/* ---------- Pagina prodotto ---------- */
.ss-product-info .wp-block-post-title { margin-top: 0.25rem; }
.ss-product-info .wc-block-components-product-price,
.ss-product-info .wp-block-woocommerce-product-price { font-size: var(--wp--preset--font-size--large); }

/* Galleria classica: immagine grande su fondo chiaro */
.ss-gallery .woocommerce-product-gallery__wrapper,
.ss-gallery .woocommerce-product-gallery__image,
.ss-gallery .flex-viewport {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius);
}
.ss-gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin: 8px 0 0 !important;
	padding: 0 !important;
}
.ss-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; list-style: none; }
.ss-gallery .flex-control-thumbs img {
	border-radius: var(--wp--custom--radius);
	background: var(--wp--preset--color--surface);
	opacity: 0.65;
}
.ss-gallery .flex-control-thumbs img.flex-active,
.ss-gallery .flex-control-thumbs img:hover { opacity: 1; }
.ss-gallery .woocommerce-product-gallery__trigger { z-index: 2; }
.ss-gallery .woocommerce-product-gallery__image img,
.ss-gallery .flex-control-thumbs img { mix-blend-mode: multiply; }

/* Selettore taglie a pillole (Add to Cart + Options)
   Il gruppo che contiene le taglie è una colonna flex che stringe i figli al contenuto:
   qui li allarghiamo a tutta la colonna, altrimenti la griglia va su una sola colonna. */
.wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-selector,
.wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute,
.wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute > .wp-block-group,
.wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-product-filter-chips,
.wp-block-woocommerce-add-to-cart-with-options .wc-block-product-filter-chips__items {
	width: 100%;
	align-self: stretch;
	box-sizing: border-box;
}
.wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-product-filter-chips { font-size: 1rem; }
.wp-block-woocommerce-add-to-cart-with-options .wc-block-product-filter-chips__items {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
	gap: 8px;
}
.wp-block-woocommerce-add-to-cart-with-options .wc-block-product-filter-chips__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 0 0.5rem;
	border: 1px solid #CFCDC5;
	border-radius: var(--wp--custom--radius);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}
.wp-block-woocommerce-add-to-cart-with-options .wc-block-product-filter-chips__item:hover:not(:disabled) {
	border-color: var(--wp--preset--color--contrast);
}
.wp-block-woocommerce-add-to-cart-with-options .wc-block-product-filter-chips__item[aria-checked="true"] {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--contrast);
}
.wp-block-woocommerce-add-to-cart-with-options .wc-block-product-filter-chips__item:disabled {
	opacity: 1;
	color: #8A887F;
	border-color: var(--wp--preset--color--line);
}
.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name {
	font-weight: 500;
}

/* Quantità + "Aggiungi al carrello" sulla stessa riga, alti 56px.
   Il contenitore del bottone di WooCommerce è una colonna flex: la larghezza flessibile
   va data solo al contenitore, mai al bottone interno (altrimenti diventa alto, non largo). */
.wp-block-woocommerce-add-to-cart-with-options .wp-block-group:has(> .wp-block-woocommerce-product-button) {
	align-items: center;
	gap: 0.75rem;
}
.wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-product-button {
	flex: 1 1 200px;
	min-width: 0;
	align-items: stretch;
}
.wp-block-woocommerce-add-to-cart-with-options .wp-block-woocommerce-product-button .wp-block-button__link,
.wp-block-woocommerce-add-to-cart-with-options button.single_add_to_cart_button {
	flex: none;
	width: 100%;
	height: 56px;
	min-height: 56px;
	padding-top: 0;
	padding-bottom: 0;
	align-items: center;
	font-size: 1rem;
	box-sizing: border-box;
}
/* Finché non scegli una taglia WooCommerce disattiva il bottone: lo mostriamo grigio ma leggibile */
.wp-block-woocommerce-add-to-cart-with-options .wp-block-button__link:disabled,
.wp-block-woocommerce-add-to-cart-with-options .wp-block-button__link.disabled,
.wp-block-woocommerce-add-to-cart-with-options .wp-block-button__link[aria-disabled="true"] {
	background: var(--wp--preset--color--muted);
	opacity: 1;
	cursor: not-allowed;
}
/* Selettore quantità a pillola, stessa altezza del bottone */
.wp-block-woocommerce-add-to-cart-with-options .wc-block-add-to-cart-with-options__quantity-selector {
	flex: none;
	height: 56px;
	border: 1px solid #CFCDC5;
	border-radius: 999px;
	box-sizing: border-box;
	overflow: hidden;
}
.wp-block-woocommerce-add-to-cart-with-options .wc-block-add-to-cart-with-options__quantity-selector .wc-block-components-quantity-selector {
	height: 100%;
	align-items: center;
}
.wp-block-woocommerce-add-to-cart-with-options .wc-block-components-quantity-selector::after { display: none; }
.wp-block-woocommerce-add-to-cart-with-options .wc-block-components-quantity-selector__button {
	min-width: 44px;
	height: 100%;
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--contrast);
	font-size: 1.1rem;
	cursor: pointer;
}

/* Fallback se usi il vecchio blocco "Modulo aggiungi al carrello" */
.ss-product-info .variations select {
	min-height: 48px;
	padding: 0 1rem;
	border: 1px solid #CFCDC5;
	border-radius: var(--wp--custom--radius);
	font: inherit;
	background: var(--wp--preset--color--base);
}
.ss-product-info form.cart .single_add_to_cart_button {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-radius: 999px;
	min-height: 56px;
	padding: 0 2rem;
	font: inherit;
	font-weight: 500;
}

/* Accordion (Descrizione, Spedizioni…) */
.wp-block-details summary {
	cursor: pointer;
	font-weight: 500;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 32px;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1;
}
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--muted); }
.ss-accordion > .wp-block-details:first-child {
	border-top: 1px solid var(--wp--preset--color--line);
}

/* Righe con icona (spedizione, resi, pagamenti) */
.ss-icon-row svg { flex: none; width: 22px; height: 22px; }
.ss-icon-row p { margin: 0; }

/* ---------- Collezione ---------- */
.ss-collection-toolbar {
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: 0.75rem;
}
.ss-collection-toolbar .woocommerce-ordering select {
	border: 0;
	background: transparent;
	font: inherit;
	padding: 0.5rem 0;
	cursor: pointer;
}
.ss-collection-toolbar .woocommerce-result-count { margin: 0; color: var(--wp--preset--color--muted); }
.wp-block-query-pagination { gap: 0.5rem; }
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
}
.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}
.ss-category-chips .wp-block-button__link {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	padding: 0.55rem 1.1rem;
	font-size: var(--wp--preset--font-size--small);
}
.ss-category-chips .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* ---------- Tile categorie in home ---------- */
.ss-tile.wp-block-cover { border-radius: var(--wp--custom--radius); overflow: hidden; }
.ss-tile a { color: inherit; }
.ss-tile a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* ---------- Storia del marchio ---------- */
.ss-story { border-radius: var(--wp--custom--radius); overflow: hidden; }
.ss-story .wp-block-media-text__media {
	min-height: 520px;
	background-color: var(--wp--preset--color--surface-2);
}
@media (max-width: 600px) {
	.ss-story .wp-block-media-text__media { min-height: 320px; }
}

/* ---------- Footer ---------- */
.ss-footer a { color: var(--wp--preset--color--on-dark); }
.ss-footer a:hover { color: var(--wp--preset--color--base); }
.ss-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.6rem; }

/* ---------- Breadcrumb ---------- */
.woocommerce-breadcrumb,
.wc-block-breadcrumbs {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--muted);
}
.wc-block-breadcrumbs a { color: var(--wp--preset--color--muted); }

/* ---------- Avvisi WooCommerce ---------- */
.wc-block-components-notice-banner { border-radius: var(--wp--custom--radius); }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.ss-header-nav { order: 3; }
	.ss-hide-mobile { display: none !important; }
}

/* =========================================================
   1.1 — Trust badge, recensioni, carrello e checkout
   ========================================================= */

/* ---------- Trust badge (sigilli) ---------- */
.ss-badges { color: var(--wp--preset--color--contrast); }
.ss-badges .ss-badge {
	display: block;
	width: clamp(92px, 26vw, 116px);
	height: auto;
}
.ss-badges .ss-badge text { font-family: var(--wp--preset--font-family--geist); }
.ss-product-info .ss-badges { padding-block: 0.5rem; }
.ss-checkout .ss-badges { margin-top: var(--wp--preset--spacing--50); }

/* ---------- Stelline sotto il titolo ---------- */
.ss-product-stars { margin: 0.15rem 0 0 !important; }
.ss-product-stars .wc-block-components-product-rating__container {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.wc-block-components-product-rating__stars,
.wc-block-components-product-rating__stars span,
.wc-block-components-product-rating-stars__stars,
.star-rating,
.star-rating span { color: var(--wp--preset--color--contrast); }
.wc-block-components-product-rating__link,
.wc-block-components-product-rating__reviews_count {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ---------- Sezione recensioni ---------- */
.ss-reviews .wp-block-woocommerce-product-reviews-title {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 500;
	letter-spacing: -0.025em;
	margin-bottom: 1rem;
}
.ss-reviews .wp-block-woocommerce-product-review-template {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	column-gap: var(--wp--preset--spacing--40);
}
.ss-reviews .wp-block-woocommerce-product-review-template > li { margin: 0; }
.ss-review .wp-block-woocommerce-product-review-content,
.ss-review .wp-block-woocommerce-product-review-content p { margin: 0.25rem 0 0; line-height: 1.6; }
.ss-reviews .wp-block-woocommerce-product-reviews-pagination { margin-top: 1rem; gap: 0.5rem; }

/* Modulo "Scrivi una recensione" */
.ss-reviews .ss-review-form,
.ss-reviews .wp-block-woocommerce-product-review-form {
	margin-top: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius);
}
.ss-reviews .comment-reply-title {
	display: block;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	margin-bottom: 0.75rem;
}
.ss-reviews .comment-form label { display: block; font-weight: 500; margin-bottom: 0.35rem; }
.ss-reviews .comment-form input[type="text"],
.ss-reviews .comment-form input[type="email"],
.ss-reviews .comment-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	border: 1px solid #CFCDC5;
	border-radius: var(--wp--custom--radius);
	background: var(--wp--preset--color--base);
	font: inherit;
}
.ss-reviews .comment-form .form-submit input[type="submit"],
.ss-reviews .comment-form .form-submit button,
.ss-reviews .comment-form .wp-block-button__link {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border: 0;
	border-radius: 999px;
	min-height: 48px;
	padding: 0 1.75rem;
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}
.ss-reviews p.stars a { color: var(--wp--preset--color--contrast); }

/* ---------- Campi e bottoni comuni a carrello, checkout e mini-carrello ---------- */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border-color: #CFCDC5 !important;
	border-radius: var(--wp--custom--radius) !important;
	background-color: var(--wp--preset--color--base) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--wp--preset--color--contrast) !important;
	box-shadow: 0 0 0 1px var(--wp--preset--color--contrast) !important;
}
.wc-block-components-button:not(.is-link).contained,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-mini-cart__footer-checkout {
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	border: 0 !important;
	border-radius: 999px !important;
	min-height: 56px;
	font-weight: 500 !important;
	font-size: 1rem !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-mini-cart__footer-checkout:hover {
	background: var(--wp--preset--color--accent) !important;
}
.wc-block-mini-cart__footer-cart.wc-block-components-button {
	border-radius: 999px !important;
	min-height: 56px;
	border: 1px solid var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--contrast) !important;
	background: transparent !important;
}
.wc-block-components-order-summary-item__image img,
.wc-block-cart-item__image img,
.wc-block-mini-cart__products-table img {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius);
	mix-blend-mode: multiply;
}

/* ---------- Checkout ---------- */
.ss-checkout-header .wp-block-site-title { margin: 0; }
.ss-checkout-header .wp-block-site-title a { color: inherit; }
.ss-checkout-footer p { margin: 0; }
.ss-checkout-footer a { color: var(--wp--preset--color--muted); text-decoration: underline; text-underline-offset: 2px; }
.ss-checkout .wp-block-woocommerce-checkout { margin-top: 0; }

.wc-block-components-checkout-step__title {
	font-size: var(--wp--preset--font-size--large) !important;
	font-weight: 500 !important;
	letter-spacing: -0.015em;
}
.wc-block-components-checkout-step__description { color: var(--wp--preset--color--muted); }

/* Riquadro riepilogo ordine a destra */
.wc-block-checkout__sidebar,
.wc-block-cart__sidebar {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius);
	padding: var(--wp--preset--spacing--30) !important;
	align-self: flex-start;
}
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar .wc-block-components-totals-wrapper { border-color: var(--wp--preset--color--line); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

/* Opzioni di spedizione e pagamento */
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	border-radius: var(--wp--custom--radius);
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--contrast) !important;
}
.wc-block-components-radio-control__input:checked {
	border-color: var(--wp--preset--color--contrast) !important;
}
.wc-block-components-radio-control__input:checked::before {
	background: var(--wp--preset--color--contrast) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--wp--preset--color--base); }

.wc-block-components-checkout-return-to-cart-button { color: var(--wp--preset--color--muted); }

/* ---------- Carrello ---------- */
.wc-block-cart .wc-block-cart-items__header { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.06em; }
.wc-block-cart-item__product .wc-block-components-product-name { font-weight: 500; color: var(--wp--preset--color--contrast); }

/* ---------- Mini-carrello (pannello laterale) ---------- */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	letter-spacing: -0.015em;
}
.wc-block-mini-cart__drawer .wc-block-components-product-name { font-weight: 500; color: var(--wp--preset--color--contrast); }
