/* Calendar Header */

.photoez-calendar-header {

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

}



.photoez-calendar-header h2 {

    margin:0;

    font-size:20px;

}



/* Calendar Table */

.photoez-calendar {

    width:100%;

    table-layout:fixed;

    border-collapse:collapse;

}



.photoez-calendar th {

    background:#f1f1f1;

    padding:10px;

    text-align:center;

    font-weight:600;

}



.photoez-calendar td {

    vertical-align:top;

    height:140px;

    padding:8px;

    border:1px solid #eee;

    background:#fff;

    transition:background 0.2s ease;

}



.photoez-calendar td:hover {

    background:#fafafa;

}



/* Booking Blocks */

.photoez-booking-item {

    padding:5px 8px;

    margin-top:6px;

    border-radius:6px;

    font-size:12px;

    font-weight:500;

    color:#fff;

    cursor:grab;

    transition:transform 0.1s ease, box-shadow 0.1s ease;

}



.photoez-booking-item:hover {

    transform:translateY(-1px);

    box-shadow:0 2px 5px rgba(0,0,0,0.1);

}



/* Status Colors */

.photoez-confirmed {

    background:#0073aa;

}



.photoez-pending {

    background:#ffb900;

}



.photoez-cancelled {

    background:#dc3232;

    cursor:not-allowed;

}



/* Legend */

.photoez-legend {

    display:flex;

    gap:15px;

    margin-bottom:15px;

}



.photoez-legend span {

    display:flex;

    align-items:center;

    gap:6px;

    font-size:13px;

}



.photoez-legend i {

    width:14px;

    height:14px;

    border-radius:3px;

    display:inline-block;

}



/* Table Styling */

.photoez-table th {

    background:#f8f8f8;

}



.photoez-delete-booking {

    background:#dc3232 !important;

    color:#fff !important;

    border:none;

}

/* Modal */

.photoez-modal-overlay {

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background:rgba(0,0,0,0.5);

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:9999;

}



.photoez-modal {

    background:#fff;

    width:400px;

    border-radius:8px;

    overflow:hidden;

    animation:fadeIn 0.2s ease;

}



.photoez-modal-header {

    padding:15px;

    border-bottom:1px solid #eee;

    display:flex;

    justify-content:space-between;

    align-items:center;

}



.photoez-modal-body {

    padding:20px;

}



.photoez-modal-footer {

    padding:15px;

    border-top:1px solid #eee;

    display:flex;

    justify-content:space-between;

}



.photoez-close {

    cursor:pointer;

    font-size:20px;

}



@keyframes fadeIn {

    from { opacity:0; transform:translateY(-10px); }

    to { opacity:1; transform:translateY(0); }

}

/* Fade Animation */

.photoez-fade {

    animation: photoezFade 0.25s ease;

}



@keyframes photoezFade {

    from { opacity:0; transform:translateY(5px); }

    to { opacity:1; transform:translateY(0); }

}



/* Modal smooth animation */

.photoez-modal {

    animation: photoezModalIn 0.2s ease;

}



@keyframes photoezModalIn {

    from { opacity:0; transform:scale(0.97); }

    to { opacity:1; transform:scale(1); }

}

/* Filters */

.photoez-filters {

    display:flex;

    gap:15px;

    margin-bottom:15px;

    align-items:center;

}



.photoez-filters select,

.photoez-filters input[type="text"] {

    padding:6px 8px;

    min-width:180px;

}

/* ================================

   Session Types – Collapsible Cards

================================ */



.photoez-session-collapse {

    transition: all 0.2s ease-in-out;

    overflow: hidden;

}



.photoez-session-collapse:nth-child(odd) {

    background: #ffffff;

}



.photoez-session-collapse:nth-child(even) {

    background: #f7f9fc;

}



.photoez-session-collapse:hover {

    box-shadow: 0 4px 12px rgba(0,0,0,0.08);

}



.photoez-session-toggle {

    border-bottom: 1px solid #e2e4e7;

    transition: background 0.2s ease;

}



.photoez-session-toggle:hover {

    background: #eef3f9;

}



.photoez-session-toggle strong {

    color: #1d2327;

}



.photoez-session-toggle .toggle-icon {

    transition: transform 0.2s ease;

}



.photoez-session-content {

    animation: photoezFade 0.2s ease-in-out;

}



@keyframes photoezFade {

    from { opacity: 0; transform: translateY(-4px); }

    to { opacity: 1; transform: translateY(0); }

}

/* ======================================

   Header-Only Alternating Colors

====================================== */



/* Keep entire card white */

.photoez-session-collapse {

    background: #ffffff !important;

}



/* Alternate header only */

.photoez-session-collapse:nth-of-type(odd) > .photoez-session-toggle {

    background-color: #e9f0ff !important;

}



.photoez-session-collapse:nth-of-type(even) > .photoez-session-toggle {

    background-color: #abc5fa !important;

}



/* Smooth hover */

.photoez-session-toggle:hover {

    filter: brightness(0.97);

    transition: all 0.2s ease;

}

.photoez-drag-handle:hover {

    color:#0073aa;

}

.photoez-session-toggle {

    cursor: pointer;

}



.photoez-drag-handle {

    cursor: move;

}

/* ===== Premium Availability Layout ===== */



.availability-row {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 8px 0;

    border-bottom: 1px solid #f0f0f0;

    flex-wrap: nowrap;

}



.day-label {

    width: 110px;

    font-weight: 600;

}



.availability-row span {

    font-size: 13px;

    color: #555;

    min-width: 45px;

}



.availability-row select {

    width: 130px;

}



.buffer-input {

    width: 60px;

}



.photographer-block {

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 2px 6px rgba(0,0,0,0.05);

}



.photographer-toggle {

    background: #f9fafb;

    transition: background 0.2s ease;

}



.photographer-toggle:hover {

    background: #f1f3f5;

}



.photographer-content {

    background: #fff;

}

/* ===== Availability Layout ===== */



.availability-row {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 8px 0;

    border-bottom: 1px solid #f0f0f0;

    flex-wrap: nowrap; /* prevents wrapping */

}



.day-label {

    width: 110px;

    font-weight: 600;

}



.availability-row span {

    font-size: 13px;

    color: #555;

}



.availability-row select {

    width: 130px;

}



.buffer-input {

    width: 60px;

}



.photographer-block {

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 2px 6px rgba(0,0,0,0.05);

}



.photographer-toggle {

    background: #f9fafb;

    transition: background 0.2s ease;

}



.photographer-toggle:hover {

    background: #f1f3f5;

}



.photoez-session-content {

    display: none;

    padding: 25px;

    background: #fff;

    border-top: 1px solid #eee;

}



.photoez-session-form label {

    font-weight: 600;

    display: block;

    margin-bottom: 5px;

}



.photoez-session-form input:not([type="checkbox"]):not([type="radio"]),

.photoez-session-form textarea {

    width: 100%;

    max-width: 100%;

    padding: 8px 10px;

    border: 1px solid #ccd0d4;

    border-radius: 6px;

}



.photoez-session-form input[type="checkbox"] {

    width: auto;

    max-width: none;

    padding: 0;

    margin: 0;

    flex: 0 0 auto;

}



.photoez-session-form label.photoez-checkbox-label {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    width: auto;

    margin-bottom: 0;

}



.photoez-session-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 20px;

    margin-bottom: 30px;

}



.photoez-session-grid p {

    margin: 0;

}



.photoez-session-collapse {

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 2px 8px rgba(0,0,0,0.05);

}



.photoez-session-toggle {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 16px 20px;

    background: #f8f9fb;

    cursor: pointer;

    min-height: 60px;

    border-bottom: 1px solid #eee;

}



.photoez-toggle-left {

    display: flex;

    align-items: center;

    gap: 12px;

}



.photoez-drag-handle {

    cursor: move;

}



.toggle-icon {

    transition: transform 0.2s ease;

}

.photoez-session-content h3 {

    margin-top: 0;

    margin-bottom: 15px;

}



.photoez-sortable {

    min-width: 250px;

    min-height: 120px;

    padding: 12px;

    border: 1px solid #ddd;

    border-radius: 8px;

    background: #fafafa;

    list-style: none;

}



.photoez-sortable li {

    background: #fff;

    border: 1px solid #e2e2e2;

    padding: 8px 10px;

    border-radius: 6px;

    margin-bottom: 8px;

    cursor: move;

}



.photoez-sortable li:hover {

    background: #f9f9f9;

}

.photoez-session-message {

    margin-top: 12px;

    padding: 8px 12px;

    border-radius: 6px;

    font-size: 13px;

}



.photoez-session-message.success {

    background: #e6f7ed;

    color: #1e7e34;

    border: 1px solid #b7ebc6;

}



.photoez-session-message.error {

    background: #fdecea;

    color: #a71d2a;

    border: 1px solid #f5c6cb;

}

/* ===============================

   PHOTOGRAPHERS LAYOUT RESTORE

=============================== */



.photographer-content {

    display: none;

    padding: 20px 25px;

    background: #fff;

    border-top: 1px solid #eee;

}



.photographer-form p {

    margin-bottom: 18px;

}



.photographer-form input[type="text"],

.photographer-form input[type="email"] {

    width: 100%;

    max-width: 400px;

    padding: 8px 10px;

    border: 1px solid #ccd0d4;

    border-radius: 6px;

}



.photographer-content h3 {

    margin-top: 10px;

    margin-bottom: 15px;

}



.availability-row {

    padding: 12px 10px;

    border-radius: 6px;

}



/* Alternating row colors */

.photographer-content .availability-row:nth-child(odd) {

    background: #ffffff;

}



.photographer-content .availability-row:nth-child(even) {

    background: #f8f9fb;

}

/* =====================================================

   PHOTOGRAPHERS FULL STYLING RESTORE

===================================================== */



.photographer-block {

    margin-bottom: 20px;

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 2px 8px rgba(0,0,0,0.05);

    background: #fff;

}



.photographer-toggle {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 16px 20px;

    background: #f8f9fb;

    cursor: pointer;

    border-bottom: 1px solid #eee;

    min-height: 60px;

}



.photographer-toggle:hover {

    background: #eef3f9;

}



.photographer-content {

    display: none;

    padding: 25px;

    background: #fff;

}



.photographer-form p {

    margin-bottom: 18px;

}



.photographer-form label {

    font-weight: 600;

}



.photographer-form input[type="text"],

.photographer-form input[type="email"] {

    width: 100%;

    max-width: 400px;

    padding: 8px 10px;

    border: 1px solid #ccd0d4;

    border-radius: 6px;

}



.photographer-content h3 {

    margin-top: 10px;

    margin-bottom: 15px;

}



.availability-wrapper {

    margin-top: 10px;

}



.availability-row {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 12px 14px;

    border-radius: 6px;

    border-bottom: 1px solid #f0f0f0;

}



.day-label {

    width: 110px;

    font-weight: 600;

}



.availability-row select {

    width: 130px;

}



.buffer-input {

    width: 70px;

}

/* ======================================

   Photographer Header Alternating Colors

====================================== */



.photographer-block {

    background: #ffffff; /* keep full card white */

}



.photographer-block:nth-of-type(odd) > .photographer-toggle {

    background-color: #b9cffd;

}



.photographer-block:nth-of-type(even) > .photographer-toggle {

    background-color: ebedf0;

}



.photographer-toggle:hover {

    filter: brightness(0.97);

    transition: all 0.2s ease;

}

#photoez-photographer-sortable {

    cursor: move;

}

.photographer-block {

    margin-bottom: 15px;

}