/* SizePass for WooCommerce - product & cart */
.sizepass-wc-block {
	margin: 1.25rem 0;
	padding: 1rem 1.25rem;
	background: radial-gradient(circle at top left, #FFF8F0 0, #F5F0E8 40%, #FFF 100%);
	border: 1px solid #E3D3BE;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}
.sizepass-wc-label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #6B5E4E;
	margin: 0 0 0.35rem 0;
}
.sizepass-wc-size-value {
	font-size: 1.35rem;
	font-weight: 700;
	color: #1A1714;
	margin: 0 0 0.4rem 0;
}
.sizepass-wc-size-main {
	font-weight: 700;
}
.sizepass-wc-size-conf {
	font-size: 0.82rem;
	font-weight: 400;
	color: #C4502A;
}
.sizepass-wc-hint {
	font-size: 0.88rem;
	color: #6B5E4E;
	margin: 0.5rem 0 0 0;
}
.sizepass-wc-btn-login {
	background: #C4502A !important;
	color: #fff !important;
	border-color: #C4502A !important;
	border-radius: 999px !important;
	padding: 0.45rem 1.4rem !important;
	font-weight: 500 !important;
}
.sizepass-wc-btn-login:hover {
	background: #E06B42 !important;
	border-color: #E06B42 !important;
	color: #fff !important;
}
.sizepass-wc-disconnect { margin: 0.5rem 0 0 0; }
.sizepass-wc-link-disconnect,
.sizepass-wc-admin-edit {
	font-size: 0.82rem;
	color: #6B5E4E;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.sizepass-wc-separator {
	color: #6B5E4E;
	margin: 0 0.35rem;
}
.sizepass-wc-cart-size { margin: 0.25rem 0 0 0; font-size: 0.9rem; }
.sizepass-wc-size-chart-content { padding: 0.5rem 0; }
.sizepass-wc-size-chart-table { width: 100%; border-collapse: collapse; margin: 0; }
.sizepass-wc-size-chart-table th,
.sizepass-wc-size-chart-table td { border: 1px solid #D4C4A8; padding: 0.6rem 0.75rem; text-align: left; }
.sizepass-wc-size-chart-table th { background: #F5F0E8; font-weight: 600; color: #1A1714; }
.sizepass-wc-size-chart-table tbody tr:nth-child(even) { background: #FDFAF5; }

/* Modal – base (admin/light); widget-style below matches Shopify widget exactly */
.sizepass-wc-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 1.5rem; visibility: hidden; opacity: 0; transition: visibility 0.18s, opacity 0.18s; }
.sizepass-wc-modal.is-open { visibility: visible; opacity: 1; }
.sizepass-wc-modal-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(15,23,42,0.56); backdrop-filter: blur(8px); }
.sizepass-wc-modal-inner { position: relative; max-width: 420px; width: 100%; padding: 1.5rem; border-radius: 14px; box-shadow: 0 24px 80px rgba(15,23,42,0.4); max-height: 90vh; overflow-y: auto; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.sizepass-wc-modal-inner--admin { max-width: 480px; background: #fff; color: inherit; }
.sizepass-wc-modal-close { position: absolute; top: 0.95rem; right: 0.95rem; background: none; border: none; font-size: 1.25rem; line-height: 1; color: #9ca3af; cursor: pointer; padding: 0.2rem; }
.sizepass-wc-modal-close:hover { color: #1A1714; }
.sizepass-wc-modal-form .sizepass-wc-field .description { display: block; font-size: 0.8rem; color: #6B5E4E; margin-top: 4px; }
.sizepass-wc-modal-form .sizepass-wc-actions { margin: 0; }
.sizepass-wc-modal-form .sizepass-wc-btn-submit.loading { opacity: 0.6; pointer-events: none; transform: none; }
/* Light-theme modal (admin only) */
.sizepass-wc-modal-inner--admin .sizepass-wc-modal-title { font-size: 1.25rem; font-weight: 600; color: inherit; }
.sizepass-wc-modal-inner--admin .sizepass-wc-modal-desc { color: #6B5E4E; font-size: 0.85rem; }
.sizepass-wc-modal-inner--admin .sizepass-wc-modal-form .sizepass-wc-field input { width: 100%; padding: 10px 12px; border: 1px solid #D4C4A8; border-radius: 4px; font-size: 1rem; }

/* Widget-style modal: pixel-match Shopify widget (reference: widget.js injectStyles). !important overrides theme/WooCommerce. */
.sizepass-wc-modal--widget-style .sizepass-wc-modal-inner { max-width: 540px !important; width: 100% !important; background: #0f172a !important; color: #e5e7eb !important; border-radius: 20px !important; box-shadow: 0 28px 80px rgba(15,23,42,0.8) !important; padding: 1.75rem 2rem !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-close { color: #9ca3af !important; background: transparent !important; border: 0 !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-close:hover { color: #f9fafb !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-logo { display: flex !important; align-items: center; gap: 0.4rem; font-weight: 700 !important; font-size: 0.9rem !important; letter-spacing: 0.04em; text-transform: uppercase; color: #f9fafb !important; margin-bottom: 0.5rem; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-logo span { color: #38bdf8 !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-title { margin: 0 0 0.25rem 0 !important; color: #f9fafb !important; font-size: 1.35rem !important; font-weight: 700 !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-desc { font-size: 0.9rem !important; line-height: 1.5 !important; color: #9ca3af !important; margin: 0 0 1.1rem 0 !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-tabs { display: flex !important; margin-bottom: 1rem; border-radius: 999px; padding: 4px; border: 1px solid rgba(148,163,184,0.35) !important; background: rgba(15,23,42,0.9) !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-tabs .sizepass-wc-tab { flex: 1; border: 0 !important; background: transparent !important; color: #9ca3af !important; font-size: 0.8rem; padding: 0.35rem 0.6rem; border-radius: 999px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-tabs .sizepass-wc-tab:hover { color: #e5e7eb !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-tabs .sizepass-wc-tab.is-active,
.sizepass-wc-modal--widget-style .sizepass-wc-modal-tabs .sizepass-wc-tab.active { background: #f9fafb !important; color: #020617 !important; font-weight: 500 !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-tab-panel { display: none; }
.sizepass-wc-modal--widget-style .sizepass-wc-tab-panel.active { display: block; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-field { margin-bottom: 0.75rem; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-field label { display: block; font-size: 0.75rem; font-weight: 500; margin-bottom: 0.25rem; color: #e5e7eb !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-field input[type="email"],
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-field input[type="password"],
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-field input[type="text"] { width: 100% !important; padding: 0.55rem 0.7rem !important; border-radius: 0.55rem !important; border: 1px solid rgba(56,189,248,0.4) !important; background: rgba(30,41,59,0.6) !important; color: #e5e7eb !important; font-size: 0.85rem !important; box-sizing: border-box !important; -webkit-appearance: none; appearance: none; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-field input::placeholder { color: #94a3b8 !important; opacity: 1; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-field input:focus { outline: 2px solid #38bdf8 !important; outline-offset: 1px; border-color: #38bdf8 !important; background: rgba(56,189,248,0.25) !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-hint { font-size: 0.75rem; color: #9ca3af !important; margin: 0 0 0.75rem 0; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-msg { margin: 0 0 0.6rem 0; font-size: 0.78rem; min-height: 1.1rem; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-msg.error { color: #fca5a5 !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-msg.success { color: #a7f3d0 !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-btn-submit,
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-btn-primary.sizepass-wc-btn-submit,
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form button.sizepass-wc-btn-submit { width: 100% !important; padding: 0.7rem 1rem !important; border-radius: 0.75rem !important; border: 0 !important; font-weight: 600 !important; font-size: 0.9rem !important; cursor: pointer; display: flex !important; align-items: center; justify-content: center; background: #38bdf8 !important; color: #fff !important; box-shadow: 0 14px 45px rgba(56,189,248,0.4) !important; transition: background .15s ease, transform .1s ease, box-shadow .1s ease; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-btn-submit:hover,
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-btn-primary.sizepass-wc-btn-submit:hover,
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form button.sizepass-wc-btn-submit:hover { background: #0ea5e9 !important; color: #fff !important; transform: translateY(-1px); box-shadow: 0 18px 55px rgba(56,189,248,0.55) !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form .sizepass-wc-btn-submit:active,
.sizepass-wc-modal--widget-style .sizepass-wc-modal-form button.sizepass-wc-btn-submit:active { transform: translateY(0); }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-footer { margin: 1rem 0 0 0; padding-top: 1rem; border-top: 1px solid rgba(148,163,184,0.25) !important; font-size: 0.85rem; text-align: center; color: #e5e7eb !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-footer a { color: #38bdf8 !important; text-decoration: none !important; }
.sizepass-wc-modal--widget-style .sizepass-wc-modal-footer a:hover { text-decoration: underline !important; color: #38bdf8 !important; }
.sizepass-wc-tab-panel { display: none; }
.sizepass-wc-tab-panel.active { display: block; }
.sizepass-wc-modal-form .sizepass-wc-field { margin-bottom: 0.75rem; }
.sizepass-wc-modal-form .sizepass-wc-field label { display: block; font-size: 0.75rem; font-weight: 500; margin-bottom: 0.25rem; }
.sizepass-wc-modal-title { margin: 0 0 0.25rem 0; font-size: 1.25rem; font-weight: 600; }
.sizepass-wc-modal-desc { font-size: 0.85rem; margin: 0 0 1.1rem 0; line-height: 1.45; }
.sizepass-wc-modal-tabs { display: flex; margin-bottom: 1rem; border-radius: 999px; padding: 4px; }
.sizepass-wc-modal-tabs .sizepass-wc-tab { flex: 1; border: 0; background: transparent; font-size: 0.8rem; padding: 0.35rem 0.6rem; border-radius: 999px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.sizepass-wc-modal-tabs .sizepass-wc-tab.active { background: #f9fafb; color: #020617; font-weight: 500; }
.sizepass-wc-modal-hint { font-size: 0.75rem; margin: 0 0 0.75rem 0; }
.sizepass-wc-modal-msg { margin: 0 0 0.6rem 0; font-size: 0.78rem; min-height: 1.1rem; }
.sizepass-wc-modal-msg.error { color: #fca5a5; }
.sizepass-wc-modal-msg.success { color: #a7f3d0; }
.sizepass-wc-modal-form .sizepass-wc-btn-submit { width: 100%; padding: 0.7rem 1rem; border-radius: 0.75rem; border: 0; font-weight: 600; font-size: 0.9rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.sizepass-wc-btn-primary { background: #38bdf8; color: #fff; box-shadow: 0 14px 45px rgba(56,189,248,0.4); }
.sizepass-wc-btn-primary:hover { background: #0ea5e9; color: #fff; transform: translateY(-1px); box-shadow: 0 18px 55px rgba(56,189,248,0.55); }
.sizepass-wc-btn-primary:active { transform: translateY(0); }
.sizepass-wc-modal-footer { margin: 1rem 0 0 0; padding-top: 1rem; border-top: 1px solid rgba(148,163,184,0.3); font-size: 0.85rem; text-align: center; }
.sizepass-wc-modal-footer a { color: #38bdf8; text-decoration: none; }
.sizepass-wc-modal-footer a:hover { text-decoration: underline; }

/* Admin fit/QR label card */
.sizepass-wc-admin-qr-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	flex: 0 0 auto;
}
.sizepass-wc-admin-qr-img {
	border-radius: 6px;
	border: 1px solid #ddd;
	background: #fff;
	padding: 4px;
	width: 120px;
	height: 120px;
	object-fit: contain;
}
.sizepass-wc-admin-qr-actions .button + .button {
	margin-left: 8px;
}
.sizepass-wc-label-card {
	width: 220px;
	border-radius: 14px;
	background: #F7F4EF;
	padding: 18px 16px 20px;
	box-shadow: 0 10px 30px rgba(15,23,42,0.15);
	text-align: center;
	font-family: -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
	flex: 0 0 auto;
}
.sizepass-wc-label-logo {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1A2838;
	margin-bottom: 10px;
}
.sizepass-wc-label-qr img {
	width: 120px;
	height: 120px;
	object-fit: contain;
	border-radius: 6px;
	border: 1px solid #ddd;
	background: #fff;
	padding: 4px;
	margin-bottom: 10px;
}
.sizepass-wc-label-text p {
	margin: 0;
	font-size: 0.78rem;
	color: #1A2838;
}
.sizepass-wc-label-product {
	font-weight: 600;
	color: #113A66;
}
.sizepass-wc-admin-label-download-row {
	margin-top: 10px;
}

/* Admin QR / label tabs */
.sizepass-wc-admin-tabs {
	display: inline-flex;
	gap: 4px;
	margin-bottom: 10px;
	border-radius: 999px;
	background: #F3F4F6;
	padding: 2px;
}
.sizepass-wc-admin-tab {
	border: none;
	background: transparent;
	padding: 4px 10px;
	font-size: 0.85rem;
	border-radius: 999px;
	cursor: pointer;
	color: #4B5563;
}
.sizepass-wc-admin-tab.active {
	background: #fff;
	color: #111827;
	box-shadow: 0 1px 3px rgba(15,23,42,0.18);
}
.sizepass-wc-admin-panel {
	display: none;
}
.sizepass-wc-admin-panel.active {
	display: block;
}
