/* CGC Georgia Registration — all selectors prefixed .cgcreg- to avoid theme collisions */
.cgcreg-app{--cgcreg-orange:#E9A05A;--cgcreg-orange-d:#D68A43;--cgcreg-ink:#111;--cgcreg-gray:#6B6B6B;--cgcreg-card:#F5F4F1;max-width:960px;margin:0 auto;color:var(--cgcreg-ink)}
.cgcreg-app *,.cgcreg-app *::before,.cgcreg-app *::after{box-sizing:border-box}

.cgcreg-card{background:#fff;border:1px solid #ECEAE5;border-radius:22px;padding:40px 48px;box-shadow:0 6px 30px rgba(0,0,0,.05)}
@media(max-width:900px){.cgcreg-card{padding:32px 26px}}
@media(max-width:600px){.cgcreg-card{padding:24px 18px;border-radius:18px}}

/* header */
.cgcreg-head{text-align:center;margin-bottom:22px}
.cgcreg-head__title{margin:0;font-weight:700;font-size:clamp(22px,3.4vw,32px);line-height:1.15;color:var(--cgcreg-ink)}
.cgcreg-head__text{margin:8px auto 0;max-width:520px;font-size:14px;line-height:1.65;color:var(--cgcreg-gray)}

/* named stepper — items share width equally, connectors adapt to step count */
.cgcreg-stepper{display:flex;margin:6px 0 4px}
.cgcreg-stepper__item{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 4px}
.cgcreg-stepper__item::before{content:"";position:absolute;top:14px;right:50%;width:100%;height:3px;background:#ECEAE5;transition:background .35s ease}
.cgcreg-stepper__item:first-child::before{display:none}
.cgcreg-stepper__item--done::before,.cgcreg-stepper__item--current::before{background:linear-gradient(90deg,var(--cgcreg-orange),var(--cgcreg-orange-d))}
.cgcreg-stepper__item i{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #E0DED8;color:var(--cgcreg-gray);font-style:normal;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}
.cgcreg-stepper__item span{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#B5B1A9;text-align:center;line-height:1.3;transition:color .3s ease}
.cgcreg-stepper__item--current i{border-color:var(--cgcreg-orange);color:var(--cgcreg-orange-d);box-shadow:0 0 0 4px rgba(233,160,90,.18)}
.cgcreg-stepper__item--current span{color:var(--cgcreg-ink)}
.cgcreg-stepper__item--done i{background:var(--cgcreg-orange);border-color:var(--cgcreg-orange);color:#fff}
.cgcreg-stepper__item--done i::before{content:"\2713"}
.cgcreg-stepper__item--done span{color:var(--cgcreg-orange-d)}
@media(max-width:640px){
  .cgcreg-stepper__item{padding:0 2px}
  .cgcreg-stepper__item span{display:none}
  .cgcreg-stepper__item--current span{display:block}
  .cgcreg-stepper__item i{width:24px;height:24px;font-size:11px}
  .cgcreg-stepper__item::before{top:12px}
}

.cgcreg-progress__label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cgcreg-gray);margin:14px 0 22px;text-align:center}

/* step transitions */
.cgcreg-step{animation:cgcreg-in-fwd .34s cubic-bezier(.22,.8,.3,1) both}
.cgcreg-step--back{animation-name:cgcreg-in-back}
@keyframes cgcreg-in-fwd{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes cgcreg-in-back{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.cgcreg-step,.cgcreg-step--back{animation:none}}

.cgcreg-h2{font-weight:700;font-size:clamp(20px,3vw,27px);line-height:1.2;margin:0 0 18px}
.cgcreg-hint{font-size:13.5px;color:var(--cgcreg-gray);margin:0 0 14px;line-height:1.6}
.cgcreg-error{background:#FDECEC;color:#B3261E;border-radius:12px;padding:12px 16px;font-size:13.5px;margin-bottom:16px}

.cgcreg-field{display:block;margin-bottom:14px}
.cgcreg-field span{display:block;font-size:12.5px;font-weight:700;letter-spacing:.04em;margin-bottom:6px}
.cgcreg-field input,.cgcreg-field select,.cgcreg-couponrow input{width:100%;padding:13px 15px;border:1.5px solid #E0DED8;border-radius:12px;font-size:14.5px;background:#FCFBF9;color:var(--cgcreg-ink);outline:none;transition:border-color .15s}
.cgcreg-field input:focus,.cgcreg-field select:focus,.cgcreg-couponrow input:focus{border-color:var(--cgcreg-orange)}
.cgcreg-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:520px){.cgcreg-grid2{grid-template-columns:1fr}}
.cgcreg-hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;opacity:0}

.cgcreg-options{display:grid;gap:12px}
.cgcreg-option{display:block;position:relative;background:var(--cgcreg-card);border:2px solid transparent;border-radius:16px;padding:18px 18px 18px 50px;cursor:pointer;transition:border-color .15s}
.cgcreg-option input{position:absolute;left:18px;top:22px;width:18px;height:18px;accent-color:var(--cgcreg-orange)}
.cgcreg-option:has(input:checked){border-color:var(--cgcreg-orange);background:#FBF3EA}
.cgcreg-option__t{display:block;font-weight:700;font-size:15px;line-height:1.35}
.cgcreg-option__d{display:block;font-size:13px;color:var(--cgcreg-gray);margin-top:4px}
.cgcreg-option--off{opacity:.5;cursor:not-allowed}

.cgcreg-slot{background:var(--cgcreg-card);border-radius:16px;padding:16px 18px;margin-top:12px}
.cgcreg-slot h4{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cgcreg-orange-d)}
.cgcreg-ws__item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-size:14px;cursor:pointer}
.cgcreg-ws__item input{width:17px;height:17px;margin-top:2px;accent-color:var(--cgcreg-orange);flex:none}

.cgcreg-hotel{background:var(--cgcreg-card);border-radius:16px;padding:18px;margin-top:14px}
.cgcreg-hotel h4{margin:0 0 12px;font-size:14.5px;font-weight:700}

.cgcreg-couponrow{display:flex;gap:10px}
.cgcreg-couponrow input{flex:1}
.cgcreg-apply{background:var(--cgcreg-ink);color:#fff;border:none;border-radius:12px;padding:0 24px;font-weight:700;font-size:13.5px;cursor:pointer}
.cgcreg-couponmsg{margin-top:12px;font-size:13.5px}
.cgcreg-good{color:#1D7A3A;font-weight:600}
.cgcreg-bad{color:#B3261E;font-weight:600}

.cgcreg-review__info{background:var(--cgcreg-card);border-radius:16px;padding:18px 20px;margin-bottom:16px}
.cgcreg-kv{display:flex;justify-content:space-between;gap:16px;font-size:13.5px;padding:6px 0}
.cgcreg-kv span:first-child{color:var(--cgcreg-gray);flex:none}
.cgcreg-kv span:last-child{text-align:right;font-weight:600}
.cgcreg-review__totals{border:1.5px solid #ECEAE5;border-radius:16px;padding:18px 20px}
.cgcreg-line{display:flex;justify-content:space-between;gap:16px;font-size:14px;padding:8px 0;border-bottom:1px solid #F0EEE9}
.cgcreg-line--disc span:last-child{color:#1D7A3A;font-weight:700}
.cgcreg-line--total{border-bottom:none;font-weight:700;font-size:17px;padding-top:14px}
.cgcreg-line--total span:last-child{color:var(--cgcreg-orange-d)}

.cgcreg-terms{background:var(--cgcreg-card);border-radius:16px;padding:20px;font-size:14px;line-height:1.75;color:#3A3A3A}
.cgcreg-agree{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14px;cursor:pointer}
.cgcreg-agree input{width:18px;height:18px;margin-top:1px;accent-color:var(--cgcreg-orange)}

.cgcreg-paytotal{font-size:15px;margin-bottom:16px}
.cgcreg-paytotal strong{color:var(--cgcreg-orange-d)}
.cgcreg-payel{min-height:220px}
.cgcreg-spin{width:34px;height:34px;margin:60px auto;border:3px solid #ECEAE5;border-top-color:var(--cgcreg-orange);border-radius:50%;animation:cgcreg-rot .8s linear infinite}
@keyframes cgcreg-rot{to{transform:rotate(360deg)}}

.cgcreg-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px}
.cgcreg-next,.cgcreg-back,.cgcreg-print{border:none;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;padding:14px 30px;transition:background .2s}
.cgcreg-next{background:var(--cgcreg-orange);color:var(--cgcreg-ink)}
.cgcreg-next:hover{background:var(--cgcreg-orange-d);color:#fff}
.cgcreg-next:disabled{opacity:.6;cursor:wait}
.cgcreg-back{background:transparent;color:var(--cgcreg-gray);border:1.5px solid #E0DED8}
.cgcreg-loading{position:relative;color:transparent!important}
.cgcreg-loading::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2px solid rgba(17,17,17,.3);border-top-color:#111;border-radius:50%;animation:cgcreg-rot .8s linear infinite}

/* ===== ticket — Design B light ===== */
.cgcreg-tk{max-width:380px;margin:0 auto;background:#fff;border:1px solid #ECEAE5;border-radius:22px;overflow:hidden;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.cgcreg-tk::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 38% at 50% 0%,rgba(233,160,90,.14),transparent 65%);pointer-events:none}
.cgcreg-tk__top{padding:26px 24px 0;position:relative;text-align:center}
.cgcreg-tk__brand{display:block;font-size:17px;font-weight:800;letter-spacing:.05em;color:var(--cgcreg-orange-d)}
.cgcreg-tk__sub{display:block;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8A8579;margin-top:5px}
.cgcreg-tk__name{font-size:22px;font-weight:800;margin-top:16px;color:var(--cgcreg-ink)}
.cgcreg-tk__pkg{font-size:12.5px;color:var(--cgcreg-gray);margin-top:5px;line-height:1.6}
.cgcreg-tk__qr{position:relative;width:150px;margin:18px auto 0;border:1.5px solid #ECEAE5;border-radius:14px;padding:9px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.cgcreg-tk__qr img,.cgcreg-tk__qr canvas{width:100%!important;height:auto!important;display:block}
.cgcreg-tk__details{position:relative;padding:18px 26px 22px}
.cgcreg-tk__kv{padding:11px 0;border-top:1px solid #F0EEE9;text-align:center}
.cgcreg-tk__kv:first-child{border-top:none;padding-top:0}
.cgcreg-tk__kv small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#B5B1A9;margin-bottom:3px}
.cgcreg-tk__kv div{font-size:13px;font-weight:700;line-height:1.5;color:#222}
.cgcreg-tk__foot{position:relative;background:var(--cgcreg-orange);text-align:center;padding:14px 20px}
.cgcreg-tk__foot span:first-child{display:block;font-family:'Courier New',monospace;font-size:16px;font-weight:800;letter-spacing:.08em;color:var(--cgcreg-ink)}
.cgcreg-tk__foot span:last-child{display:block;font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#5A3D1E;margin-top:4px}
.cgcreg-tk__note{text-align:center;font-size:13px;color:var(--cgcreg-gray);margin:16px 0 0}
.cgcreg-tk__actions{text-align:center;margin-top:14px}
.cgcreg-print{border:none;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;padding:14px 30px;background:var(--cgcreg-ink);color:#fff;transition:background .2s}
.cgcreg-print:hover{background:#333}

