@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--page:#f7f7f5;--surface:#fff;--text:#20211f;--muted:#777a75;--line:#e7e7e2;--accent:#d9f36a;--soft:#efefe9;--shadow:0 16px 50px rgba(22,24,18,.06)}
[data-bs-theme=dark]{--page:#141513;--surface:#1d1f1b;--text:#f2f3ed;--muted:#a1a59b;--line:#343630;--accent:#d9f36a;--soft:#282a25;--shadow:0 16px 50px rgba(0,0,0,.16);color-scheme:dark}
*{box-sizing:border-box}body{background:var(--page);color:var(--text);font-family:'DM Sans',sans-serif;transition:background .2s,color .2s}h1,h2,h3,.navbar-brand{font-family:Manrope,sans-serif;letter-spacing:-.045em}.gallery-nav{background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:100}.navbar-brand{font-size:1rem;letter-spacing:-.03em;color:var(--text)}.navbar-brand b{font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--accent);color:#1e2116;font-size:1.25rem}.theme-toggle{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--surface)}.theme-toggle:hover{background:var(--soft);color:var(--text)}.hero-section{overflow:hidden;position:relative;background:var(--accent);color:#20231a;min-height:480px}.hero-content{padding-top:83px;padding-bottom:56px;position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:10px;font-size:.68rem;font-weight:700;letter-spacing:.15em;color:inherit;opacity:.8}.eyebrow-line{width:25px;height:2px;background:currentColor;display:inline-block}.hero-section h1{font-size:clamp(3.4rem,7vw,6.4rem);line-height:.99;font-weight:800;margin:27px 0 20px;max-width:750px}.hero-section h1 span{color:#666c4c}.hero-copy{font-size:1.04rem;line-height:1.8;max-width:520px;color:#45483b}.hero-cta{margin-top:15px;background:#20231a!important;border-color:#20231a!important;color:white!important;font-size:.9rem}.hero-stats{display:flex;gap:20px;align-items:center;margin-top:45px}.hero-stats div:not(.stat-divider){display:flex;flex-direction:column;gap:1px}.hero-stats strong{font:800 1.55rem Manrope,sans-serif}.hero-stats span{font-size:.75rem;color:#555a47}.stat-divider{height:34px;width:1px;background:#aab77b}.hero-orbit{position:absolute;border:1px solid rgba(40,46,24,.14);border-radius:50%;pointer-events:none}.orbit-one{width:520px;height:520px;right:-20px;top:-130px}.orbit-two{width:380px;height:380px;right:50px;top:-60px}.gallery-main{padding-top:88px;padding-bottom:65px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-heading h2,.admin-welcome h1{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;margin:13px 0 8px}.section-heading h2 span,.admin-welcome h1 span{color:var(--muted)}.section-heading p,.admin-welcome p{color:var(--muted);margin:0}.gallery-tools{width:min(300px,100%)}.search-wrap{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 16px;height:45px;color:var(--muted)}.search-wrap input{border:0;outline:0;background:transparent;color:var(--text);width:100%;font:inherit;font-size:.85rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-card{border:1px solid var(--line);padding:0;text-align:left;border-radius:18px;overflow:hidden;background:var(--surface);color:var(--text);transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0}.gallery-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}.card-image-wrap{height:250px;display:block;position:relative;overflow:hidden;background:var(--soft)}.card-image-wrap img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover .card-image-wrap img{transform:scale(1.04)}.image-zoom{position:absolute;right:13px;top:13px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.9);color:#222;opacity:0;transform:translateY(4px);transition:.2s}.gallery-card:hover .image-zoom{opacity:1;transform:translateY(0)}.card-caption{display:flex;flex-direction:column;gap:8px;padding:19px 20px 22px}.card-kicker{font-size:.61rem;letter-spacing:.12em;font-weight:700;color:var(--muted)}.card-caption strong{font:700 1.08rem Manrope,sans-serif;letter-spacing:-.025em}.card-description{font-size:.85rem;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-state{text-align:center;padding:75px 20px;border:1px dashed var(--line);border-radius:20px}.empty-icon{width:70px;height:70px;margin:0 auto 20px;border-radius:23px;background:var(--soft);display:grid;place-items:center;font-size:1.7rem;color:var(--muted)}.empty-state h3{font-weight:800}.empty-state p{color:var(--muted);margin-bottom:0}.no-results{text-align:center;padding:50px;color:var(--muted)}.closing-banner{display:flex;align-items:center;gap:18px;background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:27px 30px;margin-top:65px}.closing-icon,.panel-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:15px;background:var(--accent);color:#20231a;font-size:1.3rem}.closing-banner h3{font-size:1.1rem;font-weight:800;margin:0 0 5px}.closing-banner p{font-size:.84rem;color:var(--muted);margin:0}.closing-banner .btn{font-size:.8rem}.site-footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:.78rem}.site-footer a{color:var(--text);text-decoration:none}.footer-dot{color:#a3b94d;margin:0 5px}.image-modal .modal-content{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:18px;overflow:hidden}.image-modal .modal-header{border-bottom:1px solid var(--line);padding:20px 24px}.image-modal .modal-body{padding:20px 24px 25px}.image-modal .modal-body img{width:100%;max-height:70vh;object-fit:contain;border-radius:10px;background:var(--soft)}.image-modal .modal-body p{color:var(--muted)}.admin-body{min-height:100vh}.login-container{min-height:calc(100vh - 130px);display:grid;place-items:center;padding-top:50px;padding-bottom:50px}.login-card{width:min(100%,440px);padding:42px;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);text-align:center}.login-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:var(--accent);color:#20231a;font-size:1.6rem;margin:0 auto 24px}.login-card .eyebrow{justify-content:center}.login-card h1{font-size:2rem;font-weight:800;margin:13px 0 8px}.login-card>p{font-size:.9rem;margin-bottom:28px}.form-label{font-size:.82rem;font-weight:700;color:var(--text)}.form-control{background:var(--page);border-color:var(--line);color:var(--text);border-radius:11px;font-size:.9rem}.form-control:focus{background:var(--surface);color:var(--text);border-color:#a5b94c;box-shadow:0 0 0 .2rem rgba(217,243,106,.2)}.btn-dark{background:#22251d;border-color:#22251d}.back-link{display:inline-block;margin-top:24px;color:var(--muted);font-size:.82rem;text-decoration:none}.back-link:hover{color:var(--text)}.admin-main{padding-top:55px;padding-bottom:70px}.admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:32px}.admin-welcome h1{margin-top:14px}.admin-count{display:flex;align-items:center;gap:13px;padding:17px 20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;white-space:nowrap}.admin-count>i{font-size:1.4rem;color:var(--muted)}.admin-count div{display:flex;flex-direction:column}.admin-count strong{font:800 1.5rem Manrope,sans-serif}.admin-count span{font-size:.75rem;color:var(--muted)}.admin-panel{height:100%;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;gap:13px;margin-bottom:25px}.panel-heading h2{font-size:1.12rem;font-weight:800;margin:0 0 4px}.panel-heading p{font-size:.8rem;color:var(--muted);margin:0}.upload-dropzone{position:relative;width:100%;min-height:200px;border:1.5px dashed #c9cbbf;border-radius:15px;background:var(--page);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;margin-bottom:24px;cursor:pointer;overflow:hidden;text-align:center;padding:18px;transition:.2s}.upload-dropzone:hover,.upload-dropzone.dragging{border-color:#9aaa48;background:var(--soft)}.upload-dropzone>i{font-size:2rem;color:var(--muted);margin-bottom:3px}.upload-dropzone strong{font-size:.9rem;max-width:100%;overflow-wrap:anywhere}.upload-dropzone span,.upload-dropzone small{font-size:.76rem;color:var(--muted)}.upload-dropzone img{width:100%;max-height:180px;object-fit:contain;border-radius:10px;margin-top:8px}.upload-dropzone.has-preview{min-height:160px}.admin-image-list{display:flex;flex-direction:column}.admin-image-item{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);min-width:0}.admin-image-item:first-child{padding-top:0}.admin-image-item:last-child{border-bottom:0;padding-bottom:0}.admin-image-item>img{width:84px;height:75px;object-fit:cover;border-radius:11px;background:var(--soft);flex-shrink:0}.admin-image-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.admin-image-info strong{font-size:.87rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-image-info span{font-size:.77rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-image-info small{font-size:.69rem;color:var(--muted);margin-top:2px}.delete-button{border-radius:10px}.admin-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;padding:65px 15px;color:var(--muted)}.admin-empty i{font-size:2rem}.admin-empty strong{color:var(--text);font-size:.9rem}.admin-empty span{font-size:.8rem}
@media(max-width:991px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-image-wrap{height:230px}.hero-orbit{right:-260px}.section-heading{align-items:start;flex-direction:column}.gallery-tools{width:100%}.admin-welcome{align-items:flex-start;flex-direction:column}.admin-count{width:100%}}
@media(max-width:575px){.hero-content{padding-top:60px;padding-bottom:45px}.hero-section h1{font-size:3.4rem}.hero-copy{font-size:.95rem}.gallery-main{padding-top:55px;padding-bottom:45px}.gallery-grid{grid-template-columns:1fr;gap:17px}.card-image-wrap{height:250px}.section-heading h2{font-size:2.3rem}.closing-banner{align-items:flex-start;flex-wrap:wrap;padding:22px}.closing-banner>div:nth-child(2){flex:1;min-width:180px}.closing-banner .btn{margin-left:0!important}.login-card{padding:30px 22px}.admin-panel{padding:19px}.admin-image-item{gap:10px}.admin-image-item>img{width:67px;height:67px}.admin-image-info strong{white-space:normal}.admin-image-info span{max-width:145px}.admin-welcome h1{font-size:2.6rem}.site-footer .container{flex-direction:column}.hero-orbit{display:none}}
