/* Default Font Size Override CSS
   Apply consistent, readable font sizes across all pages
   Target: index.php, dashboard.php, stores.php, and all components
*/

/* ===== BASE FONT RESETS ===== */
html {
    font-size: 16px !important; /* Browser default */
}

body {
    font-size: 1rem !important; /* 16px equivalent */
    line-height: 1.5 !important;
}

/* ===== HEADING RESETS TO BROWSER DEFAULTS ===== */
h1 { font-size: 2rem !important; }      /* 32px */
h2 { font-size: 1.5rem !important; }    /* 24px */
h3 { font-size: 1.17rem !important; }   /* ~19px */
h4 { font-size: 1rem !important; }      /* 16px */
h5 { font-size: 0.83rem !important; }   /* ~13px */
h6 { font-size: 0.67rem !important; }   /* ~11px */

/* ===== GENERAL TEXT ELEMENTS ===== */
p, div, span, td, th, li, a {
    font-size: 1rem !important;
}

/* ===== INDEX.PHP SPECIFIC FIXES ===== */

/* Main section titles */
.section-title {
    font-size: 1.5rem !important; /* Reduced from 1.75rem */
}

/* Domain table elements */
.domain-name {
    font-size: 0.8rem !important; /* Reduced from 0.85rem */
}

.domain-price {
    font-size: 0.85rem !important; /* Reduced from 0.9rem */
}

/* Category pills */
.category-pill {
    font-size: 0.75rem !important; /* Reduced from 0.775rem */
}

.category-count {
    font-size: 0.7rem !important; /* Reduced from 0.75rem */
}

/* Search input */
.search-input {
    font-size: 0.875rem !important; /* Reduced from 1.125rem */
}

/* Button text */
.btn, .tab-btn {
    font-size: 0.8rem !important; /* Reduced from 0.875rem */
}

/* Stats values */
.stat-value, .header-stat strong {
    font-size: 0.8rem !important; /* Reduced from varying larger sizes */
}

/* Table headers */
.table-header {
    font-size: 0.75rem !important; /* Reduced from 0.85rem */
}

/* ===== DASHBOARD.PHP SPECIFIC FIXES ===== */

/* Welcome section */
.welcome-title {
    font-size: 1.5rem !important; /* Reduced from 1.75rem */
}

.welcome-subtitle {
    font-size: 0.875rem !important;
}

/* Portfolio section title */
.portfolio-section .section-title {
    font-size: 1.5rem !important; /* Reduced from larger sizes */
}

/* Tab buttons */
.tab-button {
    font-size: 0.75rem !important; /* Reduced from varying sizes */
}

.tab-badge {
    font-size: 0.6rem !important;
}

/* Card headers */
.domain-name-compact {
    font-size: 1rem !important; /* Reduced from 1.1rem */
}

.price-value-compact {
    font-size: 1.5rem !important; /* Reduced from varying larger sizes */
}

/* Stats and meta info */
.domain-meta {
    font-size: 0.7rem !important;
}

.category-badge-compact {
    font-size: 0.7rem !important;
}

/* Account form elements */
.form-input {
    font-size: 0.875rem !important;
}

.form-label {
    font-size: 0.875rem !important;
}

/* ===== STORES.PHP SPECIFIC FIXES ===== */

/* Store card elements */
.store-name {
    font-size: 0.8rem !important; /* Reduced from 0.875rem */
}

.store-username {
    font-size: 0.7rem !important; /* Reduced from 0.75rem */
}

.store-stat-value {
    font-size: 0.75rem !important;
}

.store-stat-label {
    font-size: 0.7rem !important;
}

/* Extension items */
.extension-name {
    font-size: 0.65rem !important;
}

.extension-count {
    font-size: 0.6rem !important;
}

/* Table elements */
.stores-table, .domains-table {
    font-size: 0.8rem !important; /* Reduced from 0.875rem */
}

.stores-table th, .stores-table td,
.domains-table th, .domains-table td {
    font-size: 0.8rem !important;
}

/* Action buttons */
.view-portfolio-btn {
    font-size: 0.75rem !important; /* Reduced from 0.8125rem */
}

.action-btn-hub {
    font-size: 0.7rem !important;
}

/* ===== MODAL AND POPUP FIXES ===== */

/* Modal headers */
.modal-header h3,
.auction-modal-header h3,
.buy-now-header h3 {
    font-size: 1.25rem !important;
}

/* Modal body text */
.modal-body, .auction-modal-body, .buy-now-body {
    font-size: 0.9rem !important;
}

/* Modal buttons */
.modal-footer .btn,
.auction-actions .btn,
.buy-now-actions .btn {
    font-size: 0.85rem !important;
}

/* ===== FORM ELEMENTS ===== */

/* Input fields */
input[type="text"], 
input[type="email"], 
input[type="password"], 
input[type="number"],
textarea, select {
    font-size: 0.875rem !important;
}

/* Labels */
label {
    font-size: 0.875rem !important;
}

/* Placeholder text */
::placeholder {
    font-size: 0.875rem !important;
}

/* ===== NAVIGATION ELEMENTS ===== */

/* Header navigation */
.nav-link, .navbar-nav a {
    font-size: 0.9rem !important;
}

/* Breadcrumbs */
.breadcrumb {
    font-size: 0.875rem !important;
}

/* ===== TABLE SPECIFIC FIXES ===== */

/* General table sizing */
table {
    font-size: 0.875rem !important;
}

table th {
    font-size: 0.8rem !important;
}

table td {
    font-size: 0.875rem !important;
}

/* ===== ALERT AND NOTIFICATION FIXES ===== */

.alert, .notification {
    font-size: 0.9rem !important;
}

.alert-title {
    font-size: 1rem !important;
}

/* ===== RESPONSIVE ADJUSTMENTS ===== */

/* Tablet sizes */
@media (max-width: 1024px) {
    .section-title {
        font-size: 1.25rem !important;
    }
    
    .welcome-title {
        font-size: 1.3rem !important;
    }
    
    .domain-name-compact {
        font-size: 0.9rem !important;
    }
}

/* Mobile sizes */
@media (max-width: 768px) {
    html {
        font-size: 14px !important; /* Slightly smaller base for mobile */
    }
    
    .section-title {
        font-size: 1.2rem !important;
    }
    
    .welcome-title {
        font-size: 1.2rem !important;
    }
    
    .domain-name {
        font-size: 0.75rem !important;
    }
    
    .store-name {
        font-size: 0.75rem !important;
    }
    
    .tab-button {
        font-size: 0.7rem !important;
    }
    
    .price-value-compact {
        font-size: 1.25rem !important;
    }
}

/* Small mobile sizes */
@media (max-width: 480px) {
    html {
        font-size: 14px !important;
    }
    
    .section-title {
        font-size: 1.1rem !important;
    }
    
    .welcome-title {
        font-size: 1.1rem !important;
    }
    
    .domain-name, .store-name {
        font-size: 0.7rem !important;
    }
    
    .price-value-compact {
        font-size: 1.1rem !important;
    }
}

/* ===== ACCESSIBILITY MINIMUM SIZES ===== */

/* Ensure minimum readable sizes are maintained */
.small-text {
    font-size: 0.75rem !important;
    min-font-size: 12px !important;
}

.tiny-text {
    font-size: 0.7rem !important;
    min-font-size: 11px !important;
}

/* ===== FORCE OVERRIDE FOR STUBBORN ELEMENTS ===== */

/* Use higher specificity for elements that resist changes */
.container .section-title,
.main-content .section-title,
.portfolio-section .section-title {
    font-size: 1.5rem !important;
}

.container .welcome-title,
.main-content .welcome-title {
    font-size: 1.5rem !important;
}

/* Final catch-all for any remaining oversized text */
.default-font-size, .default-font-size * {
    font-size: 1rem !important;
}

/* ===== PRINT STYLES ===== */
@media print {
    html, body {
        font-size: 12pt !important;
    }
    
    h1 { font-size: 18pt !important; }
    h2 { font-size: 16pt !important; }
    h3 { font-size: 14pt !important; }
    h4, h5, h6 { font-size: 12pt !important; }
}