/* --------------------------------------------------------------------------
 * GRZ Gaming — compact mobile purchase flow (v1.7.3)
 *
 * Product-page presentation only. WooCommerce, variation selection and the
 * optional account validator keep their native markup, state and events.
 * ----------------------------------------------------------------------- */

@media (max-width: 620px) {
	/* The product purchase flow is already reachable from the mobile drawer.
	 * Removing only this promotional strip recovers a full row above the fold. */
	.single-product .grz-header .grz-top-strip {
		display: none;
	}

	.single-product .grz-main-header__inner {
		min-height: 52px;
	}

	.single-product {
		--grz-product-gutter: 10px;
	}

	/* Keep the branded product identity, but stop the hero from consuming the
	 * first quarter of a short phone viewport. */
	.single-product .grz-tp-hero {
		width: calc(100% + (2 * var(--grz-product-gutter)));
		margin-block: 0 18px;
		margin-inline: calc(-1 * var(--grz-product-gutter));
		padding: 14px 0 12px;
	}

	.single-product .grz-tp-hero__inner {
		position: relative;
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 10px;
		min-height: 72px;
	}

	.single-product .grz-tp-hero__icon {
		width: 64px;
		height: 64px;
		border-width: 2px;
		border-radius: 11px;
		transform: translateY(8px);
	}

	.single-product .grz-tp-hero__img {
		border-radius: 8px;
	}

	.single-product .grz-tp-hero__badges {
		gap: 5px;
		margin-bottom: 5px;
	}

	.single-product .grz-tp-hero__badge,
	.single-product .grz-tp-hero__badge:first-child {
		min-height: 20px;
		padding: 2px 7px;
		font-size: 10px;
	}

	.single-product .grz-tp-hero__title {
		padding-inline-end: 42px;
		font-size: clamp(18px, 5.5vw, 22px);
		line-height: 1.12;
	}

	.single-product .grz-tp-hero__meta {
		gap: 6px;
		margin-top: 6px;
		padding-inline-end: 42px;
		font-size: 11px;
		line-height: 1.3;
	}

	.single-product .grz-tp-hero .grz-tp-stars {
		font-size: 12px;
	}

	.single-product .grz-tp-hero__rating {
		gap: 5px;
	}

	/* Icon-only on compact phones; aria-label remains the accessible name. */
	.single-product .grz-tp-hero .grz-favorite-button--product {
		position: absolute;
		inset-inline-end: 0;
		bottom: -9px;
		grid-column: auto;
		width: 44px;
		height: 44px;
		min-height: 44px;
		margin: 0;
		padding: 0;
		border-radius: 50%;
	}

	.single-product .grz-tp-hero .grz-favorite-button--product [data-grz-favorite-label] {
		display: none;
	}

	/* Tighter vertical rhythm; interactive controls retain 44px targets. */
	.single-product div.product form.grz-tp-form {
		gap: 10px;
	}

	.single-product .grz-tp-rail {
		gap: 10px;
	}

	.single-product .grz-tp-card__head,
	.single-product .grz-tp-card--account .grz-tp-card__head,
	.single-product .grz-tp-card--summary .grz-tp-card__head {
		gap: 8px;
		padding: 11px 12px 0;
	}

	.single-product .grz-tp-step {
		width: 24px;
		height: 24px;
		flex-basis: 24px;
		font-size: 11px;
	}

	.single-product .grz-tp-card__titles {
		padding-top: 0;
	}

	.single-product .grz-tp-card__sub {
		margin-top: 2px;
		font-size: 11px;
		line-height: 1.25;
	}

	.single-product .grz-tp-card__body,
	.single-product .grz-tp-card--account .grz-tp-card__body,
	.single-product .grz-tp-card--summary .grz-tp-card__body {
		padding: 10px 12px 12px;
	}

	.single-product .grz-tp-card__body--packages {
		padding-top: 9px;
	}

	.single-product .grz-tp-denom-trigger {
		min-height: 52px;
		margin-bottom: 0;
		padding: 8px 11px;
	}

	.single-product .grz-tp-denom-trigger__label {
		font-size: 11.5px;
	}

	.single-product .grz-tp-denom-trigger__value {
		font-size: 13px;
	}

	.single-product .grz-tp-summary-list {
		gap: 6px;
	}

	.single-product .grz-tp-summary-row {
		font-size: 11.5px;
		line-height: 1.3;
	}

	.single-product .grz-tp-total {
		margin-top: 9px;
		padding-top: 9px;
	}

	.single-product .grz-tp-total__now {
		font-size: 22px;
	}

	.single-product .grz-tp-total__was {
		font-size: 11px;
	}

	.single-product .grz-tp-card--summary .single_variation_wrap {
		margin-top: 9px;
	}

	.single-product .grz-tp-card--summary .woocommerce-variation-add-to-cart,
	.single-product .grz-tp-cart-actions {
		gap: 8px;
	}

	.single-product .grz-tp-action-row,
	.single-product .grz-tp-cart-actions {
		gap: 8px;
	}

	.single-product .grz-tp-secure {
		margin-top: 8px;
		font-size: 10px;
		line-height: 1.25;
	}

	/* Theme-side density for the optional validator. The plugin keeps every
	 * field, validation token, state transition and click handler. */
	.single-product .grz-tp-cart-actions > .grz-caller-box.grz-caller-box {
		margin: 0 0 8px;
	}

	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-box-inner {
		padding: 10px;
		border-radius: 9px;
		box-shadow: 0 2px 8px rgba(16, 24, 40, 0.06);
	}

	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-label {
		margin-bottom: 4px;
		font-size: 11.5px;
	}

	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-account-control {
		height: 50px;
		border-radius: 8px;
	}

	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-account-control .grz-caller-user-id,
	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-validate-btn,
	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-switch-btn {
		height: 48px;
		min-height: 48px;
	}

	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-account-control .grz-caller-user-id {
		padding-inline: 12px;
		font-size: 15px;
		line-height: 48px;
	}

	.single-product .grz-tp-card--summary .grz-caller-box.grz-caller-box .grz-caller-inline-name {
		padding-inline: 8px;
		font-size: 11px;
	}
}

@media (max-width: 390px) {
	.single-product {
		--grz-product-gutter: 8px;
	}

	.single-product .grz-tp-hero {
		margin-block-end: 16px;
	}

	/* The package trigger already communicates the same instruction. */
	.single-product .grz-tp-card--package .grz-tp-card__sub {
		display: none;
	}

	.single-product .grz-tp-card__head,
	.single-product .grz-tp-card--account .grz-tp-card__head,
	.single-product .grz-tp-card--summary .grz-tp-card__head {
		padding-inline: 10px;
	}

	.single-product .grz-tp-card__body,
	.single-product .grz-tp-card--account .grz-tp-card__body,
	.single-product .grz-tp-card--summary .grz-tp-card__body {
		padding-inline: 10px;
	}
}
