        /* Reset for elements used in page-firmware.php */
        * {
            box-sizing: border-box;
        }
        /* White container with rounded corners, constrained to content area */
.firmware-downloads .firmware-container {
    max-width: 100%;
    margin: 20px auto;  /* space from header & footer */
    padding: 20px;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden; /* clears floated children */
    border-radius: 10px;
}

        /* Ensure content area and sidebar don’t overlap */
        .firmware-downloads #primary {
            width: 70%; /* Adjust based on theme’s content width */
            float: left;
            margin-right: 2%;
        }
        .firmware-downloads #secondary {
            width: 28%; /* Adjust based on theme’s sidebar width */
            float: right;
            margin-left: 0;
        }
        /* Clearfix for floated elements */
        .firmware-downloads #primary:after,
        .firmware-downloads #secondary:after {
            content: "";
            display: table;
            clear: both;
        }
        /* Ensure device-list spans the full container width */
        .device-list {
            width: 100%;
            max-width: 100%;
            margin: 0;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
        }
        /* Style device-item to fit grid and prevent cropping */
        .device-item {
            width: 100%;
            max-width: 100%;
            margin-bottom: 0;
            padding: 15px;
            background: #f5f5f5;
            border-radius: 8px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
            overflow-wrap: break-word;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition: transform 0.3s, box-shadow 0.3s;
        }
        .device-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        }
        /* Style headings and links within device-item */
        .device-item h3 {
            font-size: 1.5em;
            font-weight: 700;
            color: #222222;
            margin: 0 0 10px 0;
        }
        .device-item p {
            font-size: 1em;
            color: #666666;
            margin: 0 0 10px 0;
            flex-grow: 1;
        }
        /* Style download-button */
        .download-button {
            position: relative;
            display: inline-block;
            width: 100%;
            padding: 15px 20px;
            background: #5d829b;
            color: #fff;
            text-decoration: none;
            border-radius: 5px;
            font-weight: 700;
            text-align: center;
            transition: background-color 0.3s ease;
            z-index: 1;
        }
        .download-button:hover {
            background: #486b85;
        }
        /* Style firmware-content and firmware-carrier */
        .firmware-content {
            width: 100%;
            max-width: 100%;
            margin-top: 20px;
        }
        .firmware-carrier {
            width: 100%;
            max-width: 100%;
            margin-bottom: 20px;
            padding: 15px;
            background: #f5f5f5;
            border-radius: 8px;
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
        }
        .firmware-carrier h3 {
            font-size: 1.3em;
            font-weight: 700;
            color: #222222;
            margin: 0 0 10px 0;
        }
        .firmware-carrier p {
            font-size: 1em;
            color: #666666;
            margin: 0 0 10px 0;
        }
        /* Style firmware-instructions */
        .firmware-instructions {
            width: 100%;
            max-width: 100%;
            margin-top: 20px;
        }
.firmware-instructions h2 {
    font-size: 1.6em;
    font-weight: 600;
    color: #111; /* near-black text */
    margin: 0 0 15px 0;
    padding: 12px 18px;
    background: #f9f9f9; /* soft light gray background */
    border-left: 4px solid #555; /* subtle neutral accent */
    border-radius: 4px;
}



        /* Style firmware-title */
        .firmware-title {
            font-size: 2em;
            font-weight: 700;
            color: #222222;
            margin: 0 0 20px 0;
            overflow-wrap: break-word;
            text-align: center;
        }
        /* Style hr */
        hr {
            border: 0;
            border-top: 1px solid #e5e5e5;
            margin: 20px 0;
        }
        /* Responsive design */
        @media (max-width: 1024px) {
            .device-list {
                grid-template-columns: repeat(2, 1fr);
            }
            .firmware-downloads #primary {
                width: 65%;
                margin-right: 2%;
            }
            .firmware-downloads #secondary {
                width: 33%;
            }
        }
        @media (max-width: 768px) {
            .device-list {
                grid-template-columns: 1fr;
            }
            .firmware-downloads #primary,
            .firmware-downloads #secondary {
                width: 100%;
                float: none;
                margin-right: 0;
                margin-left: 0;
            }
            .device-item, .firmware-content, .firmware-carrier, .firmware-instructions {
                width: 100%;
                max-width: 100%;
                padding: 10px;
            }
            .download-button {
                padding: 10px 15px;
            }
            .firmware-title {
                font-size: 1.8em;
            }
            .firmware-instructions h2 {
                font-size: 1.5em;
                padding: 8px;
            }
            .firmware-container {
                padding: 10px;
            }
        }