/*! GP Lite Form */
.glf-wrap{--glf-a:var(--glf-accent,var(--glf-form-accent,#2563eb));--glf-r:var(--glf-radius,8px);--glf-g:var(--glf-gap,16px);--glf-h:var(--glf-in-h,44px);--glf-bd:var(--glf-in-border,#d1d5db);--glf-bg:var(--glf-in-bg,#fff);--glf-c:var(--glf-in-color,#111827);box-sizing:border-box;width:100%}
.glf-wrap *,.glf-wrap *::before,.glf-wrap *::after{box-sizing:border-box}
.glf-title{margin:0 0 16px}
.glf-form{margin:0}
.glf-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--glf-g)}
.glf-field{grid-column:span 12;margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:6px}
.glf-w-75{grid-column:span 9}.glf-w-66{grid-column:span 8}.glf-w-50{grid-column:span 6}.glf-w-33{grid-column:span 4}.glf-w-25{grid-column:span 3}
@media (max-width:767px){.glf-field{grid-column:span 12!important}}
.glf-label{display:block;font-weight:600;font-size:.93em;line-height:1.35;padding:0;margin:0;color:inherit}
.glf-nolabels .glf-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.glf-req{color:#dc2626}
.glf-wrap input[type=text],.glf-wrap input[type=email],.glf-wrap input[type=tel],.glf-wrap input[type=number],.glf-wrap input[type=date],.glf-wrap input[type=time],.glf-wrap select,.glf-wrap textarea{width:100%;max-width:100%;min-height:var(--glf-h);margin:0;padding:9px 12px;border:1px solid var(--glf-bd);border-radius:var(--glf-r);background:var(--glf-bg);color:var(--glf-c);font:inherit;line-height:1.4;box-shadow:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.glf-wrap select{padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.glf-wrap input[type=date]{-webkit-appearance:auto;appearance:auto}
.glf-wrap textarea{min-height:90px;resize:vertical}
.glf-wrap input:focus,.glf-wrap select:focus,.glf-wrap textarea:focus{outline:0;border-color:var(--glf-a);box-shadow:0 0 0 3px color-mix(in srgb,var(--glf-a) 18%,transparent)}
.glf-wrap input[type=file]{width:100%;padding:8px;border:1px dashed var(--glf-bd);border-radius:var(--glf-r);background:var(--glf-bg);font:inherit;font-size:.92em}
.glf-help{font-size:.84em;opacity:.7;line-height:1.4}
.glf-err{font-size:.84em;color:#dc2626;line-height:1.35}
.glf-err:empty{display:none}
.glf-invalid input,.glf-invalid select,.glf-invalid textarea{border-color:#dc2626!important}
.glf-invalid .glf-choice span{border-color:#fca5a5}
.glf-choices{display:flex;flex-wrap:wrap;gap:8px 18px}
.glf-choice{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer;font-weight:400;line-height:1.4;margin:0}
.glf-choice input{width:18px;height:18px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--glf-a)}
.glf-accept{font-size:.93em}
.glf-accept a{color:var(--glf-a)}
/* Khung giờ dạng nút */
.glf-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.glf-slots .glf-choice{display:block;position:relative;margin:0}
.glf-slots .glf-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.glf-slots .glf-choice span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:var(--glf-h);padding:6px 8px;border:1px solid var(--glf-bd);border-radius:var(--glf-r);background:var(--glf-bg);color:var(--glf-c);text-align:center;font-weight:600;font-size:.95em;transition:all .15s;line-height:1.2}
.glf-slots .glf-choice span small{font-weight:400;font-size:.78em;opacity:.75;margin-top:2px}
.glf-slots .glf-choice:hover span{border-color:var(--glf-a)}
.glf-slots .glf-choice input:checked+span{background:var(--glf-a);border-color:var(--glf-a);color:#fff}
.glf-slots .glf-choice input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--glf-a) 30%,transparent)}
.glf-slots .glf-choice.is-full{cursor:not-allowed}
.glf-slots .glf-choice.is-full span{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;text-decoration:line-through}
.glf-slots .glf-choice.is-full span small{text-decoration:none}
.glf-slots.is-loading{opacity:.55;pointer-events:none}
.glf-slot-hint{font-size:.84em;opacity:.75}
.glf-slot-hint:empty{display:none}
.glf-wrap select option:disabled{color:#9ca3af}
/* Nút */
.glf-actions{display:flex;margin-top:var(--glf-g)}
.glf-wrap .glf-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--glf-h);padding:10px 26px;border:0;border-radius:var(--glf-r);background:var(--glf-a);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:filter .15s,transform .1s}
.glf-wrap .glf-submit:hover{filter:brightness(1.08)}
.glf-wrap .glf-submit:active{transform:translateY(1px)}
.glf-btn-full .glf-submit{width:100%}
.glf-wrap .glf-submit[disabled]{opacity:.7;cursor:progress}
.glf-submit.is-busy::before{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:glf-spin .7s linear infinite}
@keyframes glf-spin{to{transform:rotate(360deg)}}
/* Thông báo */
.glf-out:empty{display:none}
.glf-out{margin-top:14px}
.glf-msg{padding:12px 16px;border-radius:var(--glf-r);border:1px solid;font-size:.95em;line-height:1.5}
.glf-msg p{margin:0 0 .4em}.glf-msg p:last-child{margin:0}
.glf-ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.glf-bad{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.glf-wrap>.glf-ok{margin-bottom:16px}
.glf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.glf-notice{padding:10px 14px;border:1px dashed #f59e0b;background:#fffbeb;color:#92400e;border-radius:6px;font-size:14px}
.glf-t-html>:last-child{margin-bottom:0}
