/* ==========================================================================
   WooCommerce 3D Print Calculator - Frontend Styles
   ========================================================================== */

.wc-3d-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 40px;
    font-family: inherit;
}

.wc-3d-viewer-box {
    flex: 1 1 50%;
    min-width: 300px;
    background: #eef2f5;
    border-radius: 8px;
    border: 1px solid #dcdde1;
    position: relative;
    min-height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.wc-3d-placeholder {
    color: #7f8c8d;
    text-align: center;
}

.wc-3d-placeholder .dashicons {
    font-size: 40px;
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
    display: block;
    margin: 0 auto;
}

.wc-3d-canvas-container {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.wc-3d-options-box {
    flex: 1 1 40%;
    min-width: 300px;
}

.wc-3d-options-box h3 {
    margin-top: 0;
}

.wc-3d-upload-section {
    margin-bottom: 20px;
    padding: 15px;
    background: #f8f9fa;
    border: 2px dashed #bdc3c7;
    border-radius: 8px;
    text-align: center;
}

.wc-3d-upload-section input[type="file"] {
    width: 100%;
}

.wc-3d-settings-section label {
    display: block;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 5px;
}

.wc-3d-settings-section select {
    width: 100%;
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background-color: #fff;
}

.wc-3d-results-box {
    margin-top: 25px;
    padding: 20px;
    background: #f1f2f6;
    border-left: 4px solid #2980b9;
    border-radius: 4px;
}

.wc-3d-weight-row {
    margin: 5px 0;
}

.wc-3d-time-row {
    margin: 5px 0;
    color: #7f8c8d;
    font-size: 0.9em;
}

.wc-3d-price-divider {
    border-top: 1px solid #dcdde1;
    margin-top: 10px;
    padding-top: 10px;
}

.wc-3d-price-label {
    font-size: 1.1em;
    color: #2c3e50;
}

.wc-3d-price-amount {
    font-size: 1.8em;
    font-weight: bold;
    color: #c0392b;
}

.wc-3d-price-currency {
    font-size: 1.2em;
    font-weight: bold;
    color: #c0392b;
}

.wc-3d-cart-btn {
    width: 100%;
    margin-top: 20px;
    padding: 15px;
    font-size: 1.2em;
    background: #27ae60;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.3s ease;
}

.wc-3d-cart-btn:hover {
    background: #219653;
}

.wc-3d-cart-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* ==========================================================================
   WooCommerce 3D Print Calculator - Admin Quote Meta Box Styles
   ========================================================================== */

.wc-3d-select2 {
    width: 100%;
    max-width: 400px;
}

.wc-3d-input-half {
    width: 49% !important;
}

.wc-3d-textarea {
    width: 100% !important;
    max-width: 600px;
}

.wc-3d-pdf-box {
    margin-top: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-left: 4px solid #2271b1;
}

/* ==========================================================================
   WooCommerce 3D Print Calculator - Admin Settings Styles
   ========================================================================== */

.wc-3d-tab-content { 
    display: none; 
    padding: 20px; 
    background: #fff; 
    border: 1px solid #ccc; 
    border-top: none; 
}

.wc-3d-tab-content.active { 
    display: block; 
}

.nav-tab-wrapper { 
    margin-bottom: 0; 
    padding-top: 10px; 
}

.wc-3d-tab-icon {
    line-height: 1.5; 
    margin-right: 5px;
}

.color-preview-box { 
    width: 30px; 
    height: 30px; 
    border-radius: 4px; 
    border: 1px solid #aaa; 
    display: inline-block; 
    vertical-align: middle; 
}

.license-status { 
    display: inline-block; 
    padding: 5px 15px; 
    border-radius: 20px; 
    font-weight: bold; 
    font-size: 13px; 
}

.license-active { 
    background: #d4edda; 
    color: #155724; 
    border: 1px solid #c3e6cb; 
}

.license-inactive { 
    background: #f8d7da; 
    color: #721c24; 
    border: 1px solid #f5c6cb; 
}

.wc-3d-settings-flex {
    display: flex; 
    gap: 40px; 
    flex-wrap: wrap;
}

.wc-3d-settings-col {
    flex: 1; 
    min-width: 300px;
}

.wc-3d-input-small {
    width: 150px !important;
}

.wc-3d-table-wide {
    max-width: 900px; 
    margin-top: 15px;
}

.wc-3d-th-color {
    width: 10%;
}

.wc-3d-input-full {
    width: 100% !important;
}

.wc-3d-color-picker {
    width: 100% !important; 
    height: 30px; 
    cursor: pointer;
}

.wc-3d-license-wrap {
    margin: 20px 0;
}

.wc-3d-status-icon {
    margin-right: 5px;
}

.wc-3d-license-input {
    width: 400px !important;
}

.wc-3d-submit-wrap {
    margin-top: 20px;
}

.wc-3d-save-btn {
    font-size: 1.1em !important; 
    padding: 5px 20px !important;
}

/* ==========================================================================
   WooCommerce 3D Print Calculator - PDF Quote Template Styles
   ========================================================================== */

@page { 
    size: A4; 
    margin: 0; 
}

.wc-3d-pdf-body { 
    margin: 0; 
    padding: 0; 
    font-family: 'Segoe UI', Helvetica, Arial, sans-serif; 
    background: #f4f4f4; 
    display: flex; 
    justify-content: center; 
}

.wc-3d-pdf-page { 
    width: 210mm; 
    min-height: 297mm; 
    background: #faf9f5;
    margin: 20px 0; 
    padding: 25mm 20mm; 
    box-sizing: border-box; 
    box-shadow: 0 0 10px rgba(0,0,0,0.2); 
    color: #333;
}

.wc-3d-pdf-header { 
    display: flex; 
    justify-content: space-between; 
    align-items: flex-start; 
    margin-bottom: 20px; 
}

.wc-3d-pdf-logo-box { 
    background-color: #2b7ebb;
    color: white; 
    padding: 20px 30px; 
    font-size: 18px; 
    font-weight: bold; 
    text-align: center; 
    border-radius: 4px;
    line-height: 1.2;
}

.wc-3d-pdf-custom-logo {
    max-width: 200px; 
    max-height: 80px; 
    object-fit: contain;
}

.wc-3d-pdf-company-details { 
    text-align: right; 
    font-size: 13px; 
    color: #555; 
    line-height: 1.4; 
}

.wc-3d-pdf-company-details strong { 
    color: #333; 
    font-size: 14px; 
}

.wc-3d-pdf-divider { 
    border-bottom: 2px solid #2b7ebb; 
    margin-bottom: 30px; 
}

.wc-3d-pdf-title { 
    font-size: 32px; 
    color: #2c3b4e; 
    margin: 0 0 20px 0; 
    font-weight: 700; 
}

.wc-3d-pdf-meta-section { 
    display: flex; 
    justify-content: space-between; 
    margin-bottom: 40px; 
}

.wc-3d-pdf-customer-info { 
    width: 55%; 
    font-size: 15px; 
    color: #444; 
    line-height: 1.4; 
}

.wc-3d-pdf-customer-info strong { 
    font-size: 16px; 
    color: #222; 
}

.wc-3d-pdf-email-span {
    font-size: 13px; 
    color: #777;
}

.wc-3d-pdf-quote-meta { 
    text-align: right; 
    font-size: 15px; 
    color: #444; 
    line-height: 1.4; 
}

.wc-3d-pdf-quote-meta strong { 
    color: #222; 
}

.wc-3d-pdf-table { 
    width: 100%; 
    border-collapse: collapse; 
    margin-bottom: 30px; 
}

.wc-3d-pdf-table th { 
    background-color: #2c3b4e; 
    color: #fff; 
    text-align: left; 
    padding: 12px 10px; 
    font-size: 14px; 
    font-weight: 600; 
}

.wc-3d-pdf-table td { 
    padding: 15px 10px; 
    border-bottom: 1px solid #e0e0e0; 
    font-size: 14px; 
    color: #444; 
    vertical-align: top; 
}

.wc-3d-pdf-table th:last-child, 
.wc-3d-pdf-table td:last-child { 
    text-align: right; 
}

.wc-3d-pdf-prop-text { 
    color: #666; 
    font-size: 13px; 
    margin-top: 4px; 
}

.wc-3d-pdf-bottom-section { 
    display: flex; 
    justify-content: space-between; 
    align-items: flex-start; 
}

.wc-3d-pdf-notes-wrapper { 
    width: 55%; 
    background: #fdfdfd; 
    border-left: 3px solid #2b7ebb; 
    padding: 12px 15px; 
    border-radius: 2px; 
}

.wc-3d-pdf-notes-title { 
    font-size: 13px; 
    font-weight: bold; 
    color: #2c3b4e; 
    margin-bottom: 8px; 
    text-transform: uppercase; 
}

.wc-3d-pdf-notes-content { 
    font-size: 13px; 
    color: #555; 
    line-height: 1.5; 
}

.wc-3d-pdf-totals-wrapper { 
    width: 40%; 
}

.wc-3d-pdf-total-row { 
    display: flex; 
    justify-content: space-between; 
    padding: 8px 0; 
    font-size: 15px; 
    color: #333; 
}

.wc-3d-pdf-total-row strong { 
    color: #222; 
}

.wc-3d-pdf-grand-total { 
    border-top: 2px solid #2b7ebb; 
    margin-top: 10px; 
    padding-top: 10px; 
    font-size: 18px; 
    font-weight: bold; 
    color: #c0392b; 
}

.wc-3d-pdf-grand-total .wc-3d-pdf-grand-label { 
    color: #c0392b; 
}

@media print {
    .wc-3d-pdf-body { 
        background: #faf9f5; 
        margin: 0; 
        -webkit-print-color-adjust: exact; 
        print-color-adjust: exact; 
    }
    .wc-3d-pdf-page { 
        margin: 0; 
        box-shadow: none; 
        border: none; 
    }
}