/* ================================================================
   GALERI FOTO — standalone CSS
   Warna mengikuti CSS variable tema dari head.php
   ================================================================ */

/* ─── BREADCRUMB ─────────────────────────────────────────────── */
.fot-bc-bar {
    background: #fff;
    border-bottom: 1px solid #e8ede9;
    padding: 10px 0;
}
.fot-bc {
    list-style: none; margin: 0; padding: 0;
    display: flex; align-items: center; gap: 6px;
    font-size: 13px; color: #7a9487;
}
.fot-bc li + li::before { content: '/'; margin-right: 6px; color: #b0c4ba; }
.fot-bc li a { color: var(--green-main); text-decoration: none; }
.fot-bc li a:hover { text-decoration: underline; }
.fot-bc li.active { color: #4a6358; }
.fot-bc li i { margin-right: 4px; }

/* ─── WRAPPER ────────────────────────────────────────────────── */
.fot-wrap {
    background: #f0f2f0;
    padding: 32px 0 52px;
    min-height: 60vh;
    overflow-x: hidden;
}

/* ─── HEADER BAR ─────────────────────────────────────────────── */
.fot-header-bar {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    padding: 16px 22px;
    margin-bottom: 24px;
    display: flex; align-items: center;
}
.fot-header-bar h2 {
    font-size: 16px; font-weight: 700; color: var(--green-dark);
    margin: 0; display: flex; align-items: center; gap: 10px;
}
.fot-header-bar h2::before {
    content: ''; display: block;
    width: 4px; height: 20px; border-radius: 2px;
    background: var(--green-main); flex-shrink: 0;
}
.fot-header-bar h2 i { color: var(--green-main); font-size: 18px; }

/* ─── FOTO GRID ──────────────────────────────────────────────── */
.fot-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 28px;
}

.fot-item {
    display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
    background: #c8d8cc;
    cursor: pointer;
    text-decoration: none;
}

.fot-item img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .4s ease;
}

/* Overlay hover — pakai --primary-rgb untuk transparansi */
.fot-overlay {
    position: absolute; inset: 0;
    background: rgba(var(--primary-rgb), .65);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 8px;
    opacity: 0;
    transition: opacity .3s ease;
}
.fot-overlay i {
    font-size: 28px; color: #fff;
    transform: scale(.7);
    transition: transform .3s ease;
}
.fot-overlay span {
    font-size: 12px; font-weight: 600; color: rgba(255,255,255,.9);
    text-align: center; padding: 0 12px;
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.fot-item:hover img { transform: scale(1.08); }
.fot-item:hover .fot-overlay { opacity: 1; }
.fot-item:hover .fot-overlay i { transform: scale(1); }

/* ─── EMPTY STATE ────────────────────────────────────────────── */
.fot-empty {
    text-align: center; padding: 60px 20px; color: #7a9487;
    background: #fff; border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.fot-empty i { font-size: 48px; display: block; margin-bottom: 14px; }
.fot-empty p { font-size: 15px; margin: 0; }

/* ─── PAGINATION ─────────────────────────────────────────────── */
.fot-pagination { display: flex; justify-content: center; padding-top: 8px; }
.fot-pagination .pagination {
    display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap;
}
.fot-pagination .pagination > li > a,
.fot-pagination .pagination > li > span {
    display: flex; align-items: center; justify-content: center;
    min-width: 36px; height: 36px; padding: 0 10px; border-radius: 8px;
    border: 1px solid #d0dbd4; font-size: 13px; font-weight: 600;
    color: #4a6358; background: #fff; text-decoration: none;
    transition: all .18s; float: none;
}
.fot-pagination .pagination > li > a:hover,
.fot-pagination .pagination > li.active > span {
    background: var(--green-main); color: #fff; border-color: var(--green-main);
}
.fot-pagination .pagination > li.disabled > span { opacity: .4; pointer-events: none; }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 991px) {
    .fot-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
}
@media (max-width: 767px) {
    .fot-wrap { padding: 20px 0 36px; }
    .fot-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}
@media (max-width: 400px) {
    .fot-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
}
