/* Print Order Form Frontend Styles */

/* *** START: NEW & MODIFIED STYLES FOR UNIFIED UI *** */
.print-order-form-container {
    font-family: 'IRANSans', sans-serif !important;
    background: transparent; /* Changed from #fff to transparent */
    max-width: 1200px;
    margin: 30px auto;
    padding: 0; /* Changed from 20px to 0 */
    direction: rtl;
    text-align: right;
}

.pof-panel {
    background-color: #f9fafb;
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    /* *** MODIFIED: Spacing between panels increased *** */
    margin-bottom: 15px; /* Spacing between panels */
}

.pof-form-header {
    text-align: center;
    margin-bottom: 15px; /* Handled by .pof-panel */
}
/* *** END: NEW & MODIFIED STYLES FOR UNIFIED UI *** */


.pof-form-header h2 {
    font-size: 24px;
    color: #111827;
    margin-bottom: 10px;
    font-weight: 700;
}
.pof-form-header p {
    font-size: 16px;
    color: #6b7280;
}

.pof-form-layout-grid {
    display: flex;
    flex-wrap: wrap;
    /* *** MODIFIED: Gap is now controlled by panel margin and grid gap *** */
    gap: 15px; 
}

.pof-summary-column {
    flex: 1 1 320px;
    min-width: 320px;
}
.pof-form-inputs-column {
    flex: 2 1 500px;
}

/* Make the summary box and inputs column use the new panel style */
.pof-summary-box {
    /* Inherits from .pof-panel, only position is needed */
    position: sticky;
    top: 30px;
    margin-bottom: 0; /* Reset margin as it's handled by parent */
}
.pof-form-inputs-column .pof-panel-content {
    /* This will be a new inner wrapper for the inputs */
    padding: 25px;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
}


.pof-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 15px;
    font-size: 14px;
}
.pof-summary-table td {
    padding: 12px 5px;
    text-align: right;
    border-bottom: 1px solid #f3f4f6;
    color: #4b5563;
}
.pof-summary-table td:last-child {
    text-align: left;
    font-weight: 600;
    color: #1f2937;
}
.pof-summary-hr {
    border: none;
    border-top: 1px solid #e5e7eb;
    margin: 20px 0;
}
.pof-summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
}
.pof-summary-item .label {
    font-size: 15px;
    font-weight: 500;
    color: #4b5563;
}
.pof-summary-item .value {
    font-size: 18px;
    font-weight: bold;
    color: #111827;
}
.pof-summary-item .pof-price-final {
    color: var(--primary-color, #4a6cf7);
}

.form-group {
    margin-bottom: 25px;
}
.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    font-size: 14px;
    color: #374151;
}
.form-control {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    font-family: 'IRANSans', sans-serif !important;
    transition: all 0.2s ease;
}
.form-control:focus {
    border-color: var(--primary-color, #4a6cf7);
    outline: none;
    box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.1);
}
.pof-dimension-group { display: flex; gap: 15px; }
.pof-dimension-field { flex: 1; }

.pof-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.pof-checkbox-container {
    display: block;
    position: relative;
    padding-right: 35px;
    cursor: pointer;
    font-size: 16px;
    user-select: none;
    line-height: 24px;
}
.pof-checkbox-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
.pof-checkmark {
    position: absolute;
    top: 0;
    right: 0;
    height: 24px;
    width: 24px;
    background-color: #e5e7eb;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    transition: all 0.2s;
}
.pof-checkbox-container:hover input ~ .pof-checkmark {
    background-color: #d1d5db;
}
.pof-checkbox-container input:checked ~ .pof-checkmark {
    background-color: var(--primary-color, #4a6cf7);
    border-color: var(--primary-color, #4a6cf7);
}
.pof-checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 8px;
    top: 4px;
    width: 6px;
    height: 12px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}
.pof-checkbox-container input:checked ~ .pof-checkmark:after {
    display: block;
}
.pof-service-price {
    font-size: 13px;
    color: #6b7280;
    margin-right: 8px;
}


/* === START: UI IMPROVEMENT FOR URGENCY OPTIONS === */
.pof-urgency-options {
    display: flex; /* Changed from grid to flex */
    gap: 15px;
    align-items: stretch;
}

/* This is the new wrapper for each radio/label pair */
.pof-urgency-option-wrapper {
    flex: 1; /* Make each option take up equal space */
    display: flex;
}

/* Hide the actual radio button */
.pof-urgency-options input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* Style the label to look like a button */
.pof-urgency-option {
    width: 100%; /* Make the label fill the wrapper */
    padding: 15px 10px;
    border: 2px solid #e5e7eb;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Style for when the associated radio button is checked */
.pof-urgency-options input[type="radio"]:checked + .pof-urgency-option {
    border-color: var(--primary-color, #4a6cf7);
    background-color: rgba(74, 108, 247, 0.05);
}

.pof-urgency-options input[type="radio"]:focus-visible + .pof-urgency-option {
    box-shadow: 0 0 0 3px rgba(74, 108, 247, 0.2); /* Accessibility focus */
}

/* The old .selected class is now redundant, but kept for graceful fallback */
.pof-urgency-option.selected,
.pof-urgency-options input[type="radio"]:checked + .pof-urgency-option {
    border-color: var(--primary-color, #4a6cf7);
    background-color: rgba(74, 108, 247, 0.05);
}

.pof-urgency-option .pof-urgency-icon {
    font-size: 28px; 
    color: #6b7280;
    margin-bottom: 8px;
    transition: color 0.2s;
}

/* Change icon color when selected */
.pof-urgency-options input[type="radio"]:checked + .pof-urgency-option .pof-urgency-icon {
    color: var(--primary-color, #4a6cf7);
}

.pof-urgency-option .pof-urgency-label {
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    display: block;
}

.pof-urgency-option .pof-urgency-time {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    display: block;
    margin-top: 4px;
}
/* === END: UI IMPROVEMENT FOR URGENCY OPTIONS === */


.pof-file-upload-area {
    border: 2px dashed #d1d5db;
    border-radius: 8px;
    padding: 30px 20px;
    text-align: center;
    background: #f9fafb;
    transition: all 0.2s ease-in-out;
}
.pof-file-upload-area.dragover {
    border-color: var(--primary-color, #4a6cf7);
    background: rgba(74, 108, 247, 0.05);
}
.pof-file-upload-area .pof-upload-icon {
    font-size: 40px;
    color: #9ca3af;
    line-height: 1;
}
.pof-file-upload-area span.pof-upload-text {
    display: block;
    margin-top: 10px;
    font-size: 16px;
    color: #4b5563;
    font-weight: 500;
}
.pof-file-upload-area .pof-upload-link {
    color: var(--primary-color, #4a6cf7);
    font-weight: 600;
    cursor: pointer;
}
.pof-file-upload-area input[type="file"] {
    display: none;
}
.form-note {
    font-size: 13px;
    color: #6b7280;
    text-align: center;
    margin-top: 8px;
    display: block;
}
.pof-file-preview-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 15px;
    padding: 10px 15px;
    background: #f0f5ff;
    border: 1px solid var(--primary-color, #4a6cf7);
    border-radius: 6px;
}
.pof-file-preview-wrapper .pof-file-name {
    flex-grow: 1;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #333;
}
.pof-file-preview-wrapper .pof-remove-file-btn {
    background: none;
    border: none;
    color: #ef4444;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    padding: 0;
}

/* === START: NEW STYLES FOR FILE PREVIEW & PROGRESS BAR === */
.pof-file-preview-container {
    margin-top: 15px;
    min-height: 100px; /* Reserve space to prevent layout shifts */
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.pof-file-preview-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px;
    background-color: #f0f5ff;
    border: 1px solid #bde0ff;
    border-radius: 8px;
    position: relative;
}
.pof-file-thumbnail {
    width: 60px;
    height: 60px;
    border-radius: 6px;
    background-color: #fff;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid #e0e0e0;
}
.pof-file-thumbnail .dashicons {
    font-size: 32px;
    color: #6b7280;
}
.pof-file-info {
    flex-grow: 1;
    overflow: hidden;
}
.pof-file-name {
    font-size: 14px;
    font-weight: 500;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
.pof-file-size {
    font-size: 12px;
    color: #6b7280;
    display: block;
}
.pof-remove-file-btn {
    background: none;
    border: none;
    color: #ef4444;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
    padding: 5px;
    flex-shrink: 0;
}
.pof-file-progress-wrapper {
    margin-top: 10px;
    background-color: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
    height: 8px;
}
.pof-file-progress-bar-inner {
    height: 100%;
    width: 0;
    background-color: #2563eb;
    transition: width 0.2s ease;
}
.pof-file-progress-text {
    font-size: 12px;
    color: #4b5563;
    margin-top: 4px;
    text-align: left;
}
/* === END: NEW STYLES FOR FILE PREVIEW & PROGRESS BAR === */


.button.btn-primary, .button.btn-secondary {
    font-family: 'IRANSans', sans-serif !important;
    padding: 12px 20px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.button.btn-primary:disabled {
    opacity: 0.7;
    cursor: wait;
}
.pof-form-messages { margin-top: 15px; }
.pof-form-messages .error-message {
    background-color: #fee2e2;
    color: #b91c1c;
    padding: 10px 15px;
    border-radius: 6px;
    font-size: 14px;
}

/* === Dialog Box Styles (Corrected) === */
.pof-dialog-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0s 0.3s;
    font-family: 'IRANSans', sans-serif !important;
}
.pof-dialog-overlay.active {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}
.pof-dialog-box {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    transform: scale(0.95);
    transition: transform 0.3s;
}
.pof-dialog-overlay.active .pof-dialog-box {
    transform: scale(1);
}
.pof-dialog-box .pof-dialog-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #16a34a;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    font-weight: bold;
    margin: 0 auto 20px;
}
.pof-dialog-box h3 {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 10px;
}
.pof-dialog-box p {
    font-size: 15px;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 25px;
}
.pof-dialog-box p strong {
    color: #111827;
}
.pof-dialog-box .pof-dialog-close {
    background-color: var(--primary-color, #4a6cf7);
    color: #fff;
    border: none;
    padding: 10px 30px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    transition: background-color 0.2s;
    font-family: 'IRANSans', sans-serif !important;
}
.pof-dialog-box .pof-dialog-close:hover {
    opacity: 0.9;
}


/*
=====================================================================
    STYLES FOR USER DASHBOARD (v4 - Final)
=====================================================================
*/
:root {
    --pof-primary-color: #2563eb;
    --pof-primary-color-light: #eff6ff;
    --pof-text-color-dark: #1f2937;
    --pof-text-color-medium: #4b5563;
    --pof-text-color-light: #6b7280;
    --pof-border-color: #e5e7eb;
    --pof-bg-light: #f9fafb;
    --pof-white: #ffffff;
    --pof-success-bg: #f0fdf4;
    --pof-success-text: #166534;
    --pof-warning-bg: #fffbeb;
    --pof-warning-text: #b45309;
    --pof-info-bg: #eff6ff;
    --pof-info-text: #1e40af;
    --pof-danger-bg: #fef2f2;
    --pof-danger-text: #991b1b;
}

.pof-user-dashboard-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0;
    font-family: 'IRANSans', sans-serif !important;
    direction: rtl;
    background-color: transparent;
}
.pof-user-dashboard-container, .pof-user-dashboard-container * {
    font-family: 'IRANSans', sans-serif !important;
    box-sizing: border-box;
}

/* Header */
.pof-dashboard-header-new {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--pof-white);
    padding: 24px 32px;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    margin-bottom: 24px;
}

.pof-header-welcome {
    display: flex;
    align-items: center;
    gap: 16px;
}

.pof-welcome-icon {
    font-size: 2rem;
}

.pof-welcome-text h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--pof-text-color-dark);
    margin: 0;
}

.pof-welcome-text p {
    font-size: 1rem;
    color: var(--pof-text-color-light);
    margin: 4px 0 0;
}

.pof-header-user-info {
    display: flex;
    align-items: center;
    gap: 16px;
    background-color: var(--pof-bg-light);
    padding: 12px 16px;
    border-radius: 12px;
}

.pof-user-avatar-img {
    border-radius: 50% !important;
    border: 2px solid var(--pof-white);
    box-shadow: 0 0 10px rgba(37, 99, 235, 0.2);
}

.pof-user-contact-label {
    display: block;
    font-size: 0.8rem;
    color: var(--pof-text-color-light);
}

.pof-user-contact-value {
    display: block;
    font-size: 1rem;
    font-weight: 500;
    color: var(--pof-text-color-dark);
    direction: ltr;
    text-align: right;
}

/* Main Content */
.pof-dashboard-main {
    background-color: var(--pof-white);
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 8px;
    display: flex;
}

.pof-tabs-new {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border-left: 1px solid var(--pof-border-color);
    flex: 0 0 200px;
}

.pof-tab-new {
    width: 100%;
    padding: 12px 16px;
    font-size: 1rem;
    font-weight: 500;
    color: var(--pof-text-color-medium);
    background-color: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-align: right;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.pof-tab-new:hover {
    background-color: var(--pof-bg-light);
    color: var(--pof-text-color-dark);
}

.pof-tab-new.active {
    background-color: var(--pof-primary-color-light);
    color: var(--pof-primary-color);
    font-weight: 600;
}

.pof-content-wrapper {
    flex-grow: 1;
    padding: 16px 24px;
    min-width: 0;
}

.pof-tab-content {
    display: none;
}
.pof-tab-content.active {
    display: block;
    animation: fadeIn 0.3s ease-in-out;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}


.pof-content-header {
    margin-bottom: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.pof-content-header h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--pof-text-color-dark);
    margin: 0;
}
.pof-content-header p {
    font-size: 0.9rem;
    color: var(--pof-text-color-light);
    margin: 4px 0 0;
}

.pof-search-box {
    position: relative;
    min-width: 250px;
    display: flex;
}
.pof-search-box input[type="search"] {
    width: 100%;
    padding: 10px 16px;
    border: 1px solid var(--pof-border-color);
    border-radius: 0 8px 8px 0;
    background-color: var(--pof-bg-light);
    transition: all 0.2s ease;
    border-left: none;
}
.pof-search-box input[type="search"]:focus {
    background-color: var(--pof-white);
    border-color: var(--pof-primary-color);
    outline: none;
    box-shadow: 0 0 0 3px var(--pof-primary-color-light);
}
.pof-search-box .pof-search-submit {
    padding: 0 12px;
    border: 1px solid var(--pof-border-color);
    border-right: none;
    background-color: var(--pof-bg-light);
    border-radius: 8px 0 0 8px;
    cursor: pointer;
    color: var(--pof-text-color-light);
    transition: all 0.2s ease;
}
.pof-search-box .pof-search-submit:hover {
    background-color: #e5e7eb;
    color: var(--pof-text-color-dark);
}
.pof-search-box .pof-search-submit .dashicons {
    font-size: 20px;
    line-height: 1.8;
}


/* Table */
.pof-table-responsive {
    overflow-x: auto;
}
.pof-data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.pof-data-table th,
.pof-data-table td {
    padding: 16px;
    text-align: right;
    border-bottom: 1px solid var(--pof-border-color);
}
.pof-data-table thead th {
    color: var(--pof-text-color-light);
    font-weight: 500;
    white-space: nowrap;
}
.pof-data-table tbody td {
    color: var(--pof-text-color-medium);
    font-weight: 500;
    white-space: nowrap;
    vertical-align: middle;
}
.pof-data-table tbody tr:last-child td {
    border-bottom: none;
}
.pof-data-table tbody tr:hover {
    background-color: var(--pof-bg-light);
}
.pof-empty-table-cell {
    text-align: center !important;
    padding: 48px;
    color: var(--pof-text-color-light);
}
.pof-clear-search-link {
    display: inline-block;
    margin-top: 8px;
    text-decoration: none;
    color: var(--pof-primary-color);
    font-size: 0.9rem;
}


.pof-status-badge-new {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    display: inline-block;
}
.pof-status-badge-new.status-completed { background-color: var(--pof-success-bg); color: var(--pof-success-text); }
.pof-status-badge-new.status-processing { background-color: var(--pof-warning-bg); color: var(--pof-warning-text); }
.pof-status-badge-new.status-pending-payment { background-color: var(--pof-warning-bg); color: var(--pof-warning-text); }
.pof-status-badge-new.status-registered { background-color: var(--pof-info-bg); color: var(--pof-info-text); }
.pof-status-badge-new.status-cancelled,
.pof-status-badge-new.status-failed { background-color: var(--pof-danger-bg); color: var(--pof-danger-text); }
.pof-status-badge-new.status-on-hold { background-color: #f5f3ff; color: #5b21b6; }


.pof-btn-link {
    color: var(--pof-primary-color);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
    cursor: pointer;
}
.pof-btn-link:hover {
    color: #1d4ed8;
}

/* Pagination */
.pof-pagination {
    display: flex;
    justify-content: center;
}
.pof-pagination ul {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    padding: 0;
    list-style: none;
}
.pof-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    text-decoration: none;
    color: var(--pof-text-color-medium);
    transition: background-color 0.2s ease, color 0.2s ease;
}
.pof-pagination .page-numbers:hover {
    background-color: var(--pof-primary-color-light);
    color: var(--pof-primary-color);
}
.pof-pagination .page-numbers.current {
    background-color: var(--pof-primary-color);
    color: var(--pof-white);
    font-weight: 600;
    cursor: default;
}
.pof-pagination .page-numbers.dots {
    cursor: default;
    background: none;
}
.pof-pagination .page-numbers .dashicons {
    font-size: 18px;
}


/* Account Form */
.pof-account-form {
    padding: 16px 0;
}
.pof-form-subheading {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--pof-text-color-dark);
    margin: 32px 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--pof-border-color);
}
.pof-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.pof-form-group-new {
    display: flex;
    flex-direction: column;
}
.pof-form-group-new.pof-grid-col-2 {
    grid-column: span 2;
}
.pof-form-group-new label {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--pof-text-color-medium);
    margin-bottom: 8px;
}
.pof-form-group-new input {
    padding: 12px 16px;
    border: 1px solid var(--pof-border-color);
    border-radius: 8px;
    background-color: var(--pof-white);
    font-size: 1rem;
    transition: all 0.2s ease;
}
.pof-form-group-new input:focus {
    outline: none;
    border-color: var(--pof-primary-color);
    box-shadow: 0 0 0 3px var(--pof-primary-color-light);
}
.pof-form-group-new input[type="tel"] {
    direction: ltr;
    text-align: right;
}
.pof-form-group-new input:disabled {
    background-color: #e5e7eb;
    cursor: not-allowed;
    color: var(--pof-text-color-light);
}
.pof-form-actions-new {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 32px;
}
.pof-btn-new {
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 8px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.2s ease;
}
.pof-btn-new.pof-btn-primary {
    background-color: var(--pof-primary-color);
    color: var(--pof-white);
}
.pof-btn-new.pof-btn-primary:hover {
    background-color: #1d4ed8;
}
.pof-btn-new.pof-btn-secondary {
    background-color: var(--pof-white);
    color: var(--pof-text-color-medium);
    border-color: var(--pof-border-color);
}
.pof-btn-new.pof-btn-secondary:hover {
    background-color: var(--pof-bg-light);
    border-color: #d1d5db;
}
.pof-btn-new:disabled {
    opacity: 0.6;
    cursor: wait;
}
.pof-form-messages-new {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-radius: 8px;
    font-size: 0.9rem;
    display: none;
    border: 1px solid transparent;
}
.pof-form-messages-new.success {
    background-color: var(--pof-success-bg);
    color: var(--pof-success-text);
    border-color: #a7f3d0;
}
.pof-form-messages-new.error {
    background-color: var(--pof-danger-bg);
    color: var(--pof-danger-text);
    border-color: #fecaca;
}

/* Modal for Order Details */
.pof-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(17, 24, 39, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s 0.3s;
}
.pof-modal-overlay.active {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease;
}
.pof-modal-box {
    background: var(--pof-white);
    border-radius: 16px;
    width: 90%;
    max-width: 600px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transform: scale(0.95);
    transition: transform 0.3s ease;
}
.pof-modal-overlay.active .pof-modal-box {
    transform: scale(1);
}
.pof-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border-bottom: 1px solid var(--pof-border-color);
    flex-shrink: 0;
}
.pof-modal-header h4 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--pof-text-color-dark);
}
.pof-modal-close-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 24px;
    color: var(--pof-text-color-light);
    padding: 0;
    line-height: 1;
}
.pof-modal-body {
    padding: 24px;
    overflow-y: auto;
}

/*
============================================================
    *** MODIFIED: Enhanced Modal Styles (Final Version) ***
============================================================
*/
.pof-modal-box *,
.pof-modal-box {
    font-family: 'IRANSans', sans-serif !important;
}

.pof-modal-details-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
.pof-modal-details-list li {
    background-color: var(--pof-bg-light);
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid var(--pof-border-color);
}
/* Caption (Label) Style */
.pof-modal-details-list strong {
    display: block;
    font-size: 0.8rem; /* Smaller font size */
    color: #4b5563; /* Darker Gray for captions */
    margin-bottom: 4px;
    font-weight: 500;
}
/* Value Style */
.pof-modal-details-list span,
.pof-modal-details-list a,
.pof-modal-details-list p {
    font-size: 0.9rem; /* Smaller font size */
    color: var(--pof-text-color-dark); /* Carbon Blue for values */
    font-weight: 500;
    word-break: break-word;
}

.pof-modal-details-list a {
    color: var(--pof-primary-color);
    text-decoration: none;
    transition: color 0.2s ease;
}
.pof-modal-details-list a:hover {
    text-decoration: underline;
}
/* Full width items */
.pof-modal-details-list .pof-modal-full-width {
    grid-column: 1 / -1;
}
/* Notes/Description Paragraph Style */
.pof-modal-details-list p {
    margin: 0;
    padding: 0;
    line-height: 1.6;
    white-space: pre-wrap;
}


/* Responsive */
@media (max-width: 992px) {
    .pof-dashboard-main {
        flex-direction: column;
    }
    .pof-tabs-new {
        flex-direction: row;
        border-left: none;
        border-bottom: 1px solid var(--pof-border-color);
        flex-basis: auto;
        overflow-x: auto;
        padding: 8px;
        -ms-overflow-style: none; /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }
    .pof-tabs-new::-webkit-scrollbar {
        display: none; /* Chrome, Safari, Opera*/
    }
    .pof-tab-new {
        white-space: nowrap;
    }
    .pof-content-wrapper {
        padding: 24px 16px;
    }
}

@media (max-width: 768px) {
    .pof-dashboard-header-new {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 24px;
    }
    .pof-header-user-info {
        width: 100%;
        justify-content: space-between;
    }
    .pof-form-grid {
        grid-template-columns: 1fr;
    }
    .pof-form-group-new.pof-grid-col-2 {
        grid-column: span 1;
    }
    .pof-data-table thead {
        display: none;
    }
    .pof-data-table tr {
        display: block;
        margin-bottom: 16px;
        border: 1px solid var(--pof-border-color);
        border-radius: 8px;
        padding: 8px;
    }
    .pof-data-table td {
        display: block;
        text-align: left;
        padding: 10px 12px;
        border-bottom: 1px dashed #f3f4f6;
    }
    .pof-data-table td:last-child {
        border-bottom: none;
    }
    .pof-data-table td::before {
        content: attr(data-label);
        float: right;
        font-weight: 600;
        margin-left: 16px;
        color: var(--pof-text-color-dark);
    }
}

/*
====================================================================
    START: HIGH-PRIORITY OVERRIDE STYLES FOR DIGITS (V2)
====================================================================
*/

/* --- Force Apply Font --- */
.digits_modal_box * {
    font-family: 'Vazirmatn', 'IRANSans', sans-serif !important;
}

/* --- Modal Box General Override --- */
.digits_modal_box {
  background-color: #FFFFFF !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}

/* --- Header Area --- */
.digits_modal_box .digits_modal_header {
  border-bottom: none !important;
  padding: 24px 24px 12px 24px !important;
}
.digits_modal_box .digits_modal_header h3.digits-form_heading_text {
  color: #111827 !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  width: 100%;
  text-align: right;
}

/* --- Form Content Area --- */
.digits_modal_box .digloginpage, .digits_modal_box .digits_register {
  padding: 12px 24px 24px 24px !important;
}

/* --- TABS Override (استفاده از شماره تلفن / ...) --- */
.digits_modal_box .dig_login_step_2_nav_item {
    font-weight: 500 !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid transparent !important;
    color: #6B7280 !important;
}
.digits_modal_box .dig_login_step_2_nav_item.dig_login_step_2_nav_item_active {
    color: #2563EB !important;
    border-bottom-color: #2563EB !important;
}
.digits_modal_box .dig_login_step_2_nav {
    border-bottom: 1px solid #e5e7eb !important;
}

/* --- Mobile Input Field FIX & Style --- */
.digits-form_input_row.digits-mobile_wrapper {
    display: flex !important;
    flex-direction: row;
    align-items: baseline;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    background-color: #F9FAFB !important;
    transition: all 0.2s ease-in-out;
    flex-wrap: wrap;
    align-content: stretch;
    justify-content: space-between;
}
.digits-form_input_row.digits-mobile_wrapper:focus-within {
    border-color: #2563EB !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
    background-color: #fff !important;
}

.digits-mobile_wrapper .countrycodecontainer,
.digits-mobile_wrapper .digits-form_input:last-child {
    border: none !important;
    background: transparent !important;
}
.digits-mobile_wrapper .countrycode {
    padding-right: 12px !important;
    padding-left: 8px !important;
}
.digits-mobile_wrapper .mobile_field {
    text-align: left !important;
    direction: ltr !important;
    padding-left: 16px !important;
}

/* --- Other Input fields (Name, Password, etc) --- */
.digits_modal_box .digits-input-wrapper input,
.digits-form_input_row.digits-user_inp_row input {
    background-color: #F9FAFB !important;
    border: 1px solid #D1D5DB !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    height: 48px !important;
    font-size: 15px !important;
    color: #111827 !important;
    width: 100% !important;
    transition: all 0.2s ease-in-out;
    box-shadow: none !important;
}
.digits_modal_box .digits-input-wrapper input:focus,
.digits-form_input_row.digits-user_inp_row input:focus {
    border-color: #2563EB !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
    background-color: #fff !important;
}
/* Hide default input wrapper border */
.digits-form_input_row.digits-user_inp_row > div {
    border: none !important;
    background-color: transparent !important;
}


/* --- Submit Button Override --- */
.digits_modal_box button.digits-form_button {
    background-color: #2563EB !important;
    border-radius: 8px !important;
    height: 48px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    width: 100% !important;
    border: none !important;
    color: #FFF !important;
    box-shadow: none !important;
    margin-top: 10px !important;
}
.digits_modal_box button.digits-form_button:hover {
    background-color: #1D4ED8 !important;
}

/* --- Footer Links & "Protected by" text --- */
.digits_modal_box .dig_login_signup_bar, .dig_forgot_pass_bar {
  text-align: center !important;
  font-size: 14px !important;
  color: #4b5563 !important;
}
.digits_modal_box .dig_login_signup_bar a, .dig_forgot_pass_bar a {
  color: #2563EB !important;
  font-weight: 500 !important;
}
.digits_modal_box .dig_powered_by,
.digits_modal_box .protected_by_digits {
    display: none !important;
}

/* Hide extra "Mobile Number" label in registration */
.digits_modal_box form.register p:has(#wpsms-mobile) {
    display: none !important;
}

/*
====================================================================
    END: HIGH-PRIORITY OVERRIDE STYLES FOR DIGITS (V2)
====================================================================
*/

@media (max-width: 768px) {
    /* Responsive for modal itself is removed, as digits handles it.
       Only keeping dashboard styles */
    .pof-dashboard-header-new {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 24px;
    }
    .pof-header-user-info {
        width: 100%;
        justify-content: space-between;
    }
}