/**
 * ==========================================================
 * GM DESIGN SYSTEM
 * File: buttons-map.css
 * Description: Legacy / External Button Mapping
 *
 * Purpose:
 * WooCommerce, Store Locator ve mevcut legacy bileşenleri
 * GM Button System görünüm ve hareket diliyle eşleştirir.
 *
 * Depends:
 * tokens.css
 * motion.css
 * buttons.css
 * buttons-theme.css
 * buttons-animations.css
 *
 * Version:
 * 2.0.0
 *
 * Last Update:
 * 16.08.2026
 * ==========================================================
 */


/* ==========================================================
   SHARED LEGACY BUTTON STRUCTURE
========================================================== */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.gm-store-nearest-button,
.gm-route-button,
.gm-store-call-button,
.gm-store-hub-btn,
.gm-configurator .gm-purchase__button,
.gm-bedroom-purchase__button{

	position:relative;

	display:inline-flex;

	align-items:center;

	justify-content:center;

	gap:var(--gm-space-sm);

	min-height:var(--gm-button-height-md);

	padding:var(--gm-button-padding);

	border:1px solid transparent;

	border-radius:var(--gm-radius-pill);

	font-family:var(--gm-font-family);

	font-size:var(--gm-font-size-md);

	font-weight:var(--gm-font-weight-semibold);

	line-height:1;

	letter-spacing:.02em;

	text-align:center;

	text-decoration:none;

	white-space:nowrap;

	vertical-align:middle;

	box-sizing:border-box;

	appearance:none;

	-webkit-appearance:none;

	user-select:none;

	-webkit-user-select:none;

	cursor:pointer;

	transition:
		background-color
		var(--gm-motion-fast)
		var(--gm-motion-smooth),

		border-color
		var(--gm-motion-fast)
		var(--gm-motion-smooth),

		color
		var(--gm-motion-fast)
		var(--gm-motion-smooth),

		transform
		var(--gm-motion-fast)
		var(--gm-motion-smooth),

		box-shadow
		var(--gm-motion-normal)
		var(--gm-motion-smooth),

		opacity
		var(--gm-motion-fast)
		var(--gm-motion-smooth);

}


/* ==========================================================
   WOOCOMMERCE — DEFAULT BUTTON
========================================================== */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.gm-configurator .gm-purchase__button,
.gm-bedroom-purchase__button{

	background:var(--gm-color-white);

	color:var(--gm-color-text);

	border-color:var(--gm-color-border);

	display:inline-flex !important;

	min-height:var(--gm-button-height-md) !important;
	padding: var(--gm-button-padding) !important;

	font-family:var(--gm-font-family) !important;
	font-size: var(--gm-font-size-md) !important;
	font-weight: var(--gm-font-weight-semibold) !important;
	line-height:1 !important;
	letter-spacing:.02em !important;

}


/* ==========================================================
   WOOCOMMERCE — DEFAULT HOVER
========================================================== */

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{

	background:var(--gm-color-background-soft);

	color:var(--gm-color-primary);

	border-color:var(--gm-color-primary);

	transform:translateY(-2px);

	box-shadow:
		0 8px 20px rgba(0,0,0,.08),
		0 2px 8px rgba(0,0,0,.05);

}


/* ==========================================================
   WOOCOMMERCE — PRIMARY ACTION
========================================================== */

/* WooCommerce primary actions */

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button,
.gm-configurator .gm-purchase__button,
.gm-bedroom-purchase__button {

	background: var(--gm-color-primary) !important;
	color: var(--gm-color-white) !important;

	border: 1px solid var(--gm-color-primary-hover) !important;
	border-radius: var(--gm-radius-pill) !important;
	text-transform: uppercase;

	box-shadow:
		inset 0 1px 0 rgba(255,205,112,.28),
		0 5px 14px rgba(245,158,11,.14),
		0 2px 6px rgba(0,0,0,.06);
}

/* ==========================================================
   WOOCOMMERCE — PRIMARY HOVER
========================================================== */

/* WooCommerce primary hover */

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.gm-configurator .gm-purchase__button:hover:not(:disabled),
.gm-bedroom-purchase__button:hover:not(:disabled) {

	background: var(--gm-color-primary-hover) !important;
	color: var(--gm-color-white) !important;
	border-color: var(--gm-color-primary-hover) !important;

	transform: translateY(-2px);

	box-shadow:
		inset 0 1px 0 rgba(255,213,126,.34),
		0 7px 18px rgba(245,158,11,.20),
		0 3px 8px rgba(0,0,0,.07);
}


/* ==========================================================
   WOOCOMMERCE — PRIMARY ACTIVE
========================================================== */

.woocommerce a.button.alt:active,
.woocommerce button.button.alt:active,
.woocommerce input.button.alt:active,
.woocommerce #respond input#submit.alt:active,
.woocommerce .single_add_to_cart_button:active,
.gm-configurator .gm-purchase__button:active:not(:disabled),
.gm-bedroom-purchase__button:active:not(:disabled){

	background:var(--gm-color-primary-dark) !important;

	color:var(--gm-color-white) !important;

	border-color:var(--gm-color-primary-dark) !important;

	transform:
		translateY(0)
		scale(.985);

	box-shadow:
		inset 0 2px 4px rgba(0,0,0,.12),
		0 2px 6px rgba(245,158,11,.10);

}


/* ==========================================================
   WOOCOMMERCE — DISABLED
========================================================== */

.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce .single_add_to_cart_button.disabled,
.woocommerce .single_add_to_cart_button:disabled,
.gm-configurator .gm-purchase__button:disabled,
.gm-bedroom-purchase__button:disabled{

	opacity:.45;

	cursor:not-allowed;

	pointer-events:none;

	transform:none;

	box-shadow:none;

}


/* ==========================================================
   STORE LOCATOR — PRIMARY
========================================================== */

.gm-store-nearest-button,
.gm-route-button{

	background:var(--gm-color-primary);

	color:var(--gm-color-white);

	border-color:var(--gm-color-primary-hover);

	box-shadow:
		inset 0 1px 0 rgba(255,205,112,.28),
		0 5px 14px rgba(245,158,11,.14),
		0 2px 6px rgba(0,0,0,.06);

}


/* ==========================================================
   STORE LOCATOR — PRIMARY HOVER
========================================================== */

.gm-store-nearest-button:hover,
.gm-route-button:hover{

	background:var(--gm-color-primary-hover);

	color:var(--gm-color-white);

	border-color:var(--gm-color-primary-hover);

	transform:translateY(-2px);

	box-shadow:
		inset 0 1px 0 rgba(255,213,126,.34),
		0 7px 18px rgba(245,158,11,.20),
		0 3px 8px rgba(0,0,0,.07);

}


/* ==========================================================
   STORE LOCATOR — SECONDARY
========================================================== */

.gm-store-call-button{

	background:var(--gm-color-white);

	color:var(--gm-color-primary);

	border-color:var(--gm-color-primary);

}


/* ==========================================================
   STORE LOCATOR — SECONDARY HOVER
========================================================== */

.gm-store-call-button:hover{

	background:var(--gm-color-primary);

	color:var(--gm-color-white);

	border-color:var(--gm-color-primary);

	transform:translateY(-2px);

	box-shadow:
		0 8px 20px rgba(0,0,0,.06),
		0 2px 8px rgba(0,0,0,.04);

}


/* ==========================================================
   STORE LOCATOR — ACTIVE
========================================================== */

.gm-store-nearest-button:active,
.gm-route-button:active,
.gm-store-call-button:active{

	transform:
		translateY(0)
		scale(.985);

}

.gm-store-nearest-button:active,
.gm-route-button:active{

	background:var(--gm-color-primary-dark);

	border-color:var(--gm-color-primary-dark);

	box-shadow:
		inset 0 2px 4px rgba(0,0,0,.12),
		0 2px 6px rgba(245,158,11,.10);

}


/* ==========================================================
   STORE HUB
========================================================== */

.gm-store-hub-btn{

	background:var(--gm-color-white);

	color:var(--gm-color-text);

	border-color:var(--gm-color-border);

}


/* ==========================================================
   STORE HUB — PRIMARY
========================================================== */

.gm-store-hub-btn--primary{

	background:var(--gm-color-primary);

	color:var(--gm-color-white);

	border-color:var(--gm-color-primary-hover);

	box-shadow:
		inset 0 1px 0 rgba(255,205,112,.28),
		0 5px 14px rgba(245,158,11,.14),
		0 2px 6px rgba(0,0,0,.06);

}


/* ==========================================================
   STORE HUB — HOVER
========================================================== */

.gm-store-hub-btn:hover{

	color:var(--gm-color-primary);

	border-color:var(--gm-color-primary);

	transform:translateY(-2px);

	box-shadow:
		0 8px 20px rgba(0,0,0,.06),
		0 2px 8px rgba(0,0,0,.04);

}

.gm-store-hub-btn--primary:hover{

	background:var(--gm-color-primary-hover);

	color:var(--gm-color-white);

	border-color:var(--gm-color-primary-hover);

	box-shadow:
		inset 0 1px 0 rgba(255,213,126,.34),
		0 7px 18px rgba(245,158,11,.20),
		0 3px 8px rgba(0,0,0,.07);

}


/* ==========================================================
   STORE HUB — ACTIVE
========================================================== */

.gm-store-hub-btn:active{

	transform:
		translateY(0)
		scale(.985);

}

.gm-store-hub-btn--primary:active{

	background:var(--gm-color-primary-dark);

	border-color:var(--gm-color-primary-dark);

	box-shadow:
		inset 0 2px 4px rgba(0,0,0,.12),
		0 2px 6px rgba(245,158,11,.10);

}


/* ==========================================================
   KEYBOARD ACCESSIBILITY
========================================================== */

.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:focus,
.gm-store-nearest-button:focus,
.gm-route-button:focus,
.gm-store-call-button:focus,
.gm-store-hub-btn:focus,
.gm-configurator .gm-purchase__button:focus,
.gm-bedroom-purchase__button:focus{

	outline:none;

}

.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce #respond input#submit:focus-visible,
.gm-store-nearest-button:focus-visible,
.gm-route-button:focus-visible,
.gm-store-call-button:focus-visible,
.gm-store-hub-btn:focus-visible,
.gm-configurator .gm-purchase__button:focus-visible,
.gm-bedroom-purchase__button:focus-visible{

	outline:3px solid rgba(245,130,32,.24);

	outline-offset:3px;

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce){

	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit,
	.gm-store-nearest-button,
	.gm-route-button,
	.gm-store-call-button,
	.gm-store-hub-btn,
	.gm-configurator .gm-purchase__button,
	.gm-bedroom-purchase__button{

		transition:none;

	}

	.woocommerce a.button:hover,
	.woocommerce button.button:hover,
	.woocommerce input.button:hover,
	.woocommerce #respond input#submit:hover,
	.woocommerce a.button:active,
	.woocommerce button.button:active,
	.woocommerce input.button:active,
	.gm-store-nearest-button:hover,
	.gm-route-button:hover,
	.gm-store-call-button:hover,
	.gm-store-hub-btn:hover,
	.gm-store-nearest-button:active,
	.gm-route-button:active,
	.gm-store-call-button:active,
	.gm-store-hub-btn:active{

		transform:none;

	}

}
