/* Wrapper */
.hive-actions-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    font-family: Arial, sans-serif;
}

/* Page Title */
.hive-actions-title {
    text-align: center;
    font-size: 34px;
    margin-bottom: 25px;
}

/* Three-column grid for desktop */
.hive-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 25px !important;
}


/* One column on mobile/tablet */
@media (max-width: 900px) {
    .hive-grid {
        grid-template-columns: 1fr;
    }
}

/* Base card styling */
.hive-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    border-left: 8px solid #ccc; /* default fallback */
}

/* Card titles */
.hive-card h2 {
    margin-top: 0;
    font-size: 22px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eaeaea;
}

/* Inputs */
.hive-card input[type="text"],
.hive-card input[type="number"],
.hive-card input[type="date"],
.hive-card select {
    width: 100%;
    padding: 10px;
    margin-top: 8px;
    margin-bottom: 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 16px;
}

/* Checkbox labels */
.hive-card label {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
}

/* Save buttons (top & bottom) */
.hive-save-button {
    width: 60%;
    margin: 0 auto 25px auto;
    display: block;
    padding: 14px;
    background: #0073aa;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 20px;
    cursor: pointer;
    text-align: center;
    transition: background 0.2s ease-in-out;
}

.hive-save-button:hover {
    background: #005f8d;
}

/* Colour-coded card accents */
.hive-card.hive-details      { border-left-color: #4CAF50; } /* green */
.hive-card.inspection-date   { border-left-color: #2196F3; } /* blue */
.hive-card.brood-box         { border-left-color: #9C27B0; } /* purple */
.hive-card.supers            { border-left-color: #3F51B5; } /* indigo */
.hive-card.queen-seen        { border-left-color: #FF9800; } /* orange */
.hive-card.frames-of-brood { border-left-color: #FF7043; } /* deep orange */
.hive-card.brood-states      { border-left-color: #795548; } /* brown */
.hive-card.food-frames       { border-left-color: #8BC34A; } /* light green */
.hive-card.temper            { border-left-color: #FFC107; } /* amber */
.hive-card.queen-state       { border-left-color: #E91E63; } /* pink */
.hive-card.eggs-source       { border-left-color: #00BCD4; } /* cyan */
.hive-card.qc-source         { border-left-color: #009688; } /* teal */
.hive-card.queen-name    { border-left-color: #BA68C8; } /* light purple */
.hive-card.queen-marked  { border-left-color: #FFB74D; } /* soft orange */
.hive-card.queen-clipped { border-left-color: #4DB6AC; } /* teal */
.hive-card.requeening        { border-left-color: #F44336; } /* red */
.hive-card.feeding           { border-left-color: #CDDC39; } /* lime */
.hive-card.varroa            { border-left-color: #FF5722; } /* deep orange */
.hive-card.honey-harvest     { border-left-color: #FFEB3B; } /* yellow */
.hive-card.reminders         { border-left-color: #673AB7; } /* deep purple */
.hive-card.notes             { border-left-color: #607D8B; } /* blue-grey */
.hive-card.photos            { border-left-color: #9E9E9E; } /* grey */

.hive-button-wrapper {
    text-align: center;
    width: 100%;
}

.hive-button-row {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

/* Shared button rules */
.hive-save-button,
.hive-cancel-button {
    line-height: 1;
    height: 48px;
    padding: 14px 28px;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    box-sizing: border-box;
    border-radius: 8px;
    font-size: 18px;
    cursor: pointer;
}

/* Save */
.hive-save-button {
    background: #0073aa;
    color: white;
    border: none;
}

.hive-save-button:hover {
    background: #005f8d;
}

/* Cancel */
.hive-cancel-button {
    background: #777;
    color: white;
    text-decoration: none;
    border: none;
}

.hive-cancel-button:hover {
    background: #555;
}

.hive-save-button,
.hive-cancel-button {
    font-family: inherit !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.hive-save-button,
.hive-cancel-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px;
    padding: 14px 28px;
    box-sizing: border-box;
    vertical-align: middle !important;
}

.hive-save-button,
.hive-cancel-button {
    margin: 0 !important;
    padding: 14px 28px !important;
    border: none !important;
    line-height: 1 !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

.hive-save-button {
    border: 2px solid #005f8d !important;
}

.hive-cancel-button {
    border: 2px solid #555 !important;
}

.hive-card.notes {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    justify-self: stretch !important;
}

.hive-card.brood-states {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.hive-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 25px !important;
}

.hive-card {
    min-width: 0 !important;
}

.hive-actions-wrapper {
    width: 100% !important;
    max-width: 100% !important;
}

.hive-grid {
    width: 100% !important;
}

.hive-grid {
    display: grid !important;
    width: 100% !important;
}

.elementor-widget-container,
.elementor-column,
.elementor-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.hive-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.hive-card.notes {
    width: 100% !important;
    max-width: 100% !important;
}

.hive-message-panel {
    padding: 15px 20px;
    border-radius: 8px;
    margin: 20px 0;
    font-size: 16px;
    line-height: 1.5;
    border-left: 6px solid;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}

