/**
* Custom css
**/

        :root {
            --primary: #4f46e5;
            --primary-light: #6366f1;
            --primary-dark: #3730a3;
            --primary-bg: #eef2ff;
            --text-primary: #0f172a;
            --text-secondary: #475569;
            --text-muted: #94a3b8;
            --bg-main: #f8fafc;
            --bg-card: #ffffff;
            --border: #e2e8f0;
            --border-light: #f1f5f9;
            --success: #10b981;
            --success-bg: #ecfdf5;
            --warning: #f59e0b;
            --warning-bg: #fffbeb;
            --info: #3b82f6;
            --info-bg: #eff6ff;
            --danger: #ef4444;
            --sidebar-width: 300px;
            --radius: 12px;
            --radius-sm: 8px;
            --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
            --shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
            --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -1px rgba(0,0,0,0.04);
            --shadow-lg: 0 10px 25px -3px rgba(0,0,0,0.08), 0 4px 6px -2px rgba(0,0,0,0.03);
            --transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            background: var(--bg-main);
            color: var(--text-primary);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
        }
        

        /* Job Cards */
        .job-listings {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        .job-card {
            background: var(--bg-card);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            padding: 24px;
            transition: all var(--transition);
            cursor: pointer;
            position: relative;
        }

        .job-card:hover {
            border-color: var(--primary-light);
            box-shadow: var(--shadow-md);
            transform: translateY(-1px);
        }

        .job-card.featured {
            border-color: var(--primary);
            background: linear-gradient(135deg, rgba(79,70,229,0.02), rgba(139,92,246,0.02));
        }

        .job-card.featured::before {
            content: 'Featured';
            position: absolute;
            top: -1px;
            right: 20px;
            background: var(--primary);
            color: #fff;
            font-size: 11px;
            font-weight: 600;
            padding: 4px 10px;
            border-radius: 0 0 6px 6px;
        }

        /* Card Header */
        .job-card-header {
            display: flex;
            align-items: flex-start;
            gap: 16px;
            margin-bottom: 14px;
        }

        .job-company-logo {
            width: 48px;
            height: 48px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 16px;
            color: #fff;
            flex-shrink: 0;
        }

        .job-company-info {
            flex: 1;
            min-width: 0;
        }

        .job-company-name {
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .job-company-name span {
            font-size: 13px;
            font-weight: 600;
            color: var(--text-secondary);
        }

        .verified-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .verified-badge svg {
            width: 14px;
            height: 14px;
            color: var(--primary);
        }

        .job-post-time {
            font-size: 12px;
            color: var(--text-muted);
            margin-top: 2px;
        }

        .job-bookmark {
            background: none;
            border: none;
            cursor: pointer;
            padding: 6px;
            border-radius: var(--radius-sm);
            color: var(--text-muted);
            transition: all var(--transition);
        }

        .job-bookmark:hover {
            background: var(--bg-main);
            color: var(--primary);
        }

        .job-bookmark.saved {
            color: var(--primary);
        }

        .job-bookmark svg {
            width: 20px;
            height: 20px;
        }

        /* Card Body */
        .job-card-body {
            margin-bottom: 16px;
        }

        .job-title {
            font-size: 18px;
            font-weight: 700;
            letter-spacing: -0.3px;
            color: var(--text-primary);
            margin-bottom: 6px;
            line-height: 1.3;
        }

        .job-card:hover .job-title {
            color: var(--primary);
        }

        .job-location {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 13px;
            color: var(--text-secondary);
            margin-bottom: 10px;
        }

        .job-location svg {
            width: 14px;
            height: 14px;
            color: var(--text-muted);
        }

        .job-description {
            font-size: 14px;
            color: var(--text-secondary);
            line-height: 1.6;
            margin-bottom: 14px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .job-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .job-tag {
            font-size: 12px;
            padding: 4px 10px;
            border-radius: 6px;
            background: var(--bg-main);
            color: var(--text-secondary);
            font-weight: 500;
        }

        /* Card Footer */
        .job-card-footer {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
            justify-content: space-between;
            padding-top: 14px;
            border-top: 1px solid var(--border-light);
        }

        .job-meta {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        .job-salary {
            font-size: 15px;
            font-weight: 700;
            color: var(--text-primary);
        }

        .job-type-badge {
            font-size: 12px;
            font-weight: 600;
            padding: 4px 12px;
            border-radius: 99px;
        }

        .job-type-badge.fulltime {
            background: var(--success-bg);
            color: var(--success);
        }

        .job-type-badge.parttime {
            background: var(--info-bg);
            color: var(--info);
        }

        .job-type-badge.contract {
            background: var(--warning-bg);
            color: var(--warning);
        }

        .job-type-badge.remote {
            background: #f0f9ff;
            color: #0284c7;
        }

        .job-footer-right {
            display: flex;
            align-items: center;
            gap: 10px;
            justify-content: space-between;
        }

        .applicants-count {
            font-size: 12px;
            color: var(--text-muted);
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .applicants-count svg {
            width: 14px;
            height: 14px;
        }

        .apply-btn {
            padding: 8px 20px;
            font-size: 13px;
        }
        
        
        
        @media (max-width: 768px) {
            .job-card {
                padding: 20px;
            }

            .job-card-footer {
                flex-direction: column;
                align-items: flex-start;
                gap: 12px;
            }

            .job-footer-right {
                width: 100%;
                justify-content: space-between;
            }

            .job-meta {
                flex-wrap: wrap;
                gap: 10px;
            }
        }

        @media (max-width: 480px) {
            .job-company-logo {
                width: 40px;
                height: 40px;
                font-size: 14px;
            }

            .job-title {
                font-size: 16px;
            }
        }
        

/*
body {
    font-family: 'Inter', sans-serif;
    background-color: #f8f9fa;
    color: #374151;
    margin: 0;
}

a {text-decoration: none;}

:root {
        --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); 
        --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); 
        --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); 
        
        --rounded-sm: 0.25rem;
        --rounded-md: 0.375rem;
        --rounded-lg: 0.5rem;
        --rounded-xl: 0.75rem;
        --rounded-full: 9999px;
        
        --border-color-2: #BBC1E1;
}*/



/* --TYPOGRAPHY */
.text-xs { font-size: 0.675rem; }
.text-sm { font-size: 0.75rem; }
.text-md { font-size: 1rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.675rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }

.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.font-medium { font-weight: 500; }

.text-white { color: #ffffff; }
.text-gray-200 { color: #e5e7eb; }
.text-gray-500 { color: #6b7280; }
.text-gray-600 { color: #4b5563; }
.text-gray-800 { color: #1f2937; }
.text-gray-900 { color: #11182c; }
.text-blue-600 { color: #2563eb; }
.text-yellow-400 { color: #facc15; }
.text-indigo-600 { color: #5a67d8; }


.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* ----------------------------------------- */
/* LAYOUT, FLEX & GRID
/* ----------------------------------------- */
.flex { display: flex; }
.grid { display: grid; }
.hidden { display: none; }
.block { display: block; }
.inline-block { display: inline-block; }

.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
    margin-top: 1.5rem;
}

.gap-2 { gap: 0.5rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }

.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ----------------------------------------- */
/* SIZING & SPACING
/* ----------------------------------------- */
.w-full { width: 100%; }
.w-8 { width: 2rem; }
.mw-8 { min-width: 2rem;}
.h-full { height: 100%; }
.h-10 { height: 2.5rem; }
.w-10 { width: 2.5rem; }
.h-2-5 { height: 0.625rem; }
.flex-1 { flex: 1 1 0%; }

.pt-3 {padding-top: 0.75rem;}
.p-2 { padding: 0.5rem; }
.p-3 { padding: 0.75rem; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.p-0 { padding: 0; }
.pr-6 { padding-right: 1.5rem; }

.m-auto { margin: auto; }
.m-3 { margin: 0.75rem; }
.ml-auto { margin-left: auto; }
.ml-1 {margin-left: 0.25rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-4 { margin-right: 1rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-8 { margin-top: 2rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-12 { margin-bottom: 3rem; }
.m-0 { margin: 0; }

.space-x-1 {
  margin-bottom: 0.25rem;
}

/* ----------------------------------------- */
/* BORDERS & SHADOWS
/* ----------------------------------------- */
.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-full { border-radius: 9999px; }
.border { border-width: 1px; border-color: #e5e7eb; }
.border-dash { border-style: dashed; }
.border-solid { border-style: solid; }
.border-t { border-top-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-gray-300 { border-color: #d1d5db; }

.shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); }

/* ----------------------------------------- */
/* BACKGROUNDS & INTERACTIVITY
/* ----------------------------------------- */
.bg-white { background-color: #ffffff; }
.bg-gray-50 { background-color: #f9fafb; }
.bg-gray-100 { background-color: #f3f4f6; }
.bg-gray-200 { background-color: #e5e7eb; }
.bg-blue-600 { background-color: #2563eb; }
.bg-yellow-400 { background-color: #facc15; }

.hover\:bg-blue-700:hover { background-color: #1d4ed8; }
.hover\:bg-gray-100:hover { background-color: #f3f4f6; }
.hover\:shadow-xl:hover { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); }

.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 300ms; }
.transition-colors { transition-property: background-color, border-color, color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 300ms; }
.transition-shadow { transition-property: box-shadow; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 300ms; }
.duration-300 { transition-duration: 300ms; }

/* ----------------------------------------- */
/* MISC & CUSTOM
/* ----------------------------------------- */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.object-cover { object-fit: cover; }
.overflow-hidden { overflow: hidden; }

/* Custom Component Styles from Original */
.focus-ring:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.5);
}
.thumbnail {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    border: 2px solid transparent;
}
.thumbnail:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.thumbnail.active {
    border-color: #3b82f6; /* blue-500 */
}

.tooltip {
    position: relative;
    display: inline-block;
    cursor: help;
    border-bottom: 1px dotted #374151;
}

.tooltip .tooltip-text {
    visibility: hidden;
    width: 220px;
    background-color: #1f2937; /* gray-800 */
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 8px;
    position: absolute;
    z-index: 100;
    bottom: 125%;
    left: 50%;
    margin-left: -110px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

/* Device Specs Table */
.spec-table > #specs-tbody > tr:nth-child(even), .spec-table-inner tr:nth-child(even) {
    background-color: #f9f9f9;
}
.spec-table td:last-child {
    font-weight: normal;
    color: #374151; /* gray-700 */
    
}

.spec-table td {
    font-size: 0.765rem;
}

.spec-table-inner, .spec-table-inner-row td {
        vertical-align: top;
        padding-top: 10px;
        padding-bottom: 10px;
        line-height: 1.2;
}

.spec-table-inner, .spec-table-inner-row .spec-table-label,
.spec-table-main-row .spec-table-not-nested {
        max-width: 32%;
        min-width: 32%;
        width: 100%;
        white-space: wrap;
        text-overflow: wrap;
        overflow-wrap: break-word;
}

.spec-table-nested { 
        padding-top: 10px; 
        padding-bottom: 10px;
        font-size: 0.875rem;
        background-color: #dedede;
}

.spec-table-inner, .spec-table-inner-row > td:not(:first-child)  { border-left: 2px solid #f9f9f9; }

@media (max-width: 47.99em){
.spec-table td {
    font-size: 0.675rem;
  }
.spec-table-inner-row .spec-table-label, .spec-table-inner-row .spec-table-value  { padding-top: 8px; padding-bottom: 8px; }
}

/* Basic styling for the comparison table and actions */
.comparison-table-container { overflow-x: auto; border: unset; }
.compare-header { position: sticky; top: 0; background-color: #fff; z-index: 10; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.compare-cell { padding: 1rem; font-size: 0.875rem; }
.spec-label-cell { font-weight: 600; background-color: #f9fafb; border-right: 1px solid #e5e7eb; }
.device-header-cell { text-align: center; position: relative; }
.device-image { max-width: 100px; max-height: 100px; width: 100px; height: 100px; min-width: 100px; margin: 0 auto 0.5rem; }
.device-name { font-weight: bold; margin-bottom: 0.5rem; }
.remove-device-btn { position: absolute; top: 8px; right: 8px; background: #fff; border: 1px solid #ddd; border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.has-difference { background-color: #fef3c7; }
.spec-group-header { grid-column: 1 / -1; background-color: #e5e7eb; font-weight: bold; padding: 0.75rem 1rem; cursor: pointer; }
.spec-group-header .toggle-icon { float: right; transition: transform 0.2s; }
.spec-group-header.collapsed .toggle-icon { transform: rotate(-90deg); }
.compare-row.hidden { display: none; }
        
@media (max-width: 47.99em) {
        .device-image { max-width: 75px; max-height: 75px; width: 75px; height: 75px; min-width: 75px; margin: 0 auto 0.5rem; }
 .device-footer-row .device-spec-cell {display: none; }
 .device-footer-row .device-spec-cell.active {display: block; }
       }

/* Toast Notification */
    .toast-notification { 
        position: fixed; 
        bottom: 60%; 
        top: auto;
        transform: translateX(-50%); 
        background-color: #333; 
        color: white; 
        padding: 12px 10px; 
        border-radius: 8px; 
        z-index: 1000; 
        opacity: 0; 
        visibility: hidden;
        transition: opacity 0.3s, bottom 0.3s, visibility 0.3s; 
        font-size: 0.875rem; 
        height: calc(2rem + 10px);
    }
    .toast-notification.show { 
        opacity: 0.7; 
        visibility: visible;
        bottom: 55%; 
    }
    .toast-notification.success { background-color: #28a745; }
    .toast-notification.error { background-color: #dc3545; }


/* ----------------------------------------- */
/* RESPONSIVE STYLES (from md: prefix)
/* ----------------------------------------- */
@media (min-width: 768px) {
    .md\:p-8 { padding: 2rem; }
    .md\:flex-row { flex-direction: row; }
    .md\:items-center { align-items: center; }
    .md\:mt-0 { margin-top: 0; }
    .md\:col-span-2 { grid-column: span 2 / span 2; }
    .md\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
    .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .md\:text-5xl { font-size: 3rem; }
        
    .spec-table td {
    font-size: 100%;
    }
        
   .device-hero { 
      aspect-ratio: 16/9;
      object-fit: cover;
   }
   
}

/*// Quick specs */

.specs-container {
      display: flex;
      flex-direction: row;
      gap: 1rem;
      margin: 0;
      padding: 0;
      min-height: 100%;
    }
    
    .specs-section {
      flex: 1.5;
      flex: 1;
      box-sizing: border-box;
      width: 100%;
      max-width: 100vw;
    }

   .reviews-top {justify-content: space-between;}

   .reviews-top .review-stats {
      padding-top: 0.225rem;
    }
    
    .specs-horizontal-grid {
      display: flex;
      gap: 0.5rem;
      overflow-x: auto;
    }
    
    .specs-horizontal-grid::-webkit-scrollbar {
      height: 6px;
    }
    
    .specs-horizontal-grid::-webkit-scrollbar-track {
      background: #f1f1f1;
      border-radius: 10px;
    }
    
    .specs-horizontal-grid::-webkit-scrollbar-thumb {
      background: #c0c0c0;
      border-radius: 10px;
    }
    
    .specs-column {
      flex-shrink: 0;
      width: 100%;
      max-width: 100%;
      min-width: 100%;
    }
    
    .spec-item {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 0.5rem;
      padding: 0.75rem 0.5rem;
      margin-bottom: 0.5rem;
      background-color: #f9fafb;
      border-radius: 0.5rem;
      min-height: 10px;
      flex: 1 1 auto;
    }
    
    .spec-icon {
      width: 40px;
      height: 40px;
      background-color: #e0e7ff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    
    .spec-label {
      font-size: 0.65rem;
      font-weight: 500;
      color: #4b5563;
      text-align: center;
    }
    
    .spec-value {
      font-size: 0.875rem;
      font-weight: 600;
      color: #1f2937;
      text-align: center;
    }
    
    @media (max-width: 640px) {
      .spec-label {
        display: none;
              
      }
      
      .spec-value {
        font-size: 0.8rem;
      }
      
      .spec-item {
         flex-direction: column;
         justify-content: center;
       }
      
      .specs-column {
         display: grid;
         grid-template-columns: repeat(2, 1fr);
         gap: .5rem;
      }           
            
      .device-hero #featured-image { 
      aspect-ratio: 3/4; 
      object-fit: cover;
     }

    
    }

/* Prices */

    .store-item {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      padding: 0.75rem;
      margin-bottom: 0.5rem;
      background-color: #f9fafb;
      border-radius: 0.5rem;
      border: 1px solid #e5e7eb;
    }
    
    .store-logo {
      width: 40px;
      height: 40px;
      background-color: #e0e7ff;
      border-radius: 0.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    
    .store-info {
      flex-grow: 1;
    }
    
    .store-name {
      font-size: 0.875rem;
      font-weight: 600;
      color: #1f2937;
    }
    
    .store-location {
      font-size: 0.75rem;
      color: #6b7280;
    }
    
    .price {
      font-size: 0.875rem;
      font-weight: 700;
      color: #1f2937;
    }
    
    .badge {
      font-size: 0.65rem;
      padding: 0.125rem 0.375rem;
      border-radius: 9999px;
      font-weight: 600;
    }
    
    .best-price {
      background-color: #ecfdf5;
      color: #047857;
      min-width: 0;
    }
    
    .local-store {
      background-color: #fef3c7;
      color: #92400e;
    }
    
    .online-store {
      background-color: #dbeafe;
      color: #1e40af;
      padding-bottom: 0;
      display: inline-block;
    }

.add-to-compare-btn {
        padding-top: 5px;
}

.add-to-compare-btn i {
        margin-right: 5px;
}


/* --- Reviews section ---*/ 
#pagination-container ul {
        gap: 0.5rem;
    }

#reviews-container {
    opacity: 1;
    transition: opacity 0.1s ease;
}
#reviews-container[aria-busy="true"] {
    opacity: 0.8;
}

#reviews-container .listing-review-card {
        margin-bottom: 10px;
        margin-top: 0;
}


    #pagination-container li button {
        min-width: 32px;
        height: 32px;
        display: inline-block;
        align-items: center;
        justify-content: center;
        padding: 6px 8px;
        font-size: 0.875rem;
        line-height: normal;
        padding-right: 7px;
        vertical-align: middle;
    }
    @media (max-width: 480px) {
        #pagination-container li button {
            font-size: 0.8rem;
            min-width: 28px;
            height: 28px;
            padding: 6px 6px;
            padding-right: 7px;
        }
    }

/* -- Reviews Skeleton loader Preloader*/

    /* Container */
    #reviews-container {
        position: relative;
        min-height: 140px;
    }

    /* Hide skeleton by default */
    .reviews-skeleton {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding: 0.5rem 0;
    }
    .reviews-skeleton.hidden {
        display: none;
    }

    /* Single skeleton item */
    .skeleton-item {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        padding: 1rem;
        border-radius: 0.5rem;
        background: white;
        box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
    }

    /* Header: Avatar + Name + Date */
    .skeleton-header {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .skeleton-avatar {
        width: 40px;
        height: 40px;
        border-radius: 9999px;
        background: linear-gradient(to right, #f3f4f6, #e5e7eb, #f3f4f6);
        background-size: 200% 100%;
        animation: shimmer 1.8s infinite linear;
    }

    .skeleton-title {
        height: 16px;
        width: 120px;
        background: linear-gradient(to right, #f3f4f6, #e5e7eb, #f3f4f6);
        background-size: 200% 100%;
        border-radius: 4px;
        animation: shimmer 1.8s infinite linear;
    }

    .skeleton-date {
        margin-left: auto;
        height: 14px;
        width: 80px;
        background: linear-gradient(to right, #f3f4f6, #e5e7eb, #f3f4f6);
        background-size: 200% 100%;
        border-radius: 4px;
        animation: shimmer 1.8s infinite linear;
    }

    /* Stars line */
    .skeleton-stars {
        width: 100px;
        height: 14px;
        background: linear-gradient(to right, #f3f4f6, #e5e7eb, #f3f4f6);
        background-size: 200% 100%;
        border-radius: 4px;
        animation: shimmer 1.8s infinite linear;
    }

    /* Text paragraph */
    .skeleton-text {
        width: 100%;
        height: 40px;
        background: linear-gradient(to right, #f3f4f6, #e5e7eb, #f3f4f6);
        background-size: 200% 100%;
        border-radius: 4px;
        animation: shimmer 1.8s infinite linear;
    }

    /* Shimmer Animation */
    @keyframes shimmer {
        0% {
            background-position: -200% 0;
        }
        100% {
            background-position: 200% 0;
        }
    }


@media (prefers-color-scheme: dark) { 
 /* In dark mode */

.skeleton-avatar, .skeleton-title, .skeleton-date, .skeleton-stars, .skeleton-text {
    background: linear-gradient(to right, #374151, #4b5563, #374151);
   }
}


 /* --- Styles for the Related Devices Section */
.related-section {
            position: relative;
        }

        .carousel-container {
            display: flex;
            gap: 1.5rem; /* 24px */
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            /* Hide scrollbar for a cleaner look */
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
            padding-bottom: 2rem;
            
        }
        .carousel-container::-webkit-scrollbar {
            display: none; /* Chrome, Safari, and Opera */
        }

        .related-card {
            display: grid;
            grid-template-rows: 2fr;
            gap:0;
            position: relative;
            max-height: 430px;
            box-sizing: border-box;
            flex: 0 0 80%; /* On small screens, card takes up 80% of width */
            scroll-snap-align: start;
            background-color: #ffffff;
            border-radius: 0.5rem; /* rounded-xl */
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); /* shadow-md */
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .related-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); /* shadow-lg */
        }

        .relative {
            max-height: 255px;
            min-height: 255px;
            width: 100%;
            aspect-ratio: 3/4;
            object-fit: cover;
         }
        .relative img {
            max-height: 255px;
            min-height: 255px;
            width: 100%;
            aspect-ratio: 3/4;
            object-fit: cover;
         }
         
        .card-content-wrapper {
            display: flex;
            box-sizing: border-box;
            flex-direction: column;
            justify-content: flex-end;
            min-height: 90px;/*160px;*/
            max-height: 120px /*160px;*/
            
        }

        .card-content {
            flex: 1 1 auto;
            display: inline-flex;
            flex-direction: column;
            justify-content: start;
            padding: 1rem;
            min-height: 0;
        }

        .card-title {
            font-size: 1.25rem; /* text-xl */
            font-weight: 600; /* font-semibold */
            color: #1f2937; /* text-gray-800 */
        }

        .card-description {
            font-size: 0.875rem; /* text-sm */
            color: #6b7280; /* text-gray-500 */
            margin-top: 0.25rem;
        }

        /*.card-button {
            display: inline-block;
            width: 100%;
            text-align: center;
            background-color: #4f46e5;
            color: #ffffff;
            padding: 0.5rem 1rem;
            border-bottom-right-radius: 0.5rem; 
            border-bottom-left-radius: 0.5rem;
            font-weight: 500;
            text-decoration: none;
            transition: background-color 0.3s;
            min-height: 35px;
        }
        .card-button:hover {
            background-color: #4338ca; 
        }*/
        
        /*.quick-compare-btn {
            position: absolute;
            top: 0.75rem;
            right: 0.75rem;
            background-color: rgba(255, 255, 255, 0.7);
            border-radius: 9999px;
            width: 2.25rem;
            height: 2.25rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #374151;
            transition: all 0.2s ease;
        }
        .quick-compare-btn:hover {
            background-color: #fff;
            color: #11182c;
            transform: scale(1.1);
        }*/

        /* Carousel Navigation Buttons */
        .carousel-nav {
            display: none; /* Hidden by default, shown on larger screens */
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background-color: rgba(255, 255, 255, 0.9);
            border-radius: 9999px;
            width: 3rem;
            height: 3rem;
            border: 1px solid #e5e7eb;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
            cursor: pointer;
            transition: all 0.3s ease;
            color: #dedede;
        }
        .carousel-nav:hover {
            background-color: #fff;
            transform: translateY(-50%) scale(1.05);
            color: #dedede;
        }
        .carousel-nav:disabled {
            opacity: 0.4;
            cursor: not-allowed;
        }
        
        #prevBtn { left: -1rem; }
        #nextBtn { right: -1rem; }

        /* Responsive Breakpoints */
        @media (min-width: 640px) { /* sm */
            .related-card {
                flex-basis: 45%; /* 2+ cards visible */
            }
        }

        @media (min-width: 1024px) { /* lg */
            .related-card {
                flex-basis: 30%; /* 3+ cards visible */
            }
            .carousel-nav {
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }

.gallery-main-img {
        aspect-ratio: 3/4;
}

@media (max-width: 47.99em) {
.gallery-main-img {
        aspect-ratio: 4/3;
}
}

/* ------ Hivepress css */

/* Reverse Side bar to bottom*/
@media (max-width: 48rem){
   .hp-listing.hp-listing--view-page {
        flex-direction: column-reverse;
   }
}

/* Disable sidear sticky feature */
.hp-template .inner-wrapper-sticky {
  position: static !important; 
  transform: none !important;
}

/* Listings page cards */
.hp-listing.hp-listing--view-block {
            gap:0;
            height: 100%;
            position: relative;
            box-sizing: border-box;
            flex: 0 0 80%; /* On small screens, card takes up 80% of width */
            scroll-snap-align: start;
            background-color: #ffffff;
            border-radius: 0.5rem; /* rounded-xl */
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); /* shadow-md */
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

.hp-listing.hp-listing--view-block:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); /* shadow-lg */
        }

.listings-wrapper .hp-listings .hp-grid__item {
        padding: 10px;
        margin-bottom: 0;
}

.listings-wrapper .hp-listings {
        padding-right: 10px; 
        padding-left: 10px;
}

.hp-listing.hp-listing--view-block .hp-listing__content {
    padding: 0 0.75rem 0.75rem 0.75rem;
}

.hp-listing.hp-listing--view-block .hp-listing__header, .hp-listing.hp-listing--view-block .hp-listing__header img {
        min-height: 135px;
        max-height: 135px;
}

/* Responsive Breakpoints */
@media (max-width: 640px) { 
            .listing-block-wrapper {
                display: flex;
            }
            
           .hp-listing.hp-listing--view-block .hp-listing__header, .hp-listing.hp-listing--view-block .hp-listing__header img {
               min-height: 100px;
               max-height: 100px;
               min-width: 90px;
               max-width: 90px;
               aspect-ratio: 3/4;
               background-color: #dedede;
           }
                
           .hp-listing.hp-listing--view-block .hp-listing__header {
               margin: 0;
           }
           
          .hp-listing.hp-listing--view-block .hp-listing__content {
              padding: 0.75rem 0.75rem 0.75rem 0.75rem;
          }
                
           .hp-listing.hp-listing--view-block .hp-listing__content h4 {
               font-size: 1.225rem;
           }  
                
        }


/* Hivepress Sidebar*/
.hp-row .hp-page__sidebar {
        padding-right: 0;
}

.hp-row .hp-page__sidebar .widget {
        background: #ffffff;
        padding: 0.75rem;
        border-radius: var(--rounded-lg);

}

.hp-row .hp-page__sidebar .widget:not(last-child){
        margin-bottom: 1rem;
}

@media (max-width: 47.99em) {
        
.hp-row .hp-page__sidebar {
        mpadding-right: 1rem;
        mpadding-left: 1rem;
    }
}

/* Listings search form */

.listing-hero-section {
            /* Gradient background matching the aesthetic of previous placeholder images */
            background: linear-gradient(135deg, #e0f2fe 0%, #4f46e5 50%); /*#dbeafe*/
            padding: 4rem 1rem; /* 64px top/bottom, 16px left/right */
            text-align: center;
        margin-top: -3rem;
        margin-right: -1rem;
        margin-left: -1rem;
        position: relative;
        }
.listing-hero-section::before {
        position: absolute;
        content: '';
        width: 100%;
        left: 0;
        bottom: -1px;
        min-height: 10%;
        background: linear-gradient(180deg, rgba(248, 249, 250, 0) 0%, rgba(248, 249, 250, 1) 100%);
}

        .listing-hero-heading {
            font-size: 2.25rem; /* 36px */
            font-weight: 800; /* extra-bold */
            color: #fff;/* color: #1e3a8a; /* A darker, richer blue for contrast */
            margin-bottom: 2rem; /* 24px */
            opacity: 0.8;
        }

     .listing-search-container {
            max-width: 768px; /* md */
            margin: 1rem auto;
            display: flex;
            gap: 0.5rem; /* 12px */
            align-items: center;
        }

        .hp-form--listing-search {
            flex-grow: 1;
            display: flex;
            justify-content: unset;
            flex-direction: row;
            background-color: #ffffff;
            border-radius: 0.75rem; /* 12px */
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);
            overflow-y: scroll;
            border: 1px solid transparent;
            transition: border-color 0.2s ease;
        }
        
        .hp-form--listing-search:focus-within {
             border-color: red; /*#3b82f6; /* blue-500 */
        }

        .hp-form--listing-search .hp-field.hp-field--search {
            flex-grow: 1;
            max-height: 3.25rem;
            border: none;
            outline: none;
            padding: 1rem 1.25rem; /* 16px top/bottom, 20px left/right */
            font-size: 1rem; /* 16px */
            color: #1f2937; /* gray-800 */
            background: transparent;
        }
        .hp-form--listing-search input.hp-field.hp-field--search::placeholder{
            color: #9ca3af; /* gray-400 */
        }

        .hp-form--listing-search .hp-form__button {
            display: inline-block;
            min-height: 30px; 
            height: 100%;
            width: 100%;
            align-items: center;
            justify-content: center;
            padding: 0.5rem; /* 20px */
            padding-right: 0.785rem;
            border: none;
            background-color: transparent;
            color: #6b7280; /* gray-500 */
            cursor: pointer;
            transition: color 0.2s ease;
        }
        .listing-search-container .hp-block.hp-form--primary .hp-form__button:hover {
            color: #3b82f6; /* blue-500 */
        }
        .listing-search-container .hp-block.hp-form--primary .hp-form__button i {
            font-size: 1.25rem; /* 20px */
        }

         .hp-form--listing-search .hp-form__button::after { 
                 content: '\f002';
                 font-family: "Font Awesome 5 Free"; /* Or "Font Awesome 6 Free", depending on your version */
                 font-weight: 900;
                 font-size: 1.25rem; /* 20px */
         }

       .hp-form--listing-search .hp-form__fields {
           margin-bottom: 0 !important;
           padding: 0;
           gap:0;
        }


        .listing-search-container .button.button--large.hp-button.hp-button--wide.hp-button--mobile.hp-button--listing-filter {
            display: flex; /* Visible by default on mobile */
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            width: 3.25rem; /* 52px */
            height: 3.25rem; /* 52px */
            background-color: #ffffff;
            border: none;
            border-radius: 0.75rem; /* 12px */
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);
            color: #374151; /* gray-700 */
            cursor: pointer;
            transition: background-color 0.2s ease, box-shadow 0.2s ease;
        }
        .listing-search-container .button.button--large.hp-button.hp-button--wide.hp-button--mobile.hp-button--listing-filter:hover {
            background-color: #f9fafb; /* gray-50 */
        }
        .listing-search-container .button.button--large.hp-button.hp-button--wide.hp-button--mobile.hp-button--listing-filter i {
            font-size: 1.25rem; /* 20px */margin:0;
        }
        
        .listing-search-container .button.button--large.hp-button.hp-button--wide.hp-button--mobile.hp-button--listing-filter span {
            display: none;
        }


    /* Featured Categories*/
       .f-categories {
              margin-top: 10px;
              margin-bottom: 15px;
              width: 100%;
       }

       .f-categories-inner {
               display: inline-block;
               margin-right: auto;
               margin-left: auto;
       }

       .f-categories-inner span {
              background-color: rgba(255, 255, 255, 0.2);
              margin-bottom: 5px;
              display: inline-block;
       }

        /* Responsive Breakpoints */
        @media (min-width: 768px) { /* md breakpoint */
            .hero-heading {
                font-size: 5rem; /* 48px */
            }
        }



        /* Review Submit form CSS */


/* Base Reset & Box Sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Container */

.hp-modal {
        padding: 1rem;
        border-radius: 0.75rem;
}

.hp-modal h3 {
        line-height: normal;
}

.hp-modal .hp-form {
  margin: 0 auto !important;
  padding: 0;
  background-color: #fff;
  border-radius: 0.375rem;
  overflow: hidden;
}

.hp-form__fields .hp-form__field:focus, .hp-field.select2-hidden-accessible:focus,
        .hp-field--textarea:focus {
            outline: none;
            border-color: #3b82f6;
        }

/* Messages */
.hp-modal .hp-form__messages {
  @apply p-4 mb-4 text-sm rounded-md;
  background-color: #f0f9ff;
  color: #0c4a6e;
  border: 1px solid #bae6fd;
}

.hp-modal .hp-form__messages--success {
  background-color: #f0fdf4;
  color: #166534;
  border-color: #6ee7b7;
  font-size: 90%;
}

.hp-modal .hp-form__messages--error {
  background-color: #fef2f2;
  color: #991b1b;
  border-color: #fca5a5;
  font-size: 90%;
}

.hp-modal .hp-form__messages:empty {
  display: none;
}

/* Fields Wrapper */
.hp-modal .hp-form__fields {
  @apply space-y-4;
  margin-bottom: 1.5rem;
}

/* Field */
.hp-modal .hp-form__field {
  @apply flex flex-col;
}

.hp-modal .hp-form__label {
  @apply block text-sm font-medium text-gray-700 mb-1;
        font-weight: 500;
        font-size: 0.85rem;
        margin-bottom: 5px;
}

.hp-modal .hp-form__label span {
  @apply text-gray-700;
        font-weight: 500;    
        font-size: 0.85rem;
        margin-bottom: 5px;
}

/* Rating Select (Custom Select2 Styling) */
/*.hp-modal .hp-fieldG {
  @apply mt-1 block w-full pl-3 py-2 text-base border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 sm:text-sm rounded-md;
  height: 2.5rem;
  appearance: none;
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
}*/

/* Hide default select arrow in Chrome/Safari */
.hp-field::-ms-expand {
  display: none;
}

/* Select2 container override */
.select2-container--default .select2-selection--single {
  border: 1px solid #d1d5db;
  border-radius: var(--rounded-md);
  height: 2.5rem;
  padding: 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 2.5rem;
  padding-left: 0.75rem;
  color: #6b7280;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 2.5rem;
  right: 0.5rem;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #3b82f6;
  color: white;
}

/* Textarea Field */
.hp-modal .hp-field--textarea {
  @apply mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 sm:text-sm min-h-[120px];
  resize: vertical;
}

/* Footer */
.hp-modal .hp-form__footer {
  @apply flex justify-end;
}

/* Submit Button */
.hp-modal .hp-form__button {
  @apply inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 transition-colors duration-150;
  border-radius: 0.325rem;
}

.hp-modal .hp-form__button:focus {
  @apply ring-2 ring-blue-500;
}

/* Responsive Adjustments */
@media (max-width: 640px) {
.hp-modal .hp-form {
    margin: 0.5rem;
  }

  .hp-modal .hp-form__button {
    width: 100%;
  }
}

/* === Select2 Dropdown - Results List === */
.select2-dropdown {
  @apply shadow-md rounded-md overflow-hidden;
  border: 1px solid #d1d5db !important;
  border-radius: 0.375rem !important;
  font-family: system-ui, -apple-system, sans-serif;
        overflow: hidden;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Select2 Dropdown - Results */
.select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto;
  @apply bg-white text-sm;
}

/* Individual Option in Dropdown */
.select2-results__option {
  @apply p-2 cursor-pointer transition-colors duration-100;
  color: #1f2937;
  display: block;
  padding: 2px;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

/* Hover State */
.select2-results__option--highlighted[aria-selected] {
  @apply bg-blue-600 text-white;
  background-color: #3b82f6 !important;
  color: white !important;
  border-right: 0.5px solid #d1d5db;
  border-left: 0.5px solid #d1d5db;
}

/* Selected Option (if needed) */
.select2-results__option[aria-selected="true"] {
  @apply text-md;
}

/* Disabled Option */
.select2-results__option--disabled {
  @apply cursor-not-allowed opacity-50;
}

/* No Results Message */
.select2-results__message {
  @apply p-3 text-center text-gray-500 text-sm italic;
}

/* Input Search in Dropdown (if enabled) */
.select2-search--dropdown .select2-search__field {
  @apply border-b border-gray-200 p-2 w-full outline-none text-sm;
  border-color: #e5e7eb !important;
}

/* Hide the search border when not needed */
.select2-search--dropdown {
  padding: 0;
}

/* Ensure consistent border radius on top/bottom */
.select2-dropdown--below {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.select2-dropdown--above {
  border-bottom-left-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
}



/* Fields styling */

.hp-form.hp-form--listing-filter {
        /*background: red;
        margin:0;*/
}

.hp-row .hp-page__sidebar #listing_filter_modal {
        margin: 0.75rem 0 0.75rem 0;
        padding: 0;
}

.hp-row .hp-page__sidebar .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes, #listing_filter_modal .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes {
     
}

.hp-row .hp-page__sidebar .hp-form__field .hp-field__label.hp-form__label, #listing_filter_modal .hp-form__field .hp-field__label.hp-form__label {
        margin-bottom: 10px;
}

.hp-row .hp-page__sidebar .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes ul, #listing_filter_modal .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes ul {
       
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
        padding-bottom: 5px;
}


.hp-row .hp-page__sidebar .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li, #listing_filter_modal .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li { 
        margin: 0;
        padding: 0;
        line-height: normal;
}

.hp-row .hp-page__sidebar .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li > label, 
#listing_filter_modal .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li > label,
.hp-row .hp-page__sidebar .hp-form__fields .hp-form__field.hp-form__field--radio .hp-field.hp-field--radio ul > li > label, 
#listing_filter_modal .hp-form__fields .hp-form__field.hp-form__field--radio .hp-field.hp-field--radio ul > li > label {
        padding: 0;
        display: flex; 
        flex-direction: row;
        gap: 5px;
        flex-wrap: nowrap;
}

.hp-row .hp-page__sidebar .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li > label > input, #listing_filter_modal .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li > label > input,
.hp-row .hp-page__sidebar .hp-form__fields .hp-form__field.hp-form__field--radio .hp-field.hp-field--radio ul > li > label > input, 
#listing_filter_modal .hp-form__fields .hp-form__field.hp-form__field--radio .hp-field.hp-field--radio ul > li > label > input {       
        vertical-align: middle;
        padding: 0; 
        margin: 0;
}

.hp-row .hp-page__sidebar .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li > label > span, 
#listing_filter_modal .hp-form__field.hp-form__field--checkboxes .hp-field.hp-field--checkboxes > ul > li > label > span,
.hp-row .hp-page__sidebar .hp-form__fields .hp-form__field.hp-form__field--radio .hp-field.hp-field--radio ul > li > label > span, 
#listing_filter_modal .hp-form__fields .hp-form__field.hp-form__field--radio .hp-field.hp-field--radio ul > li > label > span {
        
        padding: 0;
        margin: 0;
        line-height: 1;
        vertical-align: middle;
        font-size: 1rem;
}

       
/* Form Validation */

/* Custom Error Message */
/*
.hp-form__error-message {
  @apply mt-1 text-sm text-red-600;
  font-size: 0.875rem;
  color: #dc2626;
  display: none; 

.hp-form__error-message--show {
  display: block;
}


.hp-field--invalid {
  @apply border-red-500 focus:ring-red-500 focus:border-red-500;
  border-color: #ef4444 !important;
}


.hp-form__field--error::before, .hp-form__messages::before{
  content: "⚠";
  @apply ml-1 text-red-500;
  font-size: 0.8em;
}



.hp-field--invalid {
  border-color: #ff3860 !important;
}

.hp-field--valid {
  border-color: #23d160 !important;
}

.hp-form__error-message {
  color: #ff3860;
  font-size: 0.85em;
  margin-top: 0.25rem;
}

.hp-form__messages {
  display: flex;
  flex-direction: row; 
  gap: 5px;
  padding: 1rem;
  margin-bottom: 1.5rem;
  border-radius: 4px;
  overflow: hidden;
  font-size: 0.8em;
  line-height: normal;
  vertical-align: middle;
}

.hp-form__messages--success {
  background-color: #effaf3;
  color: #257942;
  border: 1px solid #d2f0da;
}

.hp-form__messages--error {
  background-color: #feecf0;
  color: #cc0f35;
  border: 1px solid #fdd8e1;
}


button[type="submit"][disabled] {
  opacity: 0.7;
  cursor: not-allowed;
}

*/




/* For asterisks to specific form structure */

.hp-form .hp-form__label:has(+ [required]) > span:after,
.hp-form .hp-field__label:has(+ [required]) > span:after {
  content: ' *';
  color: #ff3860;
  display: inline;
}


/* CSS update */
input, select, select2, textarea {
        border-radius: var(--rounded-md) !important;
        border-color: var(--border-color-2);
}

.online-store {
    max-width: 100%; 
}

.hp-form.hp-form--listing-update .hp-form__field, .hp-form.hp-form--vendor-update .hp-form__field {
        margin-bottom: 2.5rem;
}

/* Base styles for the form using the :is() pseudo-class to group common selectors */
.hp-form.hp-form--listing-update .hp-field__label.hp-form__label {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-bottom: 10px;
    margin-bottom: 15px;
    font-weight: 600;
}

@media (min-width: 48em) {      

  .hp-form.hp-form--listing-update .hp-form__field {
    flex-direction: row;
    margin-bottom: 20px;
}
        /*
        .hp-form.hp-form--listing-update .hp-field__label.hp-form__label {
                border-bottom: unset;
}      
        
.hp-form.hp-form--listing-update .hp-form__field {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  gap: 10px;
  box-sizing: border-box;
  max-width: 100vw;
}
        
.hp-form.hp-form--listing-update .hp-field__label.hp-form__label {
  grid-column: 1;
  grid-row: 1 / span 2;
}*/
}


.hp-form.hp-form--listing-update .hp-field__label.hp-form__label small {
    color: rgba(0, 0, 0, 0.4);
    display: none;
}

/* Grouping checkbox list styles for DRY (Don't Repeat Yourself) code */
.hp-form.hp-form--listing-update .hp-form__fields .hp-field--checkboxes ul {
    display: grid;
    grid-gap: 12px;
    align-items: center;
}

.hp-form.hp-form--listing-update .hp-form__fields .hp-field--checkboxes ul li {
    margin: 0;
}

.hp-form.hp-form--listing-update .hp-form__fields .hp-field--checkboxes ul li label {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    padding-top: 2px;
}

/* --- Responsive Styles --- */

/* Mobile view */
@media (max-width: 47.99em) {
    .hp-template--listing-edit-page .hp-form.hp-form--listing-update .hp-form__footer {
        position: sticky;
        z-index: 100;
        bottom: 0;
        transition: position 0.5s ease-in-out;
        padding-bottom: 0;
    }

    /* CLEANER :has() SELECTOR: Groups all input types into one :is() */
    .hp-template--listing-edit-page .hp-form.hp-form--listing-update:has(
        :is(input[type="text"], input[type="textarea"], input[type="search"], input[type="url"], input[type="number"], input[type="email"], input[type="password"], input[type="phone"], textarea):focus
    ) .hp-form__footer {
        position: relative;
    }

    .hp-form.hp-form--listing-update .hp-form__fields .hp-field--checkboxes ul {
        grid-template-columns: repeat(2, 1fr);
    }

    .hp-form.hp-form--listing-update .hp-form__footer .hp-form__button.button-primary {
        border-radius: 15px;
        box-shadow: var(--shadow-lg);
            max-width: 80%;
        
    }
}

/* Desktop view */
@media (min-width: 48em) {
    .hp-form.hp-form--listing-update .hp-form__fields .hp-field--checkboxes ul {
        grid-template-columns: repeat(4, 1fr);
    }
}


/* --- Custom Checkbox Styles --- */

/* SIMPLIFIED SELECTOR: Using :is() to target both checkbox container types */
.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) input[type=checkbox] {
    --active: #275EFE;
    --active-inner: #fff;
    --focus: 2px rgba(39, 94, 254, .3);
    --border: #BBC1E1;
    --border-hover: #275EFE;
    --background: #fff;
    --disabled: #F6F8FF;
    --disabled-inner: #E1E6F9;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 21px;
    width: 21px; /* Set width here since it's common */
    outline: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    padding: 0;
    cursor: pointer;
    border: 1px solid var(--bc, var(--border));
    background: var(--b, var(--background));
    border-radius: 7px;
    transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
}

.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) input[type=checkbox]:after {
    content: "";
    display: block;
    position: absolute;
    transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
    /* Checkmark styles */
    width: 5px;
    height: 9px;
    border: 2px solid var(--active-inner);
    border-top: 0;
    border-left: 0;
    left: 7px;
    top: 4px;
    transform: rotate(var(--r, 20deg));
    opacity: var(--o, 0);
}

.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) input[type=checkbox]:checked {
    --b: var(--active);
    --bc: var(--active);
    --d-o: .3s;
    --d-t: .6s;
    --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    --o: 1; /* Opacity for :after */
    --r: 43deg; /* Rotation for :after */
}

.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) input[type=checkbox]:disabled {
    --b: var(--disabled);
    cursor: not-allowed;
    opacity: 0.9;
}

.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) input[type=checkbox]:disabled:checked {
    --b: var(--disabled-inner);
    --bc: var(--border);
}

.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) input[type=checkbox]:hover:not(:checked):not(:disabled) {
    --bc: var(--border-hover);
}

.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) input[type=checkbox]:focus {
    box-shadow: 0 0 0 var(--focus);
}

/* Simplified label styles */
.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes label, .hp-field--checkbox label) span {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    margin: 0 5px;
    padding-top: 3px;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    font-size: 90%;
}

/* Universal box-sizing at the top of your stylesheet is better, but this works */
.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) * {
    box-sizing: inherit;
}

.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) *:before,
.hp-form.hp-form--listing-update .hp-form__fields :is(.hp-field--checkboxes, .hp-field--checkbox) *:after {
    box-sizing: inherit;
}


#online-store {
max-width: 100%;
}

#online-store table tbody {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    gap: 5px;
}

#online-store table tbody tr {
    display: inline-block;
    flex-direction: column;
    position: relative;
    padding: 10px;
    border: unset;
    border-radius: var(--rounded-md);
}

#online-store table tbody tr td {
    display: flex;
    flex-direction: row;
    margin: 0;
    width: 100%;
    max-width: 90%;
    box-sizing: border-box;
    border: unset;
}

#online-store table tbody tr td:is(:first-child, :last-child) {
    display: block;
    margin: 0;
    right: 4px;
    max-width: 10%;
    width: 10%;
    box-sizing: border-box;
    min-width: 10%;
    min-height: 10%;
    text-align: center;
}

#online-store table tbody tr td:first-child {
    top: 5px;
}

#online-store table tbody tr td:last-child {
    bottom: 4px;
}

@media (min-width: 48em){ 
        #online-store table tbody tr {
    display: flex;
    flex-direction: row;
    gap: 10px;
    padding: 20px;
    align-items: center;
   }
 #online-store table tbody tr td:is(:first-child, :last-child) {
    display: block;
    max-width: 10%;
    width: unset;
    min-height: unset;
    height: unset;
    min-width: unset;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
    box-shadow: var(--shadow-md);
}
        #online-store table tbody tr td {
    width: 100%;
    max-width: unset;
  }
}

.hp-page__topbar.hp-page__topbar--separate {
    background-color: var(--border);
    flex-wrap: nowrap;
    display: flex;
    flex-direction: row;
    padding: 0;
    border-radius: 15px;
}

.hp-page__topbar.hp-page__topbar--separate .hp-menu--tabbed.hp-menu.hp-menu--listing-manage {
    padding: 1;
    margin: 0;
    box-sizing: border-box;
    border: unset;
    }

.hp-page__topbar.hp-page__topbar--separate .hp-listing__actions.hp-listing__actions--secondary {
    display: flex;
    flex-flow: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    min-height: 0;
    padding: 1rem;
    margin: 0;
}

/* Highlight rows where fields are required */
.row-has-values {
    background-color: #fff9e6; /* light yellow */
    border-left: 4px solid #ff9800;
}

/* Style for labels of required fields */
.is-now-required::after {
    content: " *";
    color: red;
    font-weight: bold;
}


@media (max-width: 47.99em) {
    .hp-page__topbar.hp-page__topbar--separate .hp-listing__actions.hp-listing__actions--secondary span{
    display: none;
    }

    .hp-page__topbar.hp-page__topbar--separate .hp-listing__actions.hp-listing__actions--secondary i {
    margin: 0;
    }
}


/* Custom Widgets*/
.widget-title, .widget__title {
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    width: auto;
    margin-top: 0;
    margin-bottom: 1rem;
    color: #333;
    padding-bottom: 0.75rem;
}

.view-all-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 30px;
}

.view-all-link span { 
    align-content: left;
}

.view-all-link:before {
    display: inline-block;
    content: ' ';
    flex: 1;
    height: 30px;
    min-width: 5px;
    max-width: 5px;
    background-color: #eee;
}

.widget-title:before, .widget__title:before {
    content: '';
    min-height: 2px;
    background: #2334E5;
    display: block;
    width: 40px;
    margin-bottom: 10px;
}

/* Brands Grid */
.brands-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
}

.brand-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 8px;
    transition: all 0.2s ease;
    border: 1px solid #eee;
}

.brand-link:hover {
    background: #e9ecef;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-decoration: none;
}

.brand-logo {
    max-width: 100%;
    height: auto;
    display: block;
} 
 
 
 .devices-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.devices-list li {
    border-bottom: 1px solid #f0f0f0;
}

.devices-list li:last-child {
    border-bottom: none;
}

.device-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0;
    color: #333;
    text-decoration: none;
    transition: color 0.2s ease;
}

.device-link:hover {
    color: #0066cc;
}

.device-name {
    font-size: 0.95rem;
    flex-grow: 1;
}

.badge {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    text-transform: uppercase;
    margin-left: 0.5rem;
}

.badge.new {
    background: #d4edda;
    color: #155724;
}

.badge.updated {
    background: #e8f4fd;
    color: #0c5460;
}
 
 
 
.series-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.series-device-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0.75rem;
    margin: 0.25rem 0;
    color: #333;
    text-decoration: none;
    border-radius: 6px;
    transition: all 0.2s ease;
    background: #f8f9fa;
}

.series-device-link:hover {
    background: #e9ecef;
    transform: translateX(4px);
    text-decoration: none;
    color: #0066cc;
}

.series-device-name {
    font-size: 0.9rem;
    font-weight: 500;
}

.series-device-meta {
    font-size: 0.8rem;
    color: #6c757d;
}
 
 
 
.competitors-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0.5rem;
    padding: 5px 0 5px 0;
} 
.competitor-cards {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-top: 5px;
    padding-bottom: 5px;
    overflow: hidden;
    max-width: 100%;
}

.competitor-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.75rem;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    background: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.competitor-card:hover {
    background: #fff;
    border-color: #dee2e6;
    transform: translateY(-2px);
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    color: #333;
}

.competitor-image {
    flex-shrink: 0;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0.75rem;
    max-width: 96px;
    min-width: 96px;
    max-height: 128px;
    min-height: 128px;
    aspect-ratio: 3/4;
    background: #dedede;
    border-radius: 0.25rem;
}

.competitor-image img {
    max-width: 96px;
    min-width: 96px;
    max-height: 128px;
    min-height: 128px;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 0.25rem;
}

.competitor-info {
    display: flex;
    width: 100%;
    flex-direction: column;
    padding: 0;
}
.competitor-info h4 {
    font-size: 0.95rem;
    font-weight: 600;
    max-width: 100%;
    margin: 0;
    margin-left: auto;
    margin-right: auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.competitor-price {
    display: none;
    margin: 0;
    margin-top: 0.25rem;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.85rem;
    color: #28a745;
    font-weight: 500;
}
