/*
 * Macrigi 2027 — Wholesale Order Form presentation adapter
 * Scope: pages containing [wwof_product_listing].
 * Business logic (products, variations, pricing tiers, MOQ, increments,
 * quantity and add-to-cart) remains owned by Wholesale Order Form.
 */

@media (max-width: 767px) {
	.macrigi-wwof-order-form .form-header.wwof-section .wwof-row {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		width: 100% !important;
	}

	.macrigi-wwof-order-form .form-header.wwof-section .wwof-column {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.macrigi-wwof-order-form .form-header.wwof-section :is(
		.field-element,
		.search-input-box,
		.ant-input,
		.ant-select,
		.ant-space,
		.ant-space-item,
		button
	) {
		width: 100% !important;
		max-width: 100% !important;
	}

	.macrigi-wwof-order-form .form-header.wwof-section button {
		min-height: 44px !important;
		background: var(--mc-primary, #102E3A) !important;
		border-color: var(--mc-primary, #102E3A) !important;
		color: #fff !important;
	}

	/* Only the OUTER WWOF products table becomes cards. The direct-child path
	   deliberately prevents the nested quantity-pricing table from inheriting
	   the card display rules. */
	.macrigi-wwof-order-form .wwof-order-form {
		width: 100% !important;
		max-width: 100% !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content {
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		border: 0 !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> thead {
		display: none !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody {
		display: block !important;
		width: 100% !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row {
		box-sizing: border-box !important;
		display: grid !important;
		grid-template-columns: 92px minmax(0, 1fr) !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 14px !important;
		padding: 12px !important;
		overflow: hidden !important;
		background: #fff !important;
		border: 1px solid #DDE6E9 !important;
		border-radius: 12px !important;
		box-shadow: 0 3px 12px rgba(16, 46, 58, 0.07) !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td.ant-table-cell {
		display: block !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		padding: 5px 8px !important;
		overflow-wrap: anywhere !important;
		background: transparent !important;
		border: 0 !important;
	}

	/* Image */
	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td:nth-child(1) {
		grid-column: 1 !important;
		grid-row: 1 / span 3 !important;
		padding: 0 8px 0 0 !important;
	}

	.macrigi-wwof-order-form .product-image-box .ant-image,
	.macrigi-wwof-order-form .product-image-box img {
		width: 84px !important;
		height: 84px !important;
		max-width: 84px !important;
	}

	.macrigi-wwof-order-form .product-image-box img {
		object-fit: cover !important;
		border-radius: 8px !important;
	}

	/* Product code */
	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td:nth-child(2) {
		grid-column: 2 !important;
		grid-row: 2 !important;
		color: #66747C !important;
		font-size: 12px !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td:nth-child(2)::before {
		content: "Cod. prodotto";
		display: block;
		font-weight: 700;
		color: var(--mc-primary, #102E3A);
	}

	/* Product name + variation */
	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td:nth-child(3) {
		grid-column: 2 !important;
		grid-row: 1 !important;
		color: var(--mc-primary, #102E3A) !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
	}

	.macrigi-wwof-order-form .product-name-box a {
		color: var(--mc-primary, #102E3A) !important;
	}

	.macrigi-wwof-order-form .product-name-box .ant-select {
		width: 100% !important;
		max-width: 100% !important;
		margin-top: 6px !important;
	}

	/* Availability */
	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td:nth-child(4) {
		grid-column: 2 !important;
		grid-row: 3 !important;
		font-size: 13px !important;
	}

	/* Price, quantity and add-to-cart occupy the full card width. */
	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td:nth-child(n+5) {
		grid-column: 1 / -1 !important;
	}

	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row
	> td:nth-child(5) {
		margin-top: 8px !important;
		padding-top: 10px !important;
		border-top: 1px solid #E4E9EB !important;
	}

	.macrigi-wwof-order-form :is(
		.product-price-box,
		.product-price-box .product-price,
		.quantity-based-pricing-table
	) {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Keep the NESTED tier-pricing table as a real compact table. */
	.macrigi-wwof-order-form .quantity-based-pricing-table {
		margin-top: 8px !important;
		overflow: hidden !important;
		border: 1px solid #E4E9EB !important;
		border-radius: 10px !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table table {
		display: table !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		table-layout: fixed !important;
		border: 0 !important;
		margin: 0 !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table thead {
		display: table-header-group !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table tbody {
		display: table-row-group !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table tr {
		display: table-row !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table th,
	.macrigi-wwof-order-form .quantity-based-pricing-table td {
		display: table-cell !important;
		width: 33.333% !important;
		min-width: 0 !important;
		max-width: none !important;
		padding: 8px 4px !important;
		font-size: 12px !important;
		line-height: 1.3 !important;
		text-align: center !important;
		vertical-align: middle !important;
		white-space: normal !important;
		border: 0 !important;
		border-bottom: 1px solid #EDF1F3 !important;
		background: transparent !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table tr:last-child td {
		border-bottom: 0 !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table th {
		color: var(--mc-primary, #102E3A) !important;
		font-weight: 750 !important;
		background: #F7FAFB !important;
	}

	.macrigi-wwof-order-form .quantity-based-pricing-table td::before,
	.macrigi-wwof-order-form .quantity-based-pricing-table th::before {
		display: none !important;
		content: none !important;
	}

	.macrigi-wwof-order-form .quantity-input {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
		margin: 8px 0 !important;
	}


	.macrigi-wwof-order-form .quantity-input .ant-input-number {
		width: 120px !important;
		max-width: 45% !important;
	}

	.macrigi-wwof-order-form :is(
		.add-to-cart-btn-box,
		.add-to-cart-btn-box .ant-space,
		.add-to-cart-btn-box .ant-space-item,
		.add-to-cart-btn
	) {
		width: 100% !important;
		max-width: 100% !important;
	}

	.macrigi-wwof-order-form .add-to-cart-btn {
		min-height: 46px !important;
		padding: 10px 14px !important;
		white-space: normal !important;
		background: var(--mc-primary, #102E3A) !important;
		border-color: var(--mc-primary, #102E3A) !important;
		color: #fff !important;
		border-radius: 8px !important;
	}

	.macrigi-wwof-order-form .add-to-cart-btn:hover,
	.macrigi-wwof-order-form .add-to-cart-btn:focus {
		background: #12333D !important;
		border-color: #12333D !important;
		color: #fff !important;
	}
}

@media (max-width: 420px) {
	.macrigi-wwof-order-form .wwof-order-form
	> .ant-spin-nested-loading
	> .ant-spin-container
	> .ant-table
	> .ant-table-container
	> .ant-table-content
	> table
	> tbody
	> tr.ant-table-row {
		grid-template-columns: 78px minmax(0, 1fr) !important;
		padding: 10px !important;
	}

	.macrigi-wwof-order-form .product-image-box .ant-image,
	.macrigi-wwof-order-form .product-image-box img {
		width: 70px !important;
		height: 70px !important;
		max-width: 70px !important;
	}
}

/* =========================================================
   MACRIGI 2027 — WWOF ACCESS GATE
   Integrated Core presentation. WWOF remains owner of permissions/login logic.
   ========================================================= */

/* =========================================================
   CONTENITORE GENERALE
   ========================================================= */
.macrigi-wwof-order-form
.wwof-restricted.macrigi-wholesale-gate-ready {
    box-sizing: border-box !important;
    width: calc(100% - 48px) !important;
    max-width: 920px !important;
    margin: 36px auto 48px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* =========================================================
   CARD
   ========================================================= */
.macrigi-wwof-order-form
.macrigi-wholesale-access {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 42px 46px !important;
    background: #ffffff !important;
    border: 1px solid #dce7ec !important;
    border-radius: 22px !important;
    box-shadow: 0 14px 38px rgba(15, 47, 68, 0.08) !important;
    text-align: left !important;
}

/* =========================================================
   BADGE
   ========================================================= */
.macrigi-wwof-order-form
.macrigi-wholesale-access__badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 15px !important;
    padding: 7px 13px !important;
    background: #edf8fc !important;
    border-radius: 999px !important;
    color: #3987ad !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
}

/* =========================================================
   TITOLO
   ========================================================= */
.macrigi-wwof-order-form
.macrigi-wholesale-access__title,
.macrigi-wwof-order-form
.macrigi-wholesale-access h2 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: #12364a !important;
    font-size: 34px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

/* =========================================================
   TESTO
   ========================================================= */
.macrigi-wwof-order-form
.macrigi-wholesale-access__intro {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    color: #566f7d !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

/* =========================================================
   PULSANTI
   ========================================================= */
.macrigi-wwof-order-form
.macrigi-wholesale-access__actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.macrigi-wwof-order-form
.macrigi-wholesale-access__actions a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 230px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    border-radius: 11px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

/* ACCEDI */
.macrigi-wwof-order-form
.macrigi-wholesale-access__primary {
    background: #12364a !important;
    border: 1px solid #12364a !important;
    color: #ffffff !important;
}

.macrigi-wwof-order-form
.macrigi-wholesale-access__primary:hover,
.macrigi-wwof-order-form
.macrigi-wholesale-access__primary:focus-visible {
    background: #0d2d3e !important;
    border-color: #0d2d3e !important;
    color: #ffffff !important;
}

/* REGISTRAZIONE */
.macrigi-wwof-order-form
.macrigi-wholesale-access__secondary {
    background: #ffffff !important;
    border: 1px solid #76b9d8 !important;
    color: #3887ae !important;
}

.macrigi-wwof-order-form
.macrigi-wholesale-access__secondary:hover,
.macrigi-wwof-order-form
.macrigi-wholesale-access__secondary:focus-visible {
    background: #f3faff !important;
    border-color: #5ca8cc !important;
    color: #236e93 !important;
}

/* =========================================================
   LINK LOGIN AUTOMATICO WWOF
   Nasconde esclusivamente quello aggiunto dal plugin sotto la nostra card.
   ========================================================= */
.macrigi-wwof-order-form
.wwof-restricted.macrigi-wholesale-gate-ready
> p:has(a[href*="welcome-login-register"]) {
    display: none !important;
}

.macrigi-wwof-order-form
.wwof-restricted.macrigi-wholesale-gate-ready
> a[href*="welcome-login-register"] {
    display: none !important;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px) {
    .macrigi-wwof-order-form
    .wwof-restricted.macrigi-wholesale-gate-ready {
        width: calc(100% - 40px) !important;
        max-width: 820px !important;
        margin: 30px auto 40px !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access {
        padding: 34px 36px !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__title,
    .macrigi-wwof-order-form
    .macrigi-wholesale-access h2 {
        font-size: 30px !important;
    }
}

/* =========================================================
   SMARTPHONE
   Mantiene la resa approvata sul live/staging.
   ========================================================= */
@media (max-width: 767px) {
    .macrigi-wwof-order-form
    .wwof-restricted.macrigi-wholesale-gate-ready {
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin: 22px auto 30px !important;
        padding: 0 !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access {
        width: 100% !important;
        margin: 0 !important;
        padding: 28px 20px !important;
        border-radius: 18px !important;
        box-shadow: 0 8px 24px rgba(15, 47, 68, 0.07) !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__badge {
        margin-bottom: 15px !important;
        padding: 7px 12px !important;
        font-size: 11px !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__title,
    .macrigi-wwof-order-form
    .macrigi-wholesale-access h2 {
        margin-bottom: 16px !important;
        font-size: 25px !important;
        line-height: 1.2 !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__intro {
        max-width: none !important;
        margin-bottom: 24px !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 11px !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__actions a {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
        padding: 12px 16px !important;
        font-size: 16px !important;
    }
}

/* =========================================================
   SMARTPHONE PICCOLO
   ========================================================= */
@media (max-width: 390px) {
    .macrigi-wwof-order-form
    .wwof-restricted.macrigi-wholesale-gate-ready {
        width: calc(100% - 20px) !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access {
        padding: 24px 17px !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__title,
    .macrigi-wwof-order-form
    .macrigi-wholesale-access h2 {
        font-size: 23px !important;
    }

    .macrigi-wwof-order-form
    .macrigi-wholesale-access__intro {
        font-size: 15px !important;
    }
}
