/* ============================================================
   GANNAM.LK - MAIN STYLESHEET - GREEN THEME
   ============================================================ */

:root {
    --primary: #1a7a4a;
    --primary-dark: #145f39;
    --primary-light: #e8f5ee;
    --gold: #f59e0b;
    --gold-dark: #d97706;
    --dark: #1a1a2e;
    --text: #374151;
    --border: #e5e7eb;
    --bg-light: #f9fafb;
}

* { box-sizing: border-box; }
body { font-family: 'Segoe UI', system-ui, sans-serif; color: var(--text); }

/* ===== HOVER EFFECTS ===== */
.hover-lift { transition: transform .2s ease, box-shadow .2s ease; }
.hover-lift:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.12) !important; }

/* ===== CATEGORY CARDS ===== */
.category-card:hover { background: var(--primary-light) !important; border-color: var(--primary) !important; }
.category-icon { line-height: 1; }

/* ===== AD CARDS ===== */
.ad-card { transition: transform .2s, box-shadow .2s; cursor: pointer; }
.ad-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.1) !important; }
.ad-card img { transition: transform .3s; }
.ad-card:hover img { transform: scale(1.05); }

/* ===== BUTTONS ===== */
.btn-warning { background: var(--gold); border-color: var(--gold); color: #000; }
.btn-warning:hover { background: var(--gold-dark); border-color: var(--gold-dark); color: #000; }
.btn-success, .btn-primary { background: var(--primary) !important; border-color: var(--primary) !important; }
.btn-success:hover, .btn-primary:hover { background: var(--primary-dark) !important; border-color: var(--primary-dark) !important; }

/* ===== HERO ===== */
.hero-section { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%) !important; }
.hero-search .input-group { box-shadow: 0 4px 24px rgba(0,0,0,.15); border-radius: 12px; overflow: hidden; }
.hero-search .form-control, .hero-search .form-select { border: none; font-size: 15px; }
.hero-search .form-control:focus, .hero-search .form-select:focus { box-shadow: none; }

/* ===== FORMS ===== */
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(26,122,74,.2); }

/* ===== PACKAGE CARDS ===== */
.package-option { transition: all .2s; }
.cursor-pointer { cursor: pointer; }

/* ===== FOOTER ===== */
footer a:hover { color: var(--gold) !important; }

/* ===== BADGES ===== */
.badge { font-weight: 500; }
.badge.bg-warning { background: var(--gold) !important; color: #000 !important; }

/* ===== IMAGE DROP ZONE ===== */
#imageDropZone { border: 2px dashed var(--border); transition: border-color .2s, background .2s; }
#imageDropZone:hover, #imageDropZone.dragover { border-color: var(--primary); background: var(--primary-light); }

/* ===== FORMS ===== */
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .2rem rgba(26,122,74,.2); }

/* ===== SEARCH AUTOCOMPLETE ===== */
#searchSuggestions { position: absolute; top: 100%; left: 0; right: 0; background: #fff;
    border: 1px solid var(--border); border-top: none; border-radius: 0 0 8px 8px;
    z-index: 1000; max-height: 300px; overflow-y: auto; box-shadow: 0 8px 16px rgba(0,0,0,.1); }
#searchSuggestions .suggestion-item { padding: 10px 15px; cursor: pointer; font-size: 14px; }
#searchSuggestions .suggestion-item:hover { background: var(--primary-light); }

/* ===== AD DETAIL PAGE ===== */
.ad-gallery-main { height: 400px; object-fit: cover; border-radius: 12px; width: 100%; }
.ad-gallery-thumb { height: 70px; object-fit: cover; cursor: pointer; border-radius: 6px; opacity: .7; transition: opacity .2s; }
.ad-gallery-thumb:hover, .ad-gallery-thumb.active { opacity: 1; border: 2px solid var(--primary); }

/* ===== STICKY CTA ===== */
.sticky-cta { position: sticky; top: 75px; }

/* ===== PAGINATION ===== */
.page-link { color: var(--primary); }
.page-item.active .page-link { background: var(--primary); border-color: var(--primary); color: #fff; }

/* ===== TEXT COLORS ===== */
.text-warning { color: var(--gold) !important; }
.text-success { color: var(--primary) !important; }
.bg-warning { background-color: var(--gold) !important; }

/* ===== RESPONSIVE ===== */
@media (max-width: 576px) {
    .ad-gallery-main { height: 250px; }
    .hero-section { padding: 2rem 0; }
    .display-5 { font-size: 1.6rem; }
}

/* ===== LOADING SPINNER ===== */
.spinner-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(255,255,255,.7); z-index: 9999; display: flex; align-items: center; justify-content: center; }

/* ===== TOOLTIP ===== */
[data-tooltip] { position: relative; cursor: help; }
[data-tooltip]::after { content: attr(data-tooltip); position: absolute; bottom: 100%; left: 50%;
    transform: translateX(-50%); background: #333; color: #fff; padding: 4px 8px;
    border-radius: 4px; font-size: 12px; white-space: nowrap; display: none; }
[data-tooltip]:hover::after { display: block; }
