/**
 * Developer Directory Pro v4.0 - Complete Styles
 */

/* ===== VARIABLES ===== */
:root {
    --ddp-primary: #2563eb;
    --ddp-primary-dark: #1d4ed8;
    --ddp-secondary: #64748b;
    --ddp-success: #10b981;
    --ddp-warning: #f59e0b;
    --ddp-danger: #ef4444;
    --ddp-gray-50: #f8fafc;
    --ddp-gray-100: #f1f5f9;
    --ddp-gray-200: #e2e8f0;
    --ddp-gray-300: #cbd5e1;
    --ddp-gray-400: #94a3b8;
    --ddp-gray-500: #64748b;
    --ddp-gray-600: #475569;
    --ddp-gray-700: #334155;
    --ddp-gray-800: #1e293b;
    --ddp-radius: 8px;
    --ddp-radius-lg: 12px;
    --ddp-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --ddp-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
}

/* ===== BASE ===== */
.ddp-directory, .ddp-dashboard, .ddp-form-page, .ddp-single-listing, .ddp-manage-page, .ddp-auth-page, .ddp-pricing-page, .ddp-analytics, .ddp-account-page {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--ddp-gray-800);
    line-height: 1.6;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* ===== BUTTONS ===== */
.ddp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: var(--ddp-radius);
    font-weight: 500;
    font-size: 14px;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: all 0.2s;
}
.ddp-btn-primary { background: var(--ddp-primary); color: #fff; }
.ddp-btn-primary:hover { background: var(--ddp-primary-dark); color: #fff; }
.ddp-btn-secondary { background: var(--ddp-gray-600); color: #fff; }
.ddp-btn-outline { background: #fff; border: 1px solid var(--ddp-gray-300); color: var(--ddp-gray-700); }
.ddp-btn-outline:hover { border-color: var(--ddp-primary); color: var(--ddp-primary); }
.ddp-btn-danger { background: var(--ddp-danger); color: #fff; }
.ddp-btn-lg { padding: 14px 28px; font-size: 16px; }
.ddp-btn-sm { padding: 6px 12px; font-size: 13px; }
.ddp-btn-block { width: 100%; }
.ddp-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* ===== FORMS ===== */
.ddp-form { max-width: 800px; }
.ddp-field { margin-bottom: 20px; }
.ddp-field label { display: block; font-weight: 500; margin-bottom: 6px; color: var(--ddp-gray-700); }
.ddp-input, .ddp-select, .ddp-textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--ddp-gray-300);
    border-radius: var(--ddp-radius);
    font-size: 15px;
    transition: border-color 0.2s;
}
.ddp-input:focus, .ddp-select:focus, .ddp-textarea:focus {
    outline: none;
    border-color: var(--ddp-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.ddp-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ddp-field-row-3 { grid-template-columns: repeat(3, 1fr); }
.ddp-checkbox-label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.required { color: var(--ddp-danger); }

/* ===== MESSAGES ===== */
.ddp-message { padding: 12px 16px; border-radius: var(--ddp-radius); margin-top: 16px; }
.ddp-success { background: #d1fae5; color: #065f46; }
.ddp-error { background: #fee2e2; color: #991b1b; }
.ddp-notice { padding: 40px; text-align: center; background: var(--ddp-gray-50); border-radius: var(--ddp-radius); }

/* ===== CARDS ===== */
.ddp-card {
    background: #fff;
    border-radius: var(--ddp-radius-lg);
    box-shadow: var(--ddp-shadow);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}
.ddp-card:hover { transform: translateY(-2px); box-shadow: var(--ddp-shadow-lg); }
.ddp-card-featured { border: 2px solid var(--ddp-warning); }
.ddp-card-image { display: block; aspect-ratio: 16/10; overflow: hidden; position: relative; background: var(--ddp-gray-100); }
.ddp-card-image img { width: 100%; height: 100%; object-fit: cover; }
.ddp-card-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--ddp-gray-400); }
.ddp-card-body { padding: 16px; }
.ddp-card-category { font-size: 12px; color: var(--ddp-primary); text-transform: uppercase; font-weight: 600; text-decoration: none; }
.ddp-card-title { margin: 8px 0; font-size: 18px; }
.ddp-card-title a { color: inherit; text-decoration: none; }
.ddp-card-rating { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.ddp-stars { color: var(--ddp-warning); letter-spacing: -2px; }
.ddp-card-meta { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: var(--ddp-gray-500); }
.ddp-card-meta svg { vertical-align: -2px; }
.ddp-card-footer { padding: 12px 16px; border-top: 1px solid var(--ddp-gray-100); display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
.ddp-card-phone { color: var(--ddp-gray-600); text-decoration: none; display: flex; align-items: center; gap: 6px; }
.ddp-card-link { color: var(--ddp-primary); text-decoration: none; font-weight: 500; }

/* ===== BADGES ===== */
.ddp-badge { display: inline-block; padding: 4px 10px; font-size: 11px; font-weight: 600; text-transform: uppercase; border-radius: 20px; }
.ddp-badge-featured { background: var(--ddp-warning); color: #fff; position: absolute; top: 10px; left: 10px; }
.ddp-badge-verified { background: var(--ddp-primary); color: #fff; }
.ddp-badge-category { background: var(--ddp-gray-100); color: var(--ddp-gray-700); text-decoration: none; }
.ddp-verified-icon { color: var(--ddp-primary); vertical-align: middle; }

/* ===== GRID ===== */
.ddp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.ddp-view-list .ddp-card { display: grid; grid-template-columns: 200px 1fr auto; }
.ddp-view-list .ddp-card-image { aspect-ratio: 1; }

/* ===== MAP ===== */
.ddp-map { height: 400px; border-radius: var(--ddp-radius-lg); z-index: 1; }
#ddp-single-map { height: 300px; margin-bottom: 16px; }
.ddp-map-section { margin-bottom: 24px; position: relative; }
.ddp-map-info { padding: 10px 16px; background: var(--ddp-gray-50); border-radius: 0 0 var(--ddp-radius-lg) var(--ddp-radius-lg); font-size: 14px; color: var(--ddp-gray-600); }
.ddp-clear-filters { margin-left: 16px; color: var(--ddp-primary); }

/* ===== SEARCH ===== */
.ddp-search-header { background: #fff; padding: 24px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); margin-bottom: 24px; }
.ddp-search-main { display: flex; gap: 12px; margin-bottom: 16px; }
.ddp-search-input-wrap { flex: 1; position: relative; }
.ddp-search-input { padding-left: 44px; }
.ddp-search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--ddp-gray-400); }
.ddp-filters-row { display: flex; flex-wrap: wrap; gap: 12px; }
.ddp-filters-row .ddp-select { width: auto; min-width: 160px; }
.ddp-autocomplete { position: absolute; top: 100%; left: 0; right: 0; background: #fff; border: 1px solid var(--ddp-gray-200); border-radius: var(--ddp-radius); box-shadow: var(--ddp-shadow-lg); z-index: 100; display: none; }
.ddp-autocomplete-item { display: block; padding: 12px 16px; text-decoration: none; color: var(--ddp-gray-800); border-bottom: 1px solid var(--ddp-gray-100); }
.ddp-autocomplete-item:hover { background: var(--ddp-gray-50); }
.ddp-autocomplete-item span { display: block; font-size: 12px; color: var(--ddp-gray-500); }

/* ===== RESULTS BAR ===== */
.ddp-results-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
.ddp-results-controls { display: flex; align-items: center; gap: 12px; }
.ddp-view-toggle { display: flex; border: 1px solid var(--ddp-gray-300); border-radius: var(--ddp-radius); overflow: hidden; }
.ddp-view-btn { padding: 8px 12px; background: #fff; border: none; cursor: pointer; }
.ddp-view-btn.active { background: var(--ddp-gray-100); }

/* ===== MORE FILTERS ===== */
.ddp-more-filters { padding-top: 16px; border-top: 1px solid var(--ddp-gray-200); margin-top: 16px; }
.ddp-amenities-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }

/* ===== STATS ===== */
.ddp-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }
.ddp-stats-4 { grid-template-columns: repeat(4, 1fr); }
.ddp-stat-card { background: #fff; padding: 20px; border-radius: var(--ddp-radius); box-shadow: var(--ddp-shadow); text-align: center; }
.ddp-stat-number { display: block; font-size: 32px; font-weight: 700; color: var(--ddp-gray-800); }
.ddp-stat-label { font-size: 14px; color: var(--ddp-gray-500); }
.ddp-stat-green { border-left: 4px solid var(--ddp-success); }
.ddp-stat-orange { border-left: 4px solid var(--ddp-warning); }
.ddp-stat-blue { border-left: 4px solid var(--ddp-primary); }

/* ===== DASHBOARD ===== */
.ddp-dashboard-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }
.ddp-user-info { display: flex; align-items: center; gap: 16px; }
.ddp-user-info img { border-radius: 50%; }
.ddp-user-info h1 { margin: 0; font-size: 24px; }
.ddp-user-info p { margin: 4px 0 0; color: var(--ddp-gray-500); }
.ddp-header-actions { display: flex; gap: 12px; }

/* ===== SECTION ===== */
.ddp-section { background: #fff; padding: 24px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); margin-bottom: 24px; }
.ddp-section h2 { margin: 0 0 20px; font-size: 20px; }

/* ===== TABLES ===== */
.ddp-listings-table table, .ddp-table { width: 100%; border-collapse: collapse; }
.ddp-listings-table th, .ddp-listings-table td, .ddp-table th, .ddp-table td { padding: 12px; text-align: left; border-bottom: 1px solid var(--ddp-gray-200); }
.ddp-listings-table th, .ddp-table th { font-weight: 600; color: var(--ddp-gray-600); font-size: 13px; text-transform: uppercase; }
.ddp-listing-cell { display: flex; align-items: center; gap: 12px; }
.ddp-listing-thumb { width: 50px; height: 50px; border-radius: var(--ddp-radius); object-fit: cover; }
.ddp-status { padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 500; }
.ddp-status-publish { background: #d1fae5; color: #065f46; }
.ddp-status-pending { background: #fef3c7; color: #92400e; }
.ddp-status-draft { background: var(--ddp-gray-100); color: var(--ddp-gray-600); }
.ddp-actions { display: flex; gap: 8px; }
.ddp-action-btn { background: none; border: none; cursor: pointer; font-size: 16px; padding: 4px; }

/* ===== AUTH PAGES ===== */
.ddp-auth-page { display: flex; gap: 40px; justify-content: center; align-items: flex-start; min-height: 60vh; padding-top: 40px; }
.ddp-auth-card { background: #fff; padding: 40px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow-lg); width: 100%; max-width: 420px; }
.ddp-auth-card h1 { margin: 0 0 8px; }
.ddp-auth-card > p { color: var(--ddp-gray-500); margin-bottom: 24px; }
.ddp-auth-footer { text-align: center; margin-top: 24px; color: var(--ddp-gray-500); }
.ddp-auth-benefits { background: var(--ddp-gray-50); padding: 30px; border-radius: var(--ddp-radius-lg); }
.ddp-auth-benefits h3 { margin: 0 0 16px; }
.ddp-auth-benefits ul { list-style: none; padding: 0; margin: 0; }
.ddp-auth-benefits li { padding: 8px 0; }

/* ===== LOGIN PROMPT ===== */
.ddp-login-prompt { display: flex; justify-content: center; padding: 60px 20px; }
.ddp-login-prompt-card { background: #fff; padding: 40px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow-lg); text-align: center; max-width: 500px; }
.ddp-login-icon { color: var(--ddp-primary); margin-bottom: 20px; }
.ddp-login-buttons { display: flex; flex-direction: column; gap: 12px; margin: 24px 0; }

/* ===== FORM PAGE ===== */
.ddp-form-page { max-width: 900px; }
.ddp-form-header { margin-bottom: 24px; }
.ddp-form-header h1 { margin: 0 0 8px; }
.ddp-back-link { color: var(--ddp-primary); text-decoration: none; }
.ddp-form-section { background: #fff; padding: 24px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); margin-bottom: 20px; }
.ddp-form-section h2 { margin: 0 0 20px; padding-bottom: 12px; border-bottom: 1px solid var(--ddp-gray-200); }
.ddp-form-actions { margin-top: 24px; display: flex; gap: 12px; }

/* ===== STEPS ===== */
.ddp-steps { display: flex; justify-content: center; gap: 0; margin-bottom: 30px; background: #fff; padding: 20px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); }
.ddp-step { display: flex; align-items: center; gap: 10px; padding: 10px 24px; color: var(--ddp-gray-400); position: relative; }
.ddp-step:not(:last-child)::after { content: ''; position: absolute; right: -20px; width: 40px; height: 2px; background: var(--ddp-gray-200); }
.ddp-step.active { color: var(--ddp-primary); }
.ddp-step.completed { color: var(--ddp-success); }
.ddp-step-num { width: 32px; height: 32px; border-radius: 50%; background: var(--ddp-gray-200); display: flex; align-items: center; justify-content: center; font-weight: 600; }
.ddp-step.active .ddp-step-num { background: var(--ddp-primary); color: #fff; }
.ddp-step.completed .ddp-step-num { background: var(--ddp-success); color: #fff; }
.ddp-step-actions { display: flex; gap: 12px; justify-content: center; padding-top: 20px; border-top: 1px solid var(--ddp-gray-200); margin-top: 20px; }

/* ===== PACKAGES ===== */
.ddp-package-select { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 24px; }
.ddp-package-option { cursor: pointer; }
.ddp-package-option input { display: none; }
.ddp-package-card { background: #fff; border: 2px solid var(--ddp-gray-200); border-radius: var(--ddp-radius-lg); padding: 24px; transition: all 0.2s; position: relative; height: 100%; }
.ddp-package-option:hover .ddp-package-card { border-color: var(--ddp-primary); }
.ddp-package-option input:checked + .ddp-package-card { border-color: var(--ddp-primary); background: #f0f7ff; }
.ddp-popular-badge { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--ddp-warning); color: #fff; padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.ddp-package-card h3 { margin: 0 0 12px; }
.ddp-package-price { margin-bottom: 12px; }
.ddp-price-amount { font-size: 28px; font-weight: 700; }
.ddp-price-period { color: var(--ddp-gray-500); font-size: 14px; }
.ddp-package-features { list-style: none; padding: 0; margin: 16px 0 0; }
.ddp-package-features li { padding: 6px 0; padding-left: 20px; position: relative; font-size: 14px; }
.ddp-package-features li::before { content: '✓'; position: absolute; left: 0; color: var(--ddp-success); }

/* ===== ORDER SUMMARY ===== */
.ddp-order-summary { background: var(--ddp-gray-50); padding: 20px; border-radius: var(--ddp-radius); margin-bottom: 24px; }
.ddp-order-line { display: flex; justify-content: space-between; padding: 8px 0; }
.ddp-order-total { border-top: 2px solid var(--ddp-gray-300); margin-top: 8px; padding-top: 12px; font-size: 18px; font-weight: 600; }

/* ===== PAYMENT ===== */
.ddp-free-notice { text-align: center; padding: 40px; background: #d1fae5; border-radius: var(--ddp-radius); color: var(--ddp-success); }
.ddp-payment-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.ddp-payment-method { cursor: pointer; }
.ddp-payment-method input { display: none; }
.ddp-payment-method-card { border: 2px solid var(--ddp-gray-200); border-radius: var(--ddp-radius); padding: 20px; text-align: center; transition: all 0.2s; }
.ddp-payment-method input:checked + .ddp-payment-method-card { border-color: var(--ddp-primary); background: #f0f7ff; }
.ddp-card-element { padding: 12px; border: 1px solid var(--ddp-gray-300); border-radius: var(--ddp-radius); background: #fff; }
.ddp-card-errors { color: var(--ddp-danger); font-size: 14px; margin-top: 8px; }

/* ===== IMAGE UPLOAD ===== */
.ddp-image-row { display: grid; grid-template-columns: 120px 1fr; gap: 20px; margin-bottom: 20px; }
.ddp-image-upload { border: 2px dashed var(--ddp-gray-300); border-radius: var(--ddp-radius); overflow: hidden; position: relative; }
.ddp-upload-area { padding: 40px; text-align: center; cursor: pointer; color: var(--ddp-gray-500); }
.ddp-upload-area input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ddp-upload-small .ddp-upload-area { padding: 20px; }
.ddp-upload-preview { position: relative; }
.ddp-upload-preview img { width: 100%; height: 150px; object-fit: cover; display: block; }
.ddp-remove-img { position: absolute; top: 8px; right: 8px; width: 24px; height: 24px; border-radius: 50%; background: var(--ddp-danger); color: #fff; border: none; cursor: pointer; font-size: 16px; line-height: 1; }
.ddp-gallery-upload { display: flex; flex-wrap: wrap; gap: 12px; }
.ddp-gallery-grid { display: contents; }
.ddp-gallery-item { width: 100px; height: 100px; position: relative; border-radius: var(--ddp-radius); overflow: hidden; }
.ddp-gallery-item img { width: 100%; height: 100%; object-fit: cover; }
.ddp-gallery-remove { position: absolute; top: 4px; right: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--ddp-danger); color: #fff; border: none; cursor: pointer; font-size: 12px; }
.ddp-gallery-add { width: 100px; height: 100px; border: 2px dashed var(--ddp-gray-300); border-radius: var(--ddp-radius); display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; position: relative; color: var(--ddp-gray-500); font-size: 13px; }
.ddp-gallery-add input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

/* ===== COLLAPSIBLE ===== */
.ddp-collapsible-header { cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.ddp-collapse-icon { font-size: 20px; color: var(--ddp-gray-400); }

/* ===== SINGLE LISTING ===== */
.ddp-breadcrumb { margin-bottom: 20px; font-size: 14px; color: var(--ddp-gray-500); }
.ddp-breadcrumb a { color: var(--ddp-gray-500); text-decoration: none; }
.ddp-breadcrumb a:hover { color: var(--ddp-primary); }

.ddp-listing-header { background: #fff; padding: 24px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); margin-bottom: 24px; }
.ddp-listing-header-main { display: flex; gap: 20px; align-items: flex-start; }
.ddp-listing-logo { width: 80px; height: 80px; border-radius: var(--ddp-radius); overflow: hidden; flex-shrink: 0; }
.ddp-listing-logo img { width: 100%; height: 100%; object-fit: cover; }
.ddp-listing-header-info { flex: 1; }
.ddp-listing-badges { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.ddp-listing-title { margin: 0 0 8px; font-size: 28px; }
.ddp-listing-tagline { color: var(--ddp-gray-600); margin: 0 0 12px; }
.ddp-listing-meta { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.ddp-listing-rating { display: flex; align-items: center; gap: 8px; }
.ddp-stars-large { font-size: 20px; color: var(--ddp-warning); letter-spacing: -2px; }
.ddp-rating-value { font-weight: 600; }
.ddp-rating-count { color: var(--ddp-primary); }
.ddp-listing-header-actions { display: flex; gap: 8px; flex-shrink: 0; }
.ddp-action-btn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--ddp-gray-300); background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--ddp-gray-600); transition: all 0.2s; }
.ddp-action-btn:hover { border-color: var(--ddp-primary); color: var(--ddp-primary); }
.ddp-action-btn.active { background: var(--ddp-danger); border-color: var(--ddp-danger); color: #fff; }

/* ===== GALLERY ===== */
.ddp-gallery-section { margin-bottom: 24px; }
.ddp-gallery-main { border-radius: var(--ddp-radius-lg); overflow: hidden; margin-bottom: 12px; }
.ddp-gallery-main img { width: 100%; max-height: 500px; object-fit: cover; display: block; }
.ddp-gallery-thumbs { display: flex; gap: 12px; overflow-x: auto; }
.ddp-gallery-thumb { width: 80px; height: 80px; border-radius: var(--ddp-radius); overflow: hidden; cursor: pointer; opacity: 0.7; transition: opacity 0.2s; }
.ddp-gallery-thumb:hover { opacity: 1; }
.ddp-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* ===== SINGLE CONTENT ===== */
.ddp-single-content { display: grid; grid-template-columns: 1fr 350px; gap: 24px; }
.ddp-content-main .ddp-section { margin-bottom: 24px; }
.ddp-content-main h2 { margin: 0 0 16px; font-size: 20px; }
.ddp-section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.ddp-section-header h2 { margin: 0; }

/* ===== SERVICES & AMENITIES ===== */
.ddp-services-list, .ddp-amenities-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ddp-service-tag, .ddp-amenity-tag { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; background: var(--ddp-gray-100); border-radius: 20px; font-size: 14px; }
.ddp-service-tag svg, .ddp-amenity-tag svg { color: var(--ddp-success); }

/* ===== COUPONS ===== */
.ddp-coupons-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.ddp-coupon-card { border: 2px dashed var(--ddp-warning); border-radius: var(--ddp-radius); padding: 20px; position: relative; }
.ddp-coupon-badge { position: absolute; top: -12px; right: 16px; background: var(--ddp-warning); color: #fff; padding: 4px 12px; border-radius: 4px; font-weight: 700; }
.ddp-coupon-card h4 { margin: 8px 0; }
.ddp-coupon-code { background: var(--ddp-gray-100); padding: 8px 12px; border-radius: var(--ddp-radius); margin-top: 12px; font-family: monospace; }
.ddp-coupon-expires { font-size: 12px; color: var(--ddp-gray-500); margin-top: 8px; }

/* ===== REVIEWS ===== */
.ddp-reviews-summary { display: grid; grid-template-columns: auto 1fr; gap: 30px; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--ddp-gray-200); }
.ddp-reviews-overall { text-align: center; }
.ddp-overall-rating { font-size: 48px; font-weight: 700; display: block; }
.ddp-overall-count { display: block; color: var(--ddp-gray-500); }
.ddp-rating-breakdown { display: flex; flex-direction: column; gap: 8px; }
.ddp-rating-bar { display: flex; align-items: center; gap: 12px; }
.ddp-bar-label { width: 30px; font-size: 14px; }
.ddp-bar-track { flex: 1; height: 8px; background: var(--ddp-gray-200); border-radius: 4px; overflow: hidden; }
.ddp-bar-fill { height: 100%; background: var(--ddp-warning); }
.ddp-bar-count { width: 30px; font-size: 14px; color: var(--ddp-gray-500); text-align: right; }

.ddp-review-form-wrap { background: var(--ddp-gray-50); padding: 24px; border-radius: var(--ddp-radius); margin-bottom: 24px; }
.ddp-star-input { display: flex; gap: 4px; }
.ddp-star-label { cursor: pointer; }
.ddp-star-label input { display: none; }
.ddp-star-label svg { color: var(--ddp-gray-300); transition: color 0.2s; }
.ddp-star-label:hover svg, .ddp-star-label input:checked ~ svg { color: var(--ddp-warning); fill: var(--ddp-warning); }

.ddp-review-card { padding: 20px 0; border-bottom: 1px solid var(--ddp-gray-200); }
.ddp-review-header { display: flex; gap: 12px; margin-bottom: 12px; }
.ddp-review-avatar img { width: 48px; height: 48px; border-radius: 50%; }
.ddp-review-meta { flex: 1; }
.ddp-review-date { font-size: 13px; color: var(--ddp-gray-500); margin-left: 12px; }
.ddp-review-title { margin: 0 0 8px; font-size: 16px; }
.ddp-review-content { color: var(--ddp-gray-700); }
.ddp-owner-reply { background: var(--ddp-gray-50); padding: 16px; border-radius: var(--ddp-radius); margin-top: 16px; border-left: 4px solid var(--ddp-primary); }
.ddp-reply-btn { background: none; border: none; color: var(--ddp-primary); cursor: pointer; font-size: 14px; margin-top: 12px; }
.ddp-reply-form { margin-top: 12px; }
.ddp-review-report { background: none; border: none; cursor: pointer; color: var(--ddp-gray-400); }
.ddp-no-reviews { text-align: center; padding: 40px; color: var(--ddp-gray-500); }

/* ===== SIDEBAR ===== */
.ddp-sidebar-card { background: #fff; padding: 20px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); margin-bottom: 20px; }
.ddp-sidebar-card h3 { margin: 0 0 16px; font-size: 16px; }
.ddp-contact-btn { display: flex; align-items: center; gap: 12px; padding: 12px; background: var(--ddp-gray-50); border-radius: var(--ddp-radius); margin-bottom: 10px; text-decoration: none; color: var(--ddp-gray-700); transition: background 0.2s; }
.ddp-contact-btn:hover { background: var(--ddp-gray-100); }
.ddp-contact-phone { background: var(--ddp-primary); color: #fff; }
.ddp-contact-phone:hover { background: var(--ddp-primary-dark); color: #fff; }
.ddp-social-links { display: flex; gap: 8px; }
.ddp-social-link { width: 40px; height: 40px; border-radius: 50%; background: var(--ddp-gray-100); display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--ddp-gray-600); font-weight: 600; }
.ddp-social-facebook:hover { background: #1877f2; color: #fff; }
.ddp-social-instagram:hover { background: #e4405f; color: #fff; }
.ddp-social-twitter:hover { background: #000; color: #fff; }
.ddp-social-linkedin:hover { background: #0a66c2; color: #fff; }
.ddp-hours { white-space: pre-line; font-size: 14px; color: var(--ddp-gray-600); }
.ddp-contact-form .ddp-field { margin-bottom: 12px; }
.ddp-mini-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.ddp-mini-stat { text-align: center; padding: 12px; background: var(--ddp-gray-50); border-radius: var(--ddp-radius); }
.ddp-mini-stat-value { display: block; font-size: 24px; font-weight: 700; }
.ddp-mini-stat-label { font-size: 12px; color: var(--ddp-gray-500); }

/* ===== MODAL ===== */
.ddp-modal { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; }
.ddp-modal-content { background: #fff; padding: 30px; border-radius: var(--ddp-radius-lg); max-width: 400px; width: 90%; position: relative; }
.ddp-modal-close { position: absolute; top: 16px; right: 16px; background: none; border: none; font-size: 24px; cursor: pointer; color: var(--ddp-gray-400); }
.ddp-share-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; }
.ddp-share-btn { padding: 12px; border-radius: var(--ddp-radius); text-align: center; text-decoration: none; color: #fff; font-weight: 500; }
.ddp-share-facebook { background: #1877f2; }
.ddp-share-twitter { background: #000; }
.ddp-share-linkedin { background: #0a66c2; }
.ddp-share-email { background: var(--ddp-gray-600); }
.ddp-share-link { display: flex; gap: 8px; }
.ddp-share-link input { flex: 1; padding: 10px; border: 1px solid var(--ddp-gray-300); border-radius: var(--ddp-radius); }
.ddp-share-link button { padding: 10px 16px; background: var(--ddp-primary); color: #fff; border: none; border-radius: var(--ddp-radius); cursor: pointer; }

/* ===== MANAGE PAGES ===== */
.ddp-manage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ddp-manage-panel { background: #fff; padding: 24px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); }
.ddp-manage-panel h2 { margin: 0 0 20px; }
.ddp-term-list { max-height: 500px; overflow-y: auto; }
.ddp-term-item { display: flex; align-items: center; gap: 12px; padding: 10px; border-bottom: 1px solid var(--ddp-gray-100); }
.ddp-term-child { padding-left: 24px; }
.ddp-term-icon { font-size: 20px; }
.ddp-term-name { flex: 1; }
.ddp-term-count { color: var(--ddp-gray-500); font-size: 13px; }
.ddp-term-edit, .ddp-term-delete { background: none; border: none; cursor: pointer; color: var(--ddp-gray-500); font-size: 13px; }
.ddp-term-delete:hover { color: var(--ddp-danger); }

/* ===== ADMIN DASHBOARD ===== */
.ddp-admin-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
.ddp-admin-panel { background: #fff; padding: 24px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); }
.ddp-admin-panel h2 { margin: 0 0 16px; }
.ddp-pending-item { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--ddp-gray-100); }
.ddp-pending-info strong { display: block; }
.ddp-pending-info small { color: var(--ddp-gray-500); }
.ddp-pending-actions { display: flex; gap: 8px; }
.ddp-quick-links { display: grid; gap: 8px; }
.ddp-quick-link { display: block; padding: 12px; background: var(--ddp-gray-50); border-radius: var(--ddp-radius); text-decoration: none; color: var(--ddp-gray-700); transition: background 0.2s; }
.ddp-quick-link:hover { background: var(--ddp-gray-100); }

/* ===== PRICING PAGE ===== */
.ddp-pricing-header { text-align: center; margin-bottom: 40px; }
.ddp-pricing-header h1 { font-size: 36px; margin-bottom: 8px; }
.ddp-pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.ddp-pricing-card { background: #fff; padding: 32px; border-radius: var(--ddp-radius-lg); box-shadow: var(--ddp-shadow); text-align: center; position: relative; }
.ddp-pricing-featured { border: 2px solid var(--ddp-primary); transform: scale(1.05); }
.ddp-pricing-card h2 { margin: 0 0 16px; }
.ddp-pricing-price { margin-bottom: 16px; }
.ddp-pricing-features { list-style: none; padding: 0; margin: 0 0 24px; text-align: left; }
.ddp-pricing-features li { padding: 8px 0; padding-left: 24px; position: relative; border-bottom: 1px solid var(--ddp-gray-100); }
.ddp-pricing-features li::before { content: '✓'; position: absolute; left: 0; color: var(--ddp-success); }

/* ===== ANALYTICS ===== */
.ddp-analytics-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.ddp-chart-container { height: 250px; }

/* ===== ACCOUNT PAGE ===== */
.ddp-account-header { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.ddp-account-header img { border-radius: 50%; }
.ddp-account-header h1 { margin: 0; }
.ddp-account-header small { color: var(--ddp-gray-500); }
.ddp-account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ddp-favorites-list { display: flex; flex-direction: column; gap: 12px; }
.ddp-favorite-item { display: flex; align-items: center; gap: 12px; padding: 12px; background: var(--ddp-gray-50); border-radius: var(--ddp-radius); }
.ddp-favorite-item img { width: 50px; height: 50px; border-radius: var(--ddp-radius); object-fit: cover; }
.ddp-remove-favorite { margin-left: auto; background: none; border: none; font-size: 18px; cursor: pointer; color: var(--ddp-gray-400); }
.ddp-account-links { margin-top: 24px; display: flex; gap: 12px; }

/* ===== EMPTY STATES ===== */
.ddp-empty, .ddp-empty-state { text-align: center; padding: 40px; color: var(--ddp-gray-500); }
.ddp-empty-state svg { margin-bottom: 16px; color: var(--ddp-gray-300); }
.ddp-empty-state h3 { margin: 0 0 8px; color: var(--ddp-gray-700); }

/* ===== PAGINATION ===== */
.ddp-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 30px; }
.ddp-pagination a, .ddp-pagination span { padding: 8px 14px; border: 1px solid var(--ddp-gray-300); border-radius: var(--ddp-radius); text-decoration: none; color: var(--ddp-gray-700); }
.ddp-pagination a:hover { border-color: var(--ddp-primary); color: var(--ddp-primary); }
.ddp-pagination .current { background: var(--ddp-primary); border-color: var(--ddp-primary); color: #fff; }

/* ===== SPINNER ===== */
.ddp-spin { animation: ddp-spin 1s linear infinite; }
@keyframes ddp-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
    .ddp-single-content { grid-template-columns: 1fr; }
    .ddp-admin-grid { grid-template-columns: 1fr; }
    .ddp-manage-grid { grid-template-columns: 1fr; }
    .ddp-account-grid { grid-template-columns: 1fr; }
    .ddp-stats-4 { grid-template-columns: repeat(2, 1fr); }
    .ddp-auth-page { flex-direction: column; }
    .ddp-steps { flex-wrap: wrap; justify-content: flex-start; }
    .ddp-step:not(:last-child)::after { display: none; }
    .ddp-listing-header-main { flex-direction: column; }
    .ddp-listing-header-actions { width: 100%; justify-content: flex-start; }
    .ddp-reviews-summary { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .ddp-grid { grid-template-columns: 1fr; }
    .ddp-field-row, .ddp-field-row-3 { grid-template-columns: 1fr; }
    .ddp-stats { grid-template-columns: 1fr 1fr; }
    .ddp-search-main { flex-direction: column; }
    .ddp-filters-row { flex-direction: column; }
    .ddp-filters-row .ddp-select { width: 100%; }
    .ddp-dashboard-header { flex-direction: column; align-items: flex-start; }
    .ddp-image-row { grid-template-columns: 1fr; }
    .ddp-payment-methods { grid-template-columns: 1fr; }
}
