/**
 * Sofyia Theme — WooCommerce CSS
 * Caricato solo nelle pagine WooCommerce
 *
 * @package SofyiaTheme
 */

/* ============================================================
   SHOP ARCHIVE
   ============================================================ */
.woocommerce-page .site-main,
.woocommerce .site-main {
	background: var(--sofyia-cream);
	padding: 40px 0 80px;
}

.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-sans);
	font-size: 15px; /* +15%: 13 → 15 */
	padding: 8px 12px;
	background: var(--sofyia-white);
	color: var(--sofyia-text);
}

/* Product cards nell'archivio */
.woocommerce ul.products li.product a img {
	transition: transform 0.5s ease;
}

.woocommerce ul.products li.product:hover a img {
	transform: scale(1.04);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
	overflow: hidden;
}

/* Star rating */
.woocommerce .star-rating span::before {
	color: var(--sofyia-gold);
}

/* ============================================================
   PRODUCT CARD LOOP — refinement
   ============================================================ */

/* Titolo */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.05rem;
	padding: 16px 18px 0;
	margin-bottom: 4px;
}

/* Prezzo */
.woocommerce ul.products li.product .price {
	font-size: 1.15rem;
	font-weight: 500;
	color: var(--sofyia-text);
	padding: 0 18px;
	margin-top: 0;
	margin-bottom: 14px;
}

/* Bottone aggiungi al carrello */
.woocommerce ul.products li.product .button {
	margin: 0 18px 18px;
	width: calc(100% - 36px);
	border-radius: var(--radius-sm);
	text-align: center;
}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */
.single-product .woocommerce-product-gallery {
	border-radius: var(--radius-md);
	overflow: hidden;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	border-radius: var(--radius-md);
}

.single-product .entry-summary .product_title {
	font-family: var(--font-serif);
	font-size: 2.3rem; /* +15%: 2 → 2.3 */
	font-weight: 300;
	margin-bottom: 0.5rem;
}

.single-product .entry-summary .woocommerce-product-rating {
	margin-bottom: 1rem;
}

.single-product .entry-summary p.price {
	font-family: var(--font-serif);
	font-size: 2.1rem; /* +15%: 1.8 → 2.1 */
	color: var(--sofyia-text);
	margin-bottom: 1.5rem;
}

.single-product .entry-summary .woocommerce-product-details__short-description {
	color: var(--sofyia-text-light);
	font-size: 16px; /* +15%: 15 → 17, capped a 16 per design */
	margin-bottom: 1.5rem;
	line-height: 1.8;
}

/* Qty input */
.woocommerce .quantity .qty {
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-sm);
	font-family: var(--font-sans);
	font-size: 17px; /* +15%: 15 → 17 */
	text-align: center;
	color: var(--sofyia-text);
	padding: 10px;
	width: 70px;
}

/* Add to cart */
.single-product .single_add_to_cart_button {
	background: var(--sofyia-gold) !important;
	color: var(--sofyia-white) !important;
	font-size: 13px !important; /* +15%: 11 → 13 */
	font-weight: 600 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	padding: 14px 32px !important;
	border-radius: var(--radius-sm) !important;
	border: none !important;
	transition: var(--transition) !important;
}

.single-product .single_add_to_cart_button:hover {
	background: var(--sofyia-gold-dark) !important;
}

/* Tabs prodotto */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 2px solid var(--sofyia-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--font-sans);
	font-size: 15px; /* +15%: 13 → 15 */
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--sofyia-text-light);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--sofyia-gold);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
	background: var(--sofyia-gold);
}

/* Prodotti correlati */
.related.products h2,
.upsells.products h2 {
	font-family: var(--font-serif);
	font-size: 2.1rem; /* +15%: 1.8 → 2.1 */
	font-weight: 400;
	text-align: center;
	margin-bottom: 2rem;
}

/* ============================================================
   CART
   ============================================================ */
.woocommerce-cart-form table.shop_table {
	border: none;
}

.woocommerce-cart-form table.shop_table th {
	font-family: var(--font-sans);
	font-size: 13px; /* +15%: 11 → 13 */
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sofyia-text-light);
	border: none;
	padding: 16px 12px;
	background: var(--sofyia-cream);
}

.woocommerce-cart-form table.shop_table td {
	border: none;
	border-top: 1px solid var(--sofyia-border);
	padding: 20px 12px;
	vertical-align: middle;
}

.woocommerce-cart-form .product-name a {
	font-family: var(--font-serif);
	font-size: 1.15rem; /* +15%: 1 → 1.15 */
	color: var(--sofyia-text);
}

.cart-collaterals .cart_totals {
	background: var(--sofyia-white);
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-md);
	padding: 30px;
}

.cart_totals h2 {
	font-family: var(--font-serif);
	font-size: 1.6rem; /* +15%: 1.4 → 1.6 */
	font-weight: 400;
	margin-bottom: 1.5rem;
}

/* Coupon */
.woocommerce-cart .coupon .input-text {
	border: 1px solid var(--sofyia-border);
	border-radius: var(--radius-sm);
	padding: 10px 14px;
	font-family: var(--font-sans);
	font-size: 16px; /* +15%: 14 → 16 */
}

/* ============================================================
   CHECKOUT
   ============================================================ */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-serif);
	font-size: 1.6rem; /* +15%: 1.4 → 1.6 */
	font-weight: 400;
	margin-bottom: 1.5rem;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--sofyia-border);
}

.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea {
	border: 1px solid var(--sofyia-border) !important;
	border-radius: var(--radius-sm) !important;
	font-family: var(--font-sans) !important;
	font-size: 16px !important; /* +15%: 14 → 16 */
	padding: 12px 16px !important;
	background: var(--sofyia-white) !important;
	color: var(--sofyia-text) !important;
	transition: var(--transition) !important;
}

.woocommerce-checkout .woocommerce-input-wrapper input:focus {
	border-color: var(--sofyia-gold) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(196, 149, 106, 0.15) !important;
}

.woocommerce-checkout label {
	font-size: 15px; /* +15%: 13 → 15 */
	font-weight: 500;
	color: var(--sofyia-text);
	margin-bottom: 6px;
}

#place_order {
	width: 100%;
	padding: 16px !important;
	font-size: 15px !important; /* +15%: 13 → 15 */
	letter-spacing: 2px !important;
}

/* Order review table */
.woocommerce-checkout #order_review table.shop_table {
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--sofyia-border);
}

/* ============================================================
   MY ACCOUNT
   ============================================================ */

/* Layout generale — grid sidebar + contenuto */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 40px;
	max-width: 1100px;
	margin: 60px auto;
	padding: 0 24px;
	background: transparent;
	box-shadow: none;
}

/* Sidebar navigazione */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--sofyia-white);
	border-radius: var(--radius-md);
	padding: 24px;
	box-shadow: var(--shadow-card);
	height: fit-content;
	position: sticky;
	top: 100px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid var(--sofyia-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 12px;
	font-family: var(--font-sans);
	font-size: 14px;
	color: var(--sofyia-text-light);
	text-decoration: none;
	border-radius: var(--radius-sm);
	transition: var(--transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--sofyia-gold);
	background: var(--sofyia-cream);
	padding-left: 16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--sofyia-gold);
	font-weight: 500;
	background: var(--sofyia-cream);
}

/* Contenuto principale */
.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--sofyia-white);
	border-radius: var(--radius-md);
	padding: 36px 40px;
	box-shadow: var(--shadow-card);
}

/* Titoli sezione */
.woocommerce-account .woocommerce-MyAccount-content h2 {
	font-family: var(--font-serif) !important;
	font-size: 1.4rem !important;
	font-weight: 300 !important;
	letter-spacing: 0.5px !important;
	color: var(--sofyia-text) !important;
	margin-bottom: 20px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--sofyia-border) !important;
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--font-serif) !important;
	font-size: 1.15rem !important;
	font-weight: 300 !important;
	color: var(--sofyia-text) !important;
	margin-bottom: 16px !important;
}

/* Testo paragrafo */
.woocommerce-account .woocommerce-MyAccount-content p {
	font-size: 15px;
	color: var(--sofyia-text-light);
	line-height: 1.8;
}

/* Link inline */
.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--sofyia-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Tabella ordini */
.woocommerce-account .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-account .woocommerce-orders-table th {
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--sofyia-text-light);
	padding: 12px 16px;
	background: var(--sofyia-cream);
	border-bottom: 2px solid var(--sofyia-border);
	text-align: left;
}

.woocommerce-account .woocommerce-orders-table td {
	padding: 16px;
	border-bottom: 1px solid var(--sofyia-border);
	font-size: 14px;
	color: var(--sofyia-text);
}

.woocommerce-account .woocommerce-orders-table tr:last-child td {
	border-bottom: none;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-button {
	font-size: 11px !important;
	padding: 8px 16px !important;
	letter-spacing: 1px !important;
}

/* Form indirizzi e dettagli account */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm select {
	border: 1px solid var(--sofyia-border) !important;
	border-radius: var(--radius-sm) !important;
	font-family: var(--font-sans) !important;
	font-size: 14px !important;
	padding: 11px 14px !important;
	color: var(--sofyia-text) !important;
	background: var(--sofyia-cream) !important;
	transition: var(--transition) !important;
	width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-content input:focus {
	border-color: var(--sofyia-gold) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(196, 149, 106, 0.15) !important;
	background: var(--sofyia-white) !important;
}

.woocommerce-account .woocommerce-MyAccount-content label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--sofyia-text);
	margin-bottom: 6px;
	display: block;
}

/* Badge status ordine */
.woocommerce-account .wc-item-meta,
.woocommerce-account mark.order-status {
	background: var(--sofyia-cream) !important;
	color: var(--sofyia-gold) !important;
	border-radius: 20px !important;
	padding: 4px 12px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
}

/* Pagina ordini — nessun ordine presente */
.woocommerce-account .woocommerce-message--info,
.woocommerce-account .woocommerce-info {
	background: var(--sofyia-cream) !important;
	border: 1px solid var(--sofyia-border) !important;
	border-top: none !important;
	border-radius: var(--radius-sm) !important;
	color: var(--sofyia-text-light) !important;
	font-size: 14px !important;
	padding: 16px 20px !important;
	box-shadow: none !important;
}

.woocommerce-account .woocommerce-info::before {
	display: none !important;
}

.woocommerce-account .woocommerce-info .button {
	font-size: 11px !important;
	padding: 10px 20px !important;
	letter-spacing: 1.5px !important;
	float: none !important;
	display: inline-block !important;
	margin-top: 12px !important;
}

/* Pagina download — messaggio minimal */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message {
	font-size: 14px !important;
	color: var(--sofyia-text-light) !important;
	background: var(--sofyia-cream) !important;
	border: 1px solid var(--sofyia-border) !important;
	border-top: none !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
	padding: 16px 20px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
	display: none !important;
}

/* Responsive mobile */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		gap: 20px;
		margin: 30px auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 24px 20px;
	}
}

/* ============================================================
   NOTICES & MESSAGES
   ============================================================ */
.woocommerce-message {
	background: var(--sofyia-white);
	border-top: 3px solid var(--sofyia-gold);
	border-radius: 0 0 var(--radius-sm) var(--radius-sm);
	font-size: 16px; /* +15%: 14 → 16 */
}

.woocommerce-error {
	background: var(--sofyia-white);
	border-top: 3px solid #e74c3c;
}

.woocommerce-info {
	border-top: 3px solid var(--sofyia-gold-light);
}
