﻿.gpw-wrap{background:#edf2f7;min-height:calc(100vh - 32px);padding:36px 24px 26px 24px;margin-left:-20px}
.gpw-shell{max-width:1020px;margin:0 auto}
.gpw-breadcrumb{color:#8ca3c2;font-size:16px;margin-bottom:18px;text-align:center}
.gpw-card{background:#fff;border-radius:20px;box-shadow:0 12px 34px rgba(15,23,42,.10);padding:34px 36px}
.gpw-card{position:relative;overflow:hidden;min-height: 600px}
.gpw-fun-layer{
	position:absolute;
	inset:0;
	pointer-events:none;
	z-index:0;
}
.gpw-progress,.gpw-content,.gpw-actions{position:relative;z-index:2}
.gpw-orb{
	position:absolute;
	border-radius:999px;
	filter:blur(.2px);
	opacity:.45;
	animation:gpwDrift 8s ease-in-out infinite alternate;
}
.gpw-orb-a{width:14px;height:14px;left:54px;top:40px;background:#8bd3ff;animation-delay:-1s}
.gpw-orb-b{width:10px;height:10px;left:110px;top:86px;background:#7cc0f1;animation-delay:-3s}
.gpw-orb-c{width:12px;height:12px;right:90px;top:74px;background:#9be7c6;animation-delay:-2s}
.gpw-filament{
	position:absolute;
	height:2px;
	border-radius:8px;
	background:linear-gradient(90deg, rgba(130,178,234,.05), rgba(130,178,234,.55), rgba(130,178,234,.05));
	animation:gpwPulse 4.5s ease-in-out infinite;
}
.gpw-filament-a{width:120px;left:140px;top:56px;transform:rotate(-8deg)}
.gpw-filament-b{width:92px;right:132px;top:102px;transform:rotate(11deg);animation-delay:-1.5s}
.gpw-burst-layer{
	position:absolute;
	inset:0;
	pointer-events:none;
	z-index:3;
}
.gpw-particles{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	pointer-events:none;
	z-index:4;
}
.gpw-burst-dot{
	position:absolute;
	width:8px;
	height:8px;
	border-radius:50%;
	background:#2b8fe0;
	opacity:0;
}
.gpw-burst-dot.is-live{
	animation:gpwBurst 640ms ease-out forwards;
}
.gpw-progress{display:flex;align-items:flex-start;justify-content:center;margin:6px 0 26px}
.gpw-step-slot{display:flex;flex-direction:column;align-items:center;min-width:42px}
.gpw-step-label{margin-top:8px;font-size:12px;color:#58749a;font-weight:600;white-space:nowrap}
.gpw-step{width:40px;height:40px;border-radius:999px;border:2px solid #bfd0e7;color:#8aa0c0;display:flex;align-items:center;justify-content:center;font-weight:700;background:#fff;transition:.2s ease;position:relative}
.gpw-step:after{
	content:"";
	position:absolute;
	inset:-7px;
	border-radius:999px;
	border:1px solid rgba(43,143,224,.22);
	opacity:0;
	transform:scale(.78);
}
.gpw-step.is-active{background:#1f78be;border-color:#1f78be;color:#fff;animation:gpwStepPulse 2.4s ease-in-out infinite}
.gpw-step.is-active:after{animation:gpwStepRipple 2.4s ease-out infinite}
.gpw-step.is-done{background:#16a34a;border-color:#16a34a;color:#fff}
.gpw-step.is-done{
	font-size:0;
}
.gpw-step.is-done:before{
	content:"\2713";
	font-size:18px;
	font-weight:800;
	line-height:1;
}
.gpw-line{height:2px;flex:1;max-width:96px;background:#bfd0e7;margin:0 10px;transition:.2s ease;position:relative;overflow:hidden}
.gpw-line{margin-top:20px}
.gpw-line:after{
	content:"";
	position:absolute;
	top:0;
	left:-45%;
	width:45%;
	height:100%;
	background:linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
	animation:gpwLineShine 3.2s ease-in-out infinite;
}
.gpw-line.is-done{background:#16a34a}

.gpw-panel:not([data-step="1"]):not([data-step="2"]):not([data-step="3"]):not([data-step="6"]) p {
	text-align: left;
}
.gpw-content{max-width:960px;margin:0 auto;text-align:center}
.gpw-content h2{margin:0 0 8px;font-size:26px;line-height:1.2;color:#0f2745}
.gpw-content p{margin:0 0 12px;color:#446287;font-size:14px;line-height:1.45}
.gpw-content input[type=password],#gpw_apikey{line-height:normal;min-width:460px;max-width:100%;padding:8px 10px;font-size:15px;height:42px}
.gpw-content select{line-height:normal;width:100%;padding:8px 10px;font-size:15px;height:42px}
.gpw-lang-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:24px;
	align-items:start;
	max-width:900px;
	margin:0 auto;
	text-align:left;
}
.gpw-lang-col .select2-container{
	width:100% !important;
}
.gpw-lang-col .select2-selection--multiple{
	min-height:42px !important;
	border-radius:8px !important;
	padding:4px 6px !important;
}
.gpw-lang-col .select2-container--default.select2-container--focus .select2-selection--multiple{
	border-color:#4fa2ea !important;
	box-shadow:0 0 0 2px rgba(79,162,234,.16) !important;
}
.gpw-lang-col .select2-container--default .select2-selection--multiple .select2-selection__choice{
	background:#e6f2ff !important;
	border:1px solid #89bdf0 !important;
	color:#0f4b89 !important;
	border-radius:6px !important;
	padding:3px 8px !important;
	margin-top:4px !important;
}
.gpw-lang-col .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
	color:#5e89b4 !important;
	margin-right:6px !important;
}
.gpw-lang-col .select2-container--default .select2-search--inline .select2-search__field{
	margin-top:4px !important;
}
.select2-dropdown{
	border:1px solid #9fc7ef !important;
	border-radius:8px !important;
	overflow:hidden;
}
.select2-results__option--highlighted[aria-selected]{
	background:#2b8fe0 !important;
}
.gpw-field-desc{
	margin:8px 0 0 !important;
	font-size:13px !important;
	color:#537095 !important;
	line-height:1.35 !important;
}
.gpw-field-title{
	display:block;
	margin:0 0 8px;
	font-size:16px;
	font-weight:700;
	color:#0f2745;
}
.gpw-target-chips{
	border:1px solid #ccd9ea;
	border-radius:8px;
	padding:10px;
	background:#fff;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.gpw-chip{
	display:inline-flex;
}
.gpw-chip input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}
.gpw-chip span{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 10px;
	border:1px solid #b9cbe2;
	border-radius:6px;
	color:#1e4067;
	background:#fff;
	font-size:14px;
	line-height:1.2;
	cursor:pointer;
}
.gpw-chip input:checked + span{
	background:#edf5ff;
	border-color:#2b8fe0;
	color:#0f4c8a;
}
.gpw-chip input:checked + span:before{
	content:"✓";
	font-size:12px;
}
.gpw-chip.is-disabled span{
	opacity:.45;
	cursor:not-allowed;
}
.gpw-radios{display:flex;gap:14px;margin:0;justify-content:center}
#gpw_model_wrap{margin-top:14px}
#gpw_model_wrap{
	width:min(740px,100%);
	margin:14px auto 0;
	text-align:left;
	padding:14px 16px 12px;
	border:1px solid #d7e1ee;
	border-radius:12px;
	background:#f8fbff;
}
#gpw_model_wrap label{display:block;font-size:14px;font-weight:700;margin:0 0 8px;color:#0f2745;text-align:center}
#gpw_model_wrap select{max-width:100%;margin:0;text-align:left}
.gpw-apikey-wrap{margin-top:12px}
.gpw-apikey-wrap label{display:block;font-size:14px;margin:0 0 6px;color:#0f2745}
.gpw-apikey-inputrow{display:flex;justify-content:center;align-items:center;gap:8px}
.gpw-apikey-inputrow input{flex:1;max-width:460px}

#gpw_model_wrap #gpw_model_label, #gpw_model_wrap #gpw_apikey_label {
	margin: 0 0 8px 3px;
	text-align: left;
}

.gpw-apikey-inputrow .gpw-apikey-toggle{
	height:40px;
	min-width:44px;
	padding:0;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.gpw-apikey-inputrow #gpw_apikey_test{
	height:40px;
	min-width:92px;
	padding:0 12px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:4px;
	line-height:1;
}
.gpw-apikey-inputrow #gpw_apikey_test .dashicons{
	font-size:16px;
	line-height:1;
	width:16px;
	height:16px;
}
.gpw-apikey-inputrow .button{box-sizing:border-box}
.gpw-apikey-inputrow .gpw-apikey-toggle .dashicons{font-size:18px;line-height:1}
.gpw-provider-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(160px,1fr));
	gap:10px;
	margin:8px auto 14px;
	max-width:740px;
}
.gpw-provider-card{
	border:1px solid #d0dbe8;
	border-radius:10px;
	background:#fff;
	padding:12px 10px 10px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:4px;
	cursor:pointer;
	color:#0f2745;
}
.gpw-provider-card .gpw-provider-dot{
	width:16px;height:16px;border-radius:50%;border:2px solid #c7d4e6;display:inline-block;
}
.gpw-provider-card strong{font-size:18px;line-height:1.1}
.gpw-provider-card small{font-size:13px;color:#5e7ca0}
.gpw-provider-card.is-selected{
	border-color:#2b8fe0;
	background:#eef6ff;
	box-shadow:0 0 0 2px rgba(43,143,224,.14) inset;
}
.gpw-provider-card.is-selected .gpw-provider-dot{
	border-color:#2b8fe0;
	background:#2b8fe0;
	box-shadow:inset 0 0 0 3px #fff;
}
.gpw-apikey-test-result{
	margin-top:10px;
	padding:10px 12px;
	border-radius:0;
	font-size:14px;
	text-align:left;
	border-left-width:4px;
	border-left-style:solid;
	display:flex;
	align-items:center;
	gap:8px;
}
.gpw-apikey-test-result.is-success{
	background:#edf9f0;
	border-left-color:#1aa34a;
	border-top:0;
	border-right:0;
	border-bottom:0;
	color:#176f2f;
}
.gpw-apikey-test-result.is-error{
	background:#fff1f1;
	border-left-color:#d63638;
	border-top:0;
	border-right:0;
	border-bottom:0;
	color:#a52a2a;
}
.gpw-apikey-test-result.is-success:before{
	content:"\2714";
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:16px;
	height:16px;
	border-radius:50%;
	background:#16a34a;
	color:#fff;
	font-size:11px;
	font-weight:700;
	flex:0 0 16px;
}
.gpw-apikey-test-result.is-error:before{
	content:"!";
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:16px;
	height:16px;
	border-radius:50%;
	background:#d63638;
	color:#fff;
	font-size:12px;
	font-weight:700;
	flex:0 0 16px;
}
.gpw-completion{
	margin-top:50px;
	text-align:center;
}
#gpw_completion_panel p {
	text-align: center;
}
.gpw-completion-table{
	margin:14px auto 0;
	max-width:760px;
	border:1px solid #d8e1ec;
	border-radius:8px;
	overflow:hidden;
	background:#fff;
}
.gpw-completion-row{
	display:grid;
	grid-template-columns:160px 1fr 60px;
	gap:12px;
	align-items:center;
	padding:10px 12px;
	border-bottom:1px solid #e5edf6;
	text-align:left;
}
.gpw-completion-row:last-child{border-bottom:0}
.gpw-completion-row strong{color:#26446b}
.gpw-completion-row a{text-align:right}
.gpw-completion-actions{
	display:flex;
	gap:10px;
	justify-content:center;
	margin-top:14px;
}
.gpw-start-icon{
	font-size:16px;
	line-height:1;
	vertical-align:middle;
	position:relative;
	top:0;
	margin-right:5px;
}
#gpw_serverside_method_wrap{margin-top:12px}
.gpw-method-card{
	width:min(640px,100%);
	margin:12px auto 0;
	padding:14px 16px 12px;
	border:1px solid #d7e1ee;
	border-radius:12px;
	background:#f8fbff;
	text-align:center;
}
.gpw-method-title{display:block;font-size:14px;font-weight:700;color:#0f2745;margin:0 0 8px;text-align:center}
.gpw-method-desc{font-size:13px !important;color:#446287 !important;margin:9px 0 0 !important;text-align:center}
.gpw-actions{display:flex;gap:10px;margin-top:24px;justify-content:center}
.gpw-actions .button{font-size:14px;padding:8px 18px;height:auto;line-height:1.15}
.gpw-footer{text-align:center;color:#8aa0c0;font-size:13px;margin-top:16px}
.gpw-switchbox{
	display:flex;
	justify-content:center;
	margin:8px 0 12px;
}
.gpw-switchbox-row{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	gap:14px;
}
#gpw_metadata_extras_wrap {
	flex-wrap: nowrap;
}
.gpw-switchbox .wrapper{
	background:#f7fafc;
	border:1px solid #d7e1ee;
	border-radius:12px;
	padding:10px 12px;
}
.gpw-inline-hint{
    margin-top: 10px ! IMPORTANT;
    font-size: 14px !important;
    color: #3f5f88 !important;
    text-align: center !important;
}
.gpw-inline-hint code{
	background:#eef5ff;
	border:1px solid #cfdff6;
	border-radius:6px;
	padding:2px 6px;
}

.gpw-choice-card{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	padding:16px 14px 14px;
	border:1px solid #d7e1ee;
	border-radius:14px;
	background:#fff;
	cursor:pointer;
	transition:.15s ease;
}

.gpw-choice-card-single{
    width: min(250px, 100%);
    min-height: 160px;
	margin:0 auto;
	justify-content:center;
}
.gpw-switchbox-row .gpw-choice-card-single{
	margin:0;
	flex:1 1 260px;
	max-width:320px;
}
.gpw-rewrite-primary-row .gpw-choice-card-single{
	flex:0 1 300px;
	max-width:300px;
}
.gpw-rewrite-children-row{
	margin-top:10px;
}
.gpw-rewrite-children-row .gpw-choice-card-single{
	flex:0 1 300px;
	max-width:300px;
}

.gpw-choice-card input[type=radio],
.gpw-choice-card input[type=checkbox]{
	position:absolute;
	opacity:0;
	pointer-events:none;
	width:0;
	height:0;
	margin:0;
}

.gpw-choice-card .gpw-choice-toggle{
	position:relative;
	width:42px;
	height:24px;
	border-radius:999px;
	background:#d7e1ee;
	margin-bottom:10px;
}

.gpw-choice-card .gpw-choice-toggle:before{
	content:"";
	position:absolute;
	top:3px;
	left:3px;
	width:18px;
	height:18px;
	border-radius:50%;
	background:#fff;
	box-shadow:0 1px 3px rgba(15,23,42,.24);
	transition:.15s ease;
}

.gpw-choice-title{
	font-size:16px;
	font-weight:700;
	color:#0f2745;
	margin-bottom:4px;
}

.gpw-choice-desc{
	font-size:13px;
	line-height:1.35;
	color:#446287;
	text-align:center;
}

.gpw-choice-card.is-selected{
	border-color:#2b7fc5;
	box-shadow:0 0 0 2px rgba(43,127,197,.12) inset;
	background:#f7fbff;
}

.gpw-choice-card.is-selected .gpw-choice-toggle{
	background:#2b8fe0;
}

.gpw-choice-card.is-selected .gpw-choice-toggle:before{
	transform:translateX(18px);
}
.gpw-info-card{
	cursor:default;
	background:#fbfdff;
	align-items:flex-start;
	text-align:left;
}
.gpw-panel[data-step="1"] .gpw-switchbox-row{
	flex-wrap:nowrap;
	align-items:stretch;
}
.gpw-panel[data-step="1"] .gpw-switchbox-row .gpw-choice-card-single{
	flex:1 1 0;
	max-width:none;
	min-height:150px;
}
.gpw-panel[data-step="1"] .gpw-choice-title,
.gpw-panel[data-step="1"] .gpw-choice-desc{
	text-align:left;
}
.gpw-panel[data-step="1"] .gpw-info-card{
	align-items:center;
	text-align:center;
}
.gpw-panel[data-step="1"] .gpw-info-icon{
	width:40px;
	height:40px;
	border-radius:10px;
	margin:0 0 12px;
	font-size:22px;
}
.gpw-panel[data-step="1"] .gpw-choice-title{
	text-align:center;
	min-height:38px;
	display:flex;
	align-items:flex-end;
	justify-content:center;
}
.gpw-panel[data-step="1"] .gpw-choice-desc{
	text-align:center;
	line-height:1.4;
	min-height:58px;
	max-width:260px;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.gpw-info-icon{
	width:28px;
	height:28px;
	border-radius:8px;
	background:#eaf4fc;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin:0 0 10px;
	position:relative;
	color:#2b8fe0;
	font-size:16px;
	line-height:1;
}
.gpw-info-icon:after{
	content:"";
	position:absolute;
	width:13px;
	height:13px;
	border-radius:4px;
	background:#2b8fe0;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
}
.gpw-info-icon.dashicons:after{
	content:none;
}

.gpw-hoppy-assistant{
	position:fixed;
	right:24px;
	bottom:18px;
	z-index:9999;
	display:flex;
	align-items:flex-end;
	gap:12px;
}
.gpw-hoppy-bubble{
	max-width:360px;
	min-height:72px;
	padding:12px 16px;
	background:#fff9e8;
	border:1px solid #efd7a0;
	border-left:4px solid #b07a3e;
	border-radius:10px;
	color:#4a3b1f;
	font-size:14px;
	line-height:1.38;
	display:flex;
	align-items:center;
	box-shadow:0 6px 14px rgba(0,0,0,.10);
	font-family:"Comic Sans MS","Segoe Print","Bradley Hand",cursive;
}
.gpw-hoppy-avatar img{
	width:108px;
	height:108px;
	object-fit:contain;
	filter:drop-shadow(0 2px 4px rgba(0,0,0,.16));
}
.gpw-hoppy-close{
	position:absolute;
	right:128px;
	top:20px;
	border:0;
	background:transparent;
	font-size:22px;
	line-height:1;
	color:#6f7683;
	cursor:pointer;
	padding:0 2px;
}

/* Keep native plugin iOS-like switcher look */
.gpw-switch{display:inline-flex}
.gpw-switch label{margin:0 6px}

@media (max-width:900px){.gpw-wrap{margin-left:-10px;padding:20px 10px}.gpw-card{padding:18px}.gpw-content h2{font-size:22px}.gpw-content p{font-size:13px}.gpw-content select,.gpw-content input[type=password]{min-width:0;width:100%;font-size:14px;height:40px}.gpw-actions .button{font-size:13px;padding:8px 14px}.gpw-apikey-inputrow .gpw-apikey-toggle{height:40px;min-width:40px}.gpw-switchbox-row{gap:10px}.gpw-switchbox-row .gpw-choice-card-single{flex:1 1 100%;max-width:100%}.gpw-panel[data-step="1"] .gpw-switchbox-row{flex-wrap:wrap}.gpw-lang-grid{grid-template-columns:1fr;gap:14px}.gpw-field-title{font-size:15px}.gpw-provider-grid{grid-template-columns:1fr}}
@keyframes gpwSpin{to{transform:rotate(360deg)}}
@keyframes gpwDrift{0%{transform:translateY(0) translateX(0)}100%{transform:translateY(-6px) translateX(4px)}}
@keyframes gpwPulse{0%,100%{opacity:.32}50%{opacity:.72}}
@keyframes gpwStepPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes gpwStepRipple{0%{opacity:.45;transform:scale(.78)}100%{opacity:0;transform:scale(1.18)}}
@keyframes gpwLineShine{0%{left:-45%}45%,100%{left:105%}}
@keyframes gpwBurst{
	0%{opacity:.95;transform:translate(0,0) scale(1)}
	100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}
}
@media (prefers-reduced-motion:reduce){
	.gpw-orb,.gpw-filament,.gpw-burst-dot.is-live{animation:none !important}
}
