.etb-packages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:24px 0;}
.etb-package-card{border:1px solid #e5e7eb;border-radius:10px;padding:24px;background:#fff;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.etb-package-header{margin-bottom:16px;}
.etb-package-name{margin:0 0 6px;font-size:20px;color:#01411C;}
.etb-package-price{font-size:26px;font-weight:700;color:#01411C;}
.etb-package-features{list-style:none;margin:0 0 20px;padding:0;flex:1;}
.etb-package-features li{padding:6px 0;font-size:14px;color:#374151;border-bottom:1px dashed #eee;}
.etb-check{color:#16a34a;font-weight:700;margin-right:6px;}
.etb-btn{display:inline-block;background:#01411C;color:#fff !important;text-decoration:none;padding:12px 20px;border-radius:6px;border:none;cursor:pointer;font-size:15px;font-weight:600;text-align:center;transition:background .15s ease;}
.etb-btn:hover{background:#0a6b31;}
.etb-btn-submit{width:100%;}
.etb-btn:disabled{opacity:.6;cursor:not-allowed;}
.etb-empty{color:#6b7280;font-style:italic;}

.etb-booking-form-wrap{max-width:640px;margin:0 auto;}
.etb-form-row{margin-bottom:18px;}
.etb-form-row label{display:block;font-weight:600;margin-bottom:6px;color:#111827;font-size:14px;}
.etb-form-row .req{color:#dc2626;}
.etb-form-row .etb-optional,.etb-hint{color:#6b7280;font-weight:400;font-size:12px;}
.etb-form-row input[type=text],.etb-form-row input[type=email],.etb-form-row input[type=tel],.etb-form-row input[type=number],.etb-form-row input[type=file],.etb-form-row select{
	width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box;
}
.etb-form-row input:focus,.etb-form-row select:focus{outline:none;border-color:#01411C;box-shadow:0 0 0 2px rgba(25,35,60,.15);}
.etb-field-error{display:block;color:#dc2626;font-size:12.5px;margin-top:4px;min-height:1em;}
.etb-form-row.has-error input,.etb-form-row.has-error select{border-color:#dc2626;}

.etb-alert{padding:14px 16px;border-radius:6px;margin-bottom:18px;font-size:14px;}
.etb-alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;}
.etb-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;}

.etb-form-inline{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;}
.etb-form-inline .etb-form-row{margin-bottom:0;min-width:200px;flex:1;}
.etb-form-inline .etb-btn{white-space:nowrap;}

.etb-status-result{margin-top:24px;padding:20px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa;}
.etb-status-result h4{margin-top:0;}
.etb-status-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;}
.etb-status-pending{background:#fef9c3;color:#854d0e;}
.etb-status-approved{background:#dcfce7;color:#166534;}
.etb-status-rejected{background:#fee2e2;color:#991b1b;}
.etb-status-used{background:#e0e7ff;color:#3730a3;}
.etb-status-unused{background:#dcfce7;color:#166534;}

.etb-scanner-wrap{max-width:480px;margin:0 auto;text-align:center;}
#etb-reader{margin:16px 0;border-radius:10px;overflow:hidden;}
.etb-scanner-controls{display:flex;gap:10px;justify-content:center;margin-bottom:16px;}
.etb-scanner-controls .etb-btn{flex:1;}
.etb-scan-result{border-radius:10px;padding:20px;font-size:15px;text-align:left;min-height:20px;}
.etb-scan-result.etb-scan-success{background:#dcfce7;border:2px solid #16a34a;color:#14532d;}
.etb-scan-result.etb-scan-duplicate{background:#fee2e2;border:2px solid #dc2626;color:#7f1d1d;}
.etb-scan-result.etb-scan-invalid{background:#fee2e2;border:2px solid #dc2626;color:#7f1d1d;}
.etb-scan-result h4{margin:0 0 10px;font-size:18px;}
.etb-scan-result dl{margin:0;}
.etb-scan-result dt{font-weight:600;float:left;width:130px;clear:left;font-size:13px;}
.etb-scan-result dd{margin:0 0 6px 130px;font-size:13px;}
.etb-scanner-denied{max-width:480px;margin:0 auto;text-align:center;padding:24px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;}

.etb-scanner-status-bar{display:flex;align-items:center;gap:8px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;margin-bottom:14px;font-size:12.5px;color:#374151;text-align:left;}
.etb-status-dot{width:10px;height:10px;border-radius:50%;background:#9ca3af;flex-shrink:0;}
.etb-scanner-status-bar.etb-status-online .etb-status-dot{background:#16a34a;}
.etb-scanner-status-bar.etb-status-offline .etb-status-dot{background:#dc2626;}
.etb-scanner-status-bar.etb-status-offline{background:#fef2f2;border-color:#fecaca;}
#etb-status-text{flex:1;}
.etb-btn-link{background:none;border:none;color:#01411C;text-decoration:underline;font-size:12.5px;cursor:pointer;padding:0;}
.etb-btn-link:disabled{opacity:.6;cursor:default;}
.etb-status-error{font-size:12px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:6px 10px;margin-bottom:10px;text-align:left;}
.etb-offline-tag{display:inline-block;font-size:11px;font-weight:600;background:#fef3c7;color:#92400e;border-radius:4px;padding:2px 6px;margin-left:6px;vertical-align:middle;}

.etb-scanner-help{background:#fef9c3;border:1px solid #fde047;color:#854d0e;padding:12px 14px;border-radius:8px;font-size:13px;margin-top:10px;}
#etb-review-panel{margin-bottom:10px;}
#etb-scan-next{background:#374151;}

.etb-radio-group{display:flex;flex-wrap:wrap;gap:14px;}
.etb-radio-option,.etb-checkbox-option{font-weight:400 !important;display:inline-flex;align-items:center;gap:6px;}
.etb-scan-result.etb-scan-processing{background:#eff6ff;border:2px solid #93c5fd;color:#1e3a8a;}

.etb-thankyou-wrap{max-width:600px;margin:0 auto;text-align:center;}
.etb-thankyou-card{background:#fff;border:1px solid var(--etb-border,#e5e7eb);border-radius:14px;padding:36px 32px 30px;box-shadow:0 4px 18px rgba(1,65,28,.08);position:relative;overflow:hidden;}
.etb-thankyou-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--etb-green,#01411C) 0 66%,#fff 66% 100%);}
.etb-thankyou-icon{width:64px;height:64px;margin:6px auto 18px;}
.etb-thankyou-icon svg{width:100%;height:100%;display:block;}
.etb-thankyou-title{margin:0 0 10px;font-size:24px;line-height:1.3;color:var(--etb-green,#01411C);font-weight:800;}
.etb-thankyou-sub{margin:0 auto 22px;max-width:440px;color:#4b5563;font-size:14.5px;line-height:1.55;}
.etb-thankyou-refbox{display:inline-flex;flex-direction:column;gap:4px;background:var(--etb-green-light,#ecfdf5);border:1px dashed var(--etb-green,#01411C);border-radius:10px;padding:12px 26px;margin:0 auto 8px;}
.etb-thankyou-reflabel{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--etb-green-dark,#065f46);font-weight:700;}
.etb-thankyou-refvalue{font-size:20px;font-weight:800;color:var(--etb-green,#01411C);letter-spacing:.03em;}
.etb-thankyou-refhint{max-width:420px;margin:6px auto 0;}
.etb-thankyou-steps{text-align:left;background:#f9fafb;border-radius:10px;padding:16px 18px 14px;margin:26px 0 22px;}
.etb-thankyou-steps h3{margin:0 0 10px;font-size:13.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--etb-green,#01411C);}
.etb-thankyou-steps ol{margin:0;padding-left:20px;color:#374151;font-size:13.5px;line-height:1.7;}
.etb-thankyou-steps li{margin-bottom:4px;}
.etb-thankyou-resubmit{margin-top:18px;font-size:12.5px;}
.etb-thankyou-resubmit a{color:var(--etb-green,#01411C);font-weight:600;text-decoration:underline;}
.etb-btn-outline{background:#fff;color:var(--etb-green,#01411C) !important;border:2px solid var(--etb-green,#01411C);}
.etb-btn-outline:hover{background:var(--etb-green-light,#ecfdf5);}
.etb-thankyou-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px;}
.etb-thankyou-actions .etb-btn{flex:1;min-width:160px;}

.etb-receipt-wrap{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:20px;}
.etb-receipt-bank-card,.etb-receipt-form-card{background:#fff;border:1px solid var(--etb-border,#e5e7eb);border-radius:12px;padding:24px 26px;box-shadow:0 2px 10px rgba(1,65,28,.06);}
.etb-receipt-heading{margin:0 0 14px;font-size:16px;color:var(--etb-green,#01411C);font-weight:800;}
.etb-bank-details-table{width:100%;border-collapse:collapse;margin-bottom:12px;}
.etb-bank-details-table th,.etb-bank-details-table td{text-align:left;padding:8px 10px;font-size:14px;border-bottom:1px solid #f1f5f9;}
.etb-bank-details-table th{width:40%;color:#6b7280;font-weight:600;}
.etb-bank-details-table td{color:#111827;font-weight:700;letter-spacing:.02em;}
.etb-receipt-instructions{background:var(--etb-green-light,#ecfdf5);border:1px solid var(--etb-border,#e5e7eb);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--etb-green-dark,#065f46);margin:0 0 10px;}

.etb-combo-hint{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:8px 10px;border-radius:6px;font-size:12.5px;margin:4px 0 10px;}
.etb-price-summary{border:2px solid #01411C;border-radius:8px;padding:14px 18px;margin:20px 0;background:#f9fafb;}
.etb-price-summary-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:14px;}
.etb-price-total-row{border-top:1px dashed #d1d5db;margin-top:6px;padding-top:10px;font-size:17px;}
.etb-price-total-row strong{color:#01411C;}

.etb-package-group-section{margin-bottom:32px;}
.etb-package-group-title{font-size:18px;color:#01411C;margin:0 0 8px;}
.etb-package-price-unit{font-size:13px;font-weight:400;color:#6b7280;}

/* ------------------------------------------------------------------ */
/* Pakistan flag-inspired theme: dark green (#01411C) + white, with a  */
/* small crescent-and-star accent reused across key surfaces. Kept     */
/* clean and restrained rather than literal/gaudy -- green as the      */
/* primary brand color, a thin white/green edge on cards and headers   */
/* echoing the flag's white hoist stripe, and the crescent-star mark   */
/* used sparingly as a badge/watermark, not as wallpaper.              */
/* ------------------------------------------------------------------ */
:root{
	--etb-green:#01411C;
	--etb-green-dark:#012b12;
	--etb-green-light:#e7f3ea;
	--etb-green-mid:#0a6b31;
	--etb-white:#ffffff;
	--etb-border:#cfe3d6;
}

.etb-package-card{border-top:4px solid var(--etb-green);position:relative;}
.etb-package-card::after{content:"";position:absolute;top:0;right:16px;width:22px;height:22px;background:var(--etb-green);border-radius:0 0 4px 4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M62,10 A40,40 0 1 0 62,90 A31,31 0 1 1 62,10 Z' fill='%23ffffff'/%3E%3Cpath d='M78,32 L83,45 L97,45 L86,53 L90,66 L78,58 L66,66 L70,53 L59,45 L73,45 Z' fill='%23ffffff'/%3E%3C/svg%3E");background-size:60%;background-repeat:no-repeat;background-position:center;}

.etb-price-summary{border-color:var(--etb-green);background:var(--etb-green-light);}
.etb-price-total-row strong{color:var(--etb-green);}
.etb-combo-hint{background:var(--etb-green-light);border-color:var(--etb-border);color:var(--etb-green-dark);}
.etb-package-group-title{color:var(--etb-green);border-bottom:2px solid var(--etb-green-light);padding-bottom:6px;}

.etb-scan-result.etb-scan-success{background:var(--etb-green-light);border-color:var(--etb-green);color:var(--etb-green-dark);}
.etb-scanner-status-bar.etb-status-online .etb-status-dot{background:var(--etb-green);}
.etb-btn-link{color:var(--etb-green);}
.etb-offline-tag{background:var(--etb-green-light);color:var(--etb-green-dark);}

.etb-form-row input:focus,.etb-form-row select:focus{border-color:var(--etb-green);box-shadow:0 0 0 2px rgba(1,65,28,.15);}
.etb-check{color:var(--etb-green-mid);}

/* Small reusable crescent-and-star mark, used as a heading accent. */
.etb-flag-mark{display:inline-block;width:1em;height:1em;vertical-align:-0.15em;margin-right:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M62,10 A40,40 0 1 0 62,90 A31,31 0 1 1 62,10 Z' fill='%2301411C'/%3E%3Cpath d='M78,32 L83,45 L97,45 L86,53 L90,66 L78,58 L66,66 L70,53 L59,45 L73,45 Z' fill='%2301411C'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;}
