.cgate {
display:none
}

.cgate-hidden {
display:none!important
}

.cgate-trigger {
cursor:pointer
}

.cgate-modal[hidden] {
display:none!important
}

.cgate-modal {
position:fixed;
inset:0;
z-index:99999;
display:flex;
align-items:center;
justify-content:center;
padding:20px
}

.cgate-modal__overlay {
position:absolute;
inset:0;
background:#1118278c;
backdrop-filter:blur(2px)
}

.cgate-modal__panel {
position:relative;
background:#fff;
color:#111827;
border-radius:12px;
box-shadow:0 20px 50px #0003;
max-width:420px;
width:100%;
padding:24px 22px 20px;
font-family:inherit
}

.cgate-modal__close {
position:absolute;
top:8px;
right:12px;
background:transparent;
border:0;
font-size:28px;
line-height:1;
cursor:pointer;
color:#6b7280;
padding:4px 10px;
border-radius:6px
}

.cgate-modal__close:hover {
background:#f3f4f6;
color:#111827
}

.cgate-modal__title {
margin:0 0 16px;
font-size:1.2em;
font-weight:600
}

.cgate-modal__row {
display:flex;
gap:8px
}

.cgate-modal__input {
flex:1;
padding:10px 12px;
border:1px solid #d1d5db;
border-radius:8px;
font-size:1em;
min-width:0
}

.cgate-modal__check {
white-space:nowrap
}

/* Verifying state: spinner on the Check button. */
.cgate-modal__check.is-loading { cursor: progress; }
.cgate-modal__check.is-loading::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 6px;
	vertical-align: -2px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: cgate-spin .7s linear infinite;
}
@keyframes cgate-spin { to { transform: rotate(360deg); } }

.cgate-modal__msg {
margin:12px 0 0;
font-size:.95em;
min-height:1.2em
}

.cgate-modal__msg.is-ok {
color:#047857
}

.cgate-modal__msg.is-err {
color:#b91c1c
}

.cgate-modal__add {
margin-top:16px;
width:100%
}

body.cgate-open {
overflow:hidden
}

/* Price block (shown in the modal after a valid code): park vs online columns. */
.cgate-modal__price { margin-top: 16px; }
.cgate-price { margin: 0; }
.cgate-price--two { display: flex; gap: 12px; }
.cgate-price__col { flex: 1; min-width: 0; border-radius: 12px; padding: 14px 12px; text-align: center; }
.cgate-price__col--store  { background: #f1f1f8; }
.cgate-price__col--online { background: #fdf7e6; }
.cgate-price__head {
	display: flex; align-items: center; justify-content: center;
	gap: 6px; margin-bottom: 10px; font-weight: 600; font-size: .95em;
}
.cgate-price__col--store  .cgate-price__head { color: #35335F; }
.cgate-price__col--online .cgate-price__head { color: #a9820f; }
.cgate-price__icon svg { width: 20px; height: 20px; display: block; }
.cgate-price__amount { font-size: 1.55em; font-weight: 800; line-height: 1.15; }
.cgate-price__col--store .cgate-price__amount { color: #35335F; }
.cgate-price__was { display: block; margin-bottom: 2px; }
.cgate-price__base { color: #9ca3af; font-weight: 600; font-size: .62em; margin-right: 6px; }
.cgate-price__save {
	background: #f5d020; color: #3a2f00; font-size: .55em; font-weight: 700;
	padding: 2px 6px; border-radius: 6px; vertical-align: middle; white-space: nowrap;
}
.cgate-price__now { color: #7c3aed; }