/* --- CHECKOUT & FORMS --- */
.lwp-ap-section {
    margin-top: 30px;
    border-top: 1px solid #eee;
    padding-top: 20px;
}

.lwp-ap-section h3 {
    margin-bottom: 20px;
}

.lwp-ap-attendee-card {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

.lwp-ap-attendee-card h4 {
    margin: 0 0 10px 0;
    font-size: 1.15em;
    font-weight: 700;
    color: #1d2327;
}

.lwp-ap-ticket-label {
    display: inline-block;
    background: #f0f0f1;
    color: #50575e;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 0.9em;
    font-weight: 500;
    margin-bottom: 20px;
    border: 1px solid #c3c4c7;
}

.lwp-ap-row {
    margin-bottom: 15px;
}
.lwp-ap-row:last-child {
    margin-bottom: 0;
}

.lwp-ap-row label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 0.95em;
    color: #2c3338;
}

.lwp-ap-row input[type=text],
.lwp-ap-row input[type=email],
.lwp-ap-row input[type=tel],
.lwp-ap-row input[type=date],
.lwp-ap-row select,
.lwp-ap-row textarea {
    width: 100%;
    padding: 0 12px;
    height: 40px;
    line-height: 40px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    box-sizing: border-box;
}

.lwp-ap-row textarea {
    height: auto;
    line-height: 1.5;
    padding: 10px;
}

/* Checkbox alignment */
.lwp-ap-row.checkbox-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.lwp-ap-row.checkbox-row label {
    margin: 0;
    font-weight: 400;
}
.lwp-ap-row.checkbox-row input {
    width: auto;
    height: auto;
    margin: 0;
}

.lwp-ap-profile-row {
    margin-bottom: 20px;
    border-bottom: 1px solid #f0f0f1;
    padding-bottom: 20px;
}

.lwp-ap-copy-row {
    margin-bottom: 20px; 
    border-bottom: 1px solid #eee; 
    padding-bottom: 15px;
}

.lwp-ap-label-copy {
    font-size: 0.9em; 
    color: #2271b1; 
    font-weight: 600;
    display: block;
    margin-bottom: 5px;
}

.lwp-ap-copy-select {
    font-size: 0.9em;
}

.lwp-ap-label-autofill {
    display: block;
    margin-bottom: 5px;
    font-size: 0.9em;
    color: #666;
}

.lwp-ap-required-mark {
    color: red;
}

/* --- BADGE NOTICES & UPSELLS --- */
.lwp-ap-frontend-badges-wrap {
    margin-bottom: 20px;
    width: 100%;
}

.lwp-ap-badge-notice {
    background: #fff8e5;
    border-left: 4px solid #f39c12;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 4px;
    color: #8a6d3b;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.lwp-ap-badge-notice:last-child {
    margin-bottom: 0 !important;
}

.lwp-ap-badge-icon-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    background: #fff;
    padding: 4px;
    border-radius: 4px;
    border: 1px solid #e5e5e5;
}

.lwp-ap-badge-icon-dash {
    color: #f39c12;
    font-size: 32px;
    width: 32px;
    height: 32px;
}

.lwp-ap-badge-title {
    font-size: 1.1em;
    color: #b56a00;
    font-weight: bold;
}

.lwp-ap-notice-text {
    font-size: 0.95em;
}

/* Upsell Nudge (Account List) */
.lwp-ap-upsell-box {
    background: #fff8e5; 
    border-left: 4px solid #f39c12; 
    padding: 5px 8px; 
    margin-top: 4px; 
    margin-bottom: 8px; 
    border-radius: 4px; 
    font-size: 0.95em; 
    color: #8a6d3b; 
    display: flex; 
    align-items: center; 
    gap: 10px;
}

.lwp-ap-upsell-icon {
    color: #f39c12; 
    font-size: 24px; 
    width: 24px; 
    height: 24px;
}

.lwp-ap-upsell-link {
    color: #b56a00; 
    text-decoration: underline; 
    font-weight: 700;
}

.lwp-ap-upsell-td {
    border-top: none; 
    padding-top: 0; 
    padding-bottom: 20px;
}

/* --- LEADERBOARD --- */
.lwp-ap-leaderboard-table {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
}

.lwp-ap-leaderboard-table th {
    padding: 10px;
    border-bottom: 2px solid #eee;
}

.lwp-ap-leaderboard-table td {
    padding: 10px;
    border-bottom: 1px solid #f0f0f0;
}

.lwp-ap-badge-count-pill {
    background: #2271b1;
    color: #fff;
    padding: 4px 8px;
    border-radius: 10px;
    font-size: 0.9em;
    font-weight: bold;
}

.lwp-ap-col-badges {
    text-align: center;
}

.lwp-ap-leaderboard-footer {
    font-size: 0.8em; 
    color: #999; 
    margin-top: 10px; 
    text-align: right;
}

/* --- ACCOUNT & ORDERS --- */
/* View Order Table */
.lwp-ap-view-order {
    margin-bottom: 40px; 
    margin-top: 30px;
}

.lwp-ap-details-table {
    width: 100%; 
    border-collapse: collapse;
}

.lwp-ap-details-row {
    border-bottom: 1px solid #e5e5e5;
}

.lwp-ap-details-th {
    text-align: left; 
    padding: 20px; 
    background: #f9f9f9; 
    width: 30%; 
    vertical-align: top;
}

.lwp-ap-attendee-header {
    font-size: 1.1em; 
    margin-bottom: 10px;
}

.lwp-ap-ticket-pill {
    display: inline-block; 
    background: #f0f0f1; 
    color: #50575e; 
    padding: 6px 12px; 
    border-radius: 4px; 
    font-size: 0.85em; 
    font-weight: 500; 
    border: 1px solid #c3c4c7;
}

.lwp-ap-details-td {
    padding: 20px; 
    vertical-align: top;
}

.lwp-ap-field-row {
    margin-bottom: 6px;
}

/* Saved Profiles List */
.lwp-ap-col-name {
    width: 300px; 
    max-width: 300px;
}

.lwp-ap-meta-row {
    font-size: 0.9em; 
    color: #666;
}

.lwp-ap-empty-meta {
    color: #999;
}

.lwp-ap-no-border {
    border-bottom: none !important;
}

/* Edit Form */
.lwp-ap-privacy-label {
    display: inline-flex; 
    align-items: center; 
    gap: 8px;
}

.lwp-ap-btn-cancel {
    background: #eee; 
    color: #333;
}

/* --- SHARED BADGE UTILS --- */
.lwp-ap-badge-list {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.lwp-ap-badge-grid {
    margin-top: 6px; 
    display: flex; 
    flex-wrap: wrap; 
    gap: 4px; 
    justify-content: space-between;
}

.lwp-ap-badge-img-sm {
    width: 36px; 
    height: 36px; 
    object-fit: contain; 
    background: #fff; 
    padding: 4px; 
    border: 1px solid #e5e5e5; 
    border-radius: 6px; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); 
    box-sizing: content-box;
}

.lwp-ap-badge-fallback {
    display: inline-block; 
    padding: 2px 6px; 
    background: #eee; 
    font-size: 10px; 
    border-radius: 3px;
}