
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --r:#E84545; --o:#F29030; --y:#F5D63D; --g:#4CAF50; --b:#2196F3; --in:#9C27B0; --vi:#673AB7;
  --rainbow: linear-gradient(135deg,#E84545,#F29030,#F5D63D,#4CAF50,#2196F3,#9C27B0);
  --rainbow2: linear-gradient(90deg,#E84545,#F29030,#F5D63D,#4CAF50,#2196F3,#9C27B0);
  --dark:#0D0B0E; --dark2:#151218; --dark3:#1C1820; --dark4:#221E28;
  --cream:#F8F4EE; --muted:rgba(248,244,238,.55); --faded:rgba(248,244,238,.25);
  --gold:#C9A96E; --gold2:#E8D5B0;
  --serif:'Playfair Display',serif;
  --thin:'Cormorant Garamond',serif;
  --body:'DM Sans',sans-serif;
}

html { scroll-behavior: smooth; }
body { font-family: var(--body); background: var(--dark); color: var(--cream); overflow-x: hidden; }

.rainbow-bar { height: 3px; background: var(--rainbow2); width: 100%; }

nav {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;
  padding: 1rem 3rem; display: flex; justify-content: space-between;
  align-items: center; transition: all .4s;
}
nav.scrolled { background: rgba(13,11,14,.95); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(201,169,110,.12); }
nav.scrolled .rainbow-line { opacity: 1; }
.rainbow-line { position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: var(--rainbow2); opacity: 0; transition: opacity .4s; }
.nav-logo { display: flex; align-items: center; gap: .8rem; cursor: pointer; }
.nav-logo img { height: 48px; width: auto; }
.nav-logo-text { font-family: var(--serif); font-size: 1.4rem; color: var(--cream); letter-spacing: .03em; }
.nav-logo-text span { font-style: italic; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
nav ul { list-style: none; display: flex; gap: 2.5rem; }
nav ul a { color: rgba(248,244,238,.7); text-decoration: none; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; transition: color .3s; cursor: pointer; }
nav ul a:hover { color: var(--cream); }
.nav-btns { display: flex; gap: .8rem; }
.btn-nav-portal { background: transparent; border: 1px solid rgba(248,244,238,.2); color: var(--cream); padding: .5rem 1.2rem; border-radius: 3px; cursor: pointer; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; transition: all .3s; font-family: var(--body); }
.btn-nav-portal:hover { border-color: rgba(248,244,238,.5); background: rgba(248,244,238,.05); }
.btn-nav-admin { background: var(--rainbow); color: #fff; padding: .5rem 1.2rem; border-radius: 3px; cursor: pointer; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; border: none; font-weight: 500; font-family: var(--body); transition: opacity .3s; }
.btn-nav-admin:hover { opacity: .85; }

#hero { height: 100vh; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; background: linear-gradient(135deg,rgba(13,11,14,.75) 0%,rgba(13,11,14,.35) 50%,rgba(13,11,14,.85) 100%), url('https://images.unsplash.com/photo-1519741497674-611481863552?w=1920&q=85') center/cover no-repeat; animation: heroShift 20s ease-in-out infinite alternate; }
@keyframes heroShift { 0% { background-position: 50% 50%; } 100% { background-position: 55% 45%; } }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(13,11,14,0) 50%, rgba(13,11,14,1) 100%); }
.hero-content { position: relative; text-align: center; max-width: 950px; padding: 2rem; animation: heroIn 1.2s ease-out both; }
@keyframes heroIn { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.hero-logo { margin-bottom: 2.5rem; display: flex; justify-content: center; }
.hero-logo img { height: 130px; width: auto; }
.hero-tag { font-family: var(--thin); font-size: 1rem; letter-spacing: .5em; text-transform: uppercase; margin-bottom: 1.5rem; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 500; }
h1 { font-family: var(--serif); font-size: clamp(2.8rem,6.5vw,5.5rem); line-height: 1.07; font-weight: 400; margin-bottom: 1.5rem; letter-spacing: -.01em; }
h1 em { font-style: italic; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.hero-sub { font-family: var(--thin); font-size: 1.15rem; color: var(--muted); letter-spacing: .05em; margin-bottom: 3rem; font-style: italic; }
.hero-btns { display: flex; gap: 1.2rem; justify-content: center; flex-wrap: wrap; }
.btn-primary { background: var(--rainbow); color: #fff; padding: .9rem 2.5rem; border: none; border-radius: 3px; font-size: .82rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; font-weight: 500; transition: opacity .3s, transform .3s; font-family: var(--body); }
.btn-primary:hover { opacity: .88; transform: translateY(-2px); }
.btn-ghost { background: transparent; color: var(--cream); padding: .9rem 2.5rem; border: 1px solid rgba(248,244,238,.25); border-radius: 3px; font-size: .82rem; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; transition: all .3s; font-family: var(--body); }
.btn-ghost:hover { border-color: rgba(248,244,238,.6); background: rgba(248,244,238,.04); }
.scroll-hint { position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: .5rem; opacity: .4; }
.scroll-hint span { font-size: .65rem; letter-spacing: .25em; text-transform: uppercase; }
.scroll-line { width: 1px; height: 50px; background: linear-gradient(to bottom, var(--gold), transparent); animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity: 0; transform: scaleY(0); transform-origin: top; } 50% { opacity: 1; transform: scaleY(1); } }

section { padding: 6rem 4rem; }
.s-tag { font-family: var(--thin); font-size: .82rem; letter-spacing: .45em; text-transform: uppercase; margin-bottom: .8rem; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 500; }
h2 { font-family: var(--serif); font-size: clamp(2rem,3.5vw,3rem); font-weight: 400; line-height: 1.18; margin-bottom: 1.2rem; }
h2 em { font-style: italic; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.divider { width: 50px; height: 2px; background: var(--rainbow2); margin: 1.5rem 0; border-radius: 2px; }

#services { background: var(--dark2); position: relative; overflow: hidden; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 1px; margin-top: 3.5rem; }
.service-card { background: var(--dark3); padding: 2.5rem 2rem; position: relative; overflow: hidden; transition: background .4s; }
.service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--rainbow2); transform: scaleX(0); transform-origin: left; transition: transform .5s ease; }
.service-card:hover::before { transform: scaleX(1); }
.service-card:hover { background: rgba(201,169,110,.03); }
.svc-icon { font-size: 2.2rem; margin-bottom: 1.2rem; display: block; }
.service-card h3 { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; margin-bottom: .8rem; color: var(--cream); }
.service-card p { font-family: var(--thin); font-size: 1rem; line-height: 1.85; color: var(--muted); }

#gallery-preview { background: var(--dark); padding: 0; }
.gallery-mosaic {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 620px;
  gap: 2px;
  background: var(--dark);
}
.g-item {
  overflow: hidden;
  position: relative;
  cursor: pointer;
  background: #09070a;
}
.g-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  transition: transform .8s ease, filter .6s;
  filter: brightness(.9) saturate(.96);
}
.g-item:hover img { transform: scale(1.045); filter: brightness(1) saturate(1.04); }
.g-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,11,14,.58), rgba(13,11,14,.08), transparent); opacity: .35; transition: opacity .4s; z-index: 3; }
.g-item:hover .g-overlay { opacity: .75; }
.g-label { position: absolute; bottom: 1.2rem; left: 1.5rem; right: 1.5rem; z-index: 4; font-family: var(--thin); font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; color: var(--cream); opacity: 0; transform: translateY(5px); transition: all .4s; text-shadow: 0 2px 14px rgba(0,0,0,.55); }
.g-item:hover .g-label { opacity: 1; transform: translateY(0); }
.g-rainbow-line { height: 3px; background: var(--rainbow2); }

#about { background: var(--dark2); display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.about-img { position: relative; }
.about-img img { width: 100%; height: 550px; object-fit: cover; object-position: center top; }
.about-img::before { content: ''; position: absolute; inset: -3px; background: var(--rainbow); z-index: -1; border-radius: 2px; }
.about-img::after { content: ''; position: absolute; bottom: -25px; right: -25px; width: 55%; height: 55%; border: 1px solid rgba(201,169,110,.2); z-index: -2; }
.about-body p { font-family: var(--thin); font-size: 1.05rem; line-height: 1.95; color: var(--muted); margin-bottom: 1.2rem; }
.about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2.5rem; border-top: 1px solid rgba(201,169,110,.15); padding-top: 2rem; }
.stat-num { font-family: var(--serif); font-size: 2.2rem; display: block; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.stat-lbl { font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; color: var(--faded); margin-top: .25rem; display: block; }

#booking { background: var(--dark3); }
.booking-wrap { max-width: 680px; margin: 0 auto; text-align: center; }
.booking-wrap > p { font-family: var(--thin); color: var(--muted); font-style: italic; font-size: 1.05rem; margin-bottom: 2.5rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; text-align: left; }
.fg { display: flex; flex-direction: column; gap: .4rem; }
.fg.full { grid-column: 1/-1; }
.fg label { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.fg input, .fg select, .fg textarea { background: rgba(248,244,238,.04); border: 1px solid rgba(248,244,238,.1); color: var(--cream); padding: .8rem 1rem; font-family: var(--body); font-size: .88rem; border-radius: 3px; outline: none; transition: border-color .3s; width: 100%; }
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color: rgba(201,169,110,.4); }
.fg select option { background: var(--dark3); }
.fg textarea { resize: vertical; min-height: 110px; }
.form-note { font-size: .78rem; color: var(--faded); text-align: center; margin-top: 1rem; font-family: var(--thin); }
.form-success { display: none; background: rgba(76,175,80,.08); border: 1px solid rgba(76,175,80,.25); padding: 1.5rem; border-radius: 3px; text-align: center; font-family: var(--thin); color: #81C784; font-size: 1.05rem; margin-top: 1rem; }

footer { background: var(--dark2); border-top: 1px solid rgba(201,169,110,.1); padding: 4rem; text-align: center; }
.footer-inner { max-width: 700px; margin: 0 auto; }
.footer-logo { display: flex; align-items: center; justify-content: center; gap: .8rem; margin-bottom: 1rem; font-family: var(--serif); font-size: 1.5rem; }
.footer-logo img { height: 50px; }
.footer-logo .gr { font-style: italic; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.footer-tagline { font-family: var(--thin); color: var(--faded); font-style: italic; margin-bottom: 2rem; }
.footer-links { display: flex; gap: 2rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2rem; }
.footer-links a { color: var(--faded); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: color .3s; }
.footer-links a:hover { color: var(--cream); }
.footer-copy { font-size: .72rem; color: rgba(248,244,238,.2); letter-spacing: .08em; }

#client-portal { display: none; min-height: 100vh; align-items: center; justify-content: center; flex-direction: column; padding: 4rem 2rem; background: var(--dark); }
#client-portal.active { display: flex; }
.portal-card { background: var(--dark2); border: 1px solid rgba(248,244,238,.08); padding: 3rem 2.5rem; max-width: 460px; width: 100%; text-align: center; position: relative; border-radius: 4px; }
.portal-card::before { content: ''; position: absolute; top: -2px; left: 0; width: 100%; height: 2px; background: var(--rainbow2); border-radius: 4px 4px 0 0; }
.portal-logo { margin-bottom: 1.5rem; }
.portal-logo img { height: 80px; width: auto; }
.portal-card h2 { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; margin-bottom: .4rem; }
.portal-card > p { font-family: var(--thin); color: var(--muted); font-style: italic; margin-bottom: 1.8rem; }
.code-row { display: flex; gap: 0; }
.code-row input { flex: 1; background: rgba(248,244,238,.05); border: 1px solid rgba(248,244,238,.12); border-right: none; color: var(--cream); padding: 1rem 1.2rem; font-size: 1rem; font-family: monospace; letter-spacing: .25em; text-align: center; text-transform: uppercase; border-radius: 3px 0 0 3px; outline: none; transition: border-color .3s; }
.code-row input:focus { border-color: rgba(201,169,110,.4); }
.code-row button { background: var(--rainbow); color: #fff; border: none; padding: 1rem 1.5rem; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; border-radius: 0 3px 3px 0; font-weight: 500; font-family: var(--body); white-space: nowrap; }
.code-err { color: #EF9A9A; font-size: .82rem; margin-top: .7rem; display: none; font-family: var(--thin); }
.sep { display: flex; align-items: center; gap: 1rem; margin: 1.5rem 0; color: var(--faded); font-size: .75rem; }
.sep::before, .sep::after { content: ''; flex: 1; height: 1px; background: rgba(248,244,238,.08); }

#album-view { display: none; min-height: 100vh; padding: 9rem 3.5rem 3rem; background: var(--dark); }
#album-view.active { display: block; }
.av-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(248,244,238,.08); }
.av-title { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.av-meta { font-family: var(--thin); font-size: .88rem; color: var(--muted); margin-top: .25rem; font-style: italic; }
.photos-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); gap: 3px; }
.pi { aspect-ratio: 1; overflow: hidden; cursor: pointer; position: relative; }
.pi img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s, filter .4s; filter: brightness(.9); }
.pi:hover img { transform: scale(1.06); filter: brightness(1); }
.vi { grid-column: span 2; aspect-ratio: 16/9; overflow: hidden; cursor: pointer; position: relative; background: var(--dark3); display: flex; align-items: center; justify-content: center; }
.vi video { width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.vplay { position: absolute; width: 52px; height: 52px; background: var(--rainbow); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: #fff; }

.lightbox { display: none; position: fixed; inset: 0; background: rgba(10,8,12,.97); z-index: 9999; align-items: center; justify-content: center; }
.lightbox.on { display: flex; }
.lb-close { position: absolute; top: 1.5rem; right: 1.5rem; color: var(--cream); cursor: pointer; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(248,244,238,.15); border-radius: 50%; transition: all .3s; background: rgba(13,11,14,.5); font-size: 1.2rem; }
.lb-close:hover { background: var(--rainbow); border-color: transparent; }
.lb-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(248,244,238,.15); border-radius: 50%; cursor: pointer; font-size: 1.3rem; color: var(--cream); background: rgba(13,11,14,.5); transition: all .3s; }
.lb-nav:hover { background: var(--rainbow); border-color: transparent; }
.lb-prev { left: 1.5rem; } .lb-next { right: 1.5rem; }
#lbContent img, #lbContent video { max-width: 90vw; max-height: 90vh; object-fit: contain; }

#admin-login-screen { display: none; position: fixed; inset: 0; background: rgba(13,11,14,.97); z-index: 5000; align-items: center; justify-content: center; padding: 2rem; }
#admin-login-screen.active { display: flex; }
#admin-panel { display: none; min-height: 100vh; background: var(--dark); }
#admin-panel.active { display: block; }
.a-sidebar { position: fixed; left: 0; top: 0; width: 250px; height: 100%; background: var(--dark2); border-right: 1px solid rgba(248,244,238,.06); padding: 2rem 1.5rem; z-index: 100; display: flex; flex-direction: column; }
.a-sidebar-logo { margin-bottom: 2rem; }
.a-sidebar-logo img { height: 55px; width: auto; }
.a-nav { list-style: none; display: flex; flex-direction: column; gap: .2rem; flex: 1; }
.a-nav li a { display: flex; align-items: center; gap: .7rem; padding: .65rem .9rem; color: rgba(248,244,238,.45); text-decoration: none; font-size: .82rem; border-radius: 3px; transition: all .3s; cursor: pointer; letter-spacing: .04em; }
.a-nav li a:hover, .a-nav li a.active { background: rgba(248,244,238,.06); color: var(--cream); }
.a-nav li a.active { background: rgba(201,169,110,.08); color: var(--gold); }
.a-content { margin-left: 250px; padding: 2.5rem; }
.a-head { margin-bottom: 2rem; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(248,244,238,.07); }
.a-head h2 { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.a-head p { color: var(--faded); font-family: var(--thin); font-size: .88rem; margin-top: .2rem; font-style: italic; }
.a-section { display: none; }
.a-section.on { display: block; }
.stats-g { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 1rem; margin-bottom: 2.5rem; }
.st-card { background: var(--dark2); border: 1px solid rgba(248,244,238,.07); padding: 1.3rem; border-radius: 3px; position: relative; overflow: hidden; }
.st-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: var(--rainbow2); }
.st-card .n { font-family: var(--serif); font-size: 1.9rem; background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.st-card .l { font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: var(--faded); margin-top: .2rem; }
.card { background: var(--dark2); border: 1px solid rgba(248,244,238,.07); border-radius: 3px; padding: 1.3rem; margin-bottom: .8rem; }
.card h3 { font-family: var(--serif); font-size: 1rem; margin-bottom: .25rem; font-weight: 400; }
.c-meta { font-size: .78rem; color: var(--faded); margin-bottom: .8rem; font-family: var(--thin); }
.c-actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.btn-sm { padding: .4rem .9rem; border-radius: 3px; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; font-family: var(--body); border: 1px solid rgba(248,244,238,.15); background: transparent; color: rgba(248,244,238,.6); transition: all .3s; }
.btn-sm:hover { border-color: rgba(248,244,238,.4); color: var(--cream); }
.btn-sm.danger { border-color: rgba(226,75,74,.25); color: #EF9A9A; }
.btn-sm.danger:hover { background: rgba(226,75,74,.1); }
.btn-rainbow { background: var(--rainbow); color: #fff; border: none; padding: .6rem 1.4rem; border-radius: 3px; cursor: pointer; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; font-family: var(--body); font-weight: 500; transition: opacity .3s; }
.btn-rainbow:hover { opacity: .85; }
.upload-zone { border: 2px dashed rgba(248,244,238,.12); border-radius: 4px; padding: 3.5rem 2rem; text-align: center; cursor: pointer; transition: all .3s; position: relative; margin-top: 1.5rem; }
.upload-zone:hover, .upload-zone.drag { border-color: rgba(201,169,110,.4); background: rgba(201,169,110,.02); }
.upload-zone input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.uz-icon { font-size: 2.5rem; opacity: .3; margin-bottom: .8rem; }
.thumbs-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(100px,1fr)); gap: 6px; margin-top: 1.2rem; }
.thumb-preview { aspect-ratio: 1; overflow: hidden; border-radius: 3px; background: var(--dark3); }
.thumb-preview img { width: 100%; height: 100%; object-fit: cover; }
.upload-count-preview {
  grid-column: 1 / -1;
  border: 1px dashed rgba(248,244,238,.16);
  background: rgba(248,244,238,.035);
  color: var(--muted);
  padding: 1rem;
  border-radius: 6px;
  font-family: var(--thin);
  letter-spacing: .04em;
  text-align: center;
}

.code-pill { background: rgba(201,169,110,.12); border: 1px solid rgba(201,169,110,.25); color: var(--gold); font-family: monospace; font-size: .82rem; letter-spacing: .15em; padding: .2rem .7rem; border-radius: 3px; }
.req-card { background: var(--dark2); border: 1px solid rgba(248,244,238,.07); border-radius: 3px; padding: 1.2rem; margin-bottom: .8rem; }
.req-card.new { border-left: 3px solid #4CAF50; }
.req-card.done { border-left: 3px solid rgba(248,244,238,.1); opacity: .65; }
.req-details { font-size: .84rem; color: var(--muted); font-family: var(--thin); line-height: 1.8; margin-bottom: .8rem; }
.badge { font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; padding: .2rem .6rem; border-radius: 20px; }
.badge-new { background: rgba(76,175,80,.15); color: #81C784; border: 1px solid rgba(76,175,80,.25); }
.badge-done { background: rgba(248,244,238,.06); color: var(--faded); border: 1px solid rgba(248,244,238,.1); }

.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(10,8,12,.85); z-index: 8000; align-items: center; justify-content: center; }
.modal-overlay.on { display: flex; }
.modal-box { background: var(--dark2); border: 1px solid rgba(248,244,238,.1); padding: 2rem; max-width: 420px; width: 100%; border-radius: 4px; }
.modal-box h3 { font-family: var(--serif); font-size: 1.3rem; font-weight: 400; margin-bottom: .8rem; }
.modal-box p { font-family: var(--thin); color: var(--muted); font-size: .95rem; }

#toast { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%) translateY(20px); background: var(--dark4); border: 1px solid rgba(248,244,238,.1); color: var(--cream); padding: .8rem 1.8rem; border-radius: 3px; font-size: .82rem; letter-spacing: .04em; opacity: 0; transition: all .35s; z-index: 99999; white-space: nowrap; pointer-events: none; }
#toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 900px) {
  nav { padding: 1rem 1.5rem; }
  nav ul { display: none; }
  section { padding: 4rem 2rem; }
  #about { grid-template-columns: 1fr; gap: 2.5rem; }
  .gallery-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 320px; }
  .g-item img { object-position: center 30%; }
  .a-sidebar { display: none; }
  .a-content { margin-left: 0; padding: 1.5rem; }
  .form-grid { grid-template-columns: 1fr; }
  .fg.full { grid-column: 1; }
  .about-stats { grid-template-columns: 1fr 1fr; }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .stats-g { grid-template-columns: 1fr 1fr; }
  .av-header { flex-direction: column; align-items: flex-start; gap: 1rem; }
}

@media (max-width: 600px) {
  
  nav { padding: .8rem 1.2rem; }
  .nav-logo img { height: 36px; }
  .nav-logo-text { font-size: 1.1rem; }
  .btn-nav-portal { display: none; }
  .btn-nav-admin { padding: .4rem .9rem; font-size: .7rem; }

  
  #hero { height: 100svh; }
  .hero-logo img { height: 85px; }
  .hero-content { padding: 1.2rem; }
  h1 { font-size: 2.2rem; }
  .hero-sub { font-size: .9rem; margin-bottom: 2rem; }
  .hero-btns { flex-direction: column; gap: .8rem; align-items: center; }
  .btn-primary, .btn-ghost { width: 100%; max-width: 280px; text-align: center; justify-content: center; padding: .85rem 1.5rem; }

  
  section { padding: 3.5rem 1.3rem; }
  h2 { font-size: 1.75rem; }

  
#services {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

#services .divider {
  margin: 1rem 0;
}

.services-grid {
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 2rem;
}

.service-card {
  padding: 1.15rem 1.15rem;
  border-radius: 12px;
}

.svc-icon {
  font-size: 1.45rem;
  margin-bottom: .55rem;
}

.service-card h3 {
  font-size: 1.08rem;
  margin-bottom: .35rem;
}

.service-card p {
  font-size: .88rem;
  line-height: 1.55;
}
  
  .gallery-mosaic { grid-template-columns: 1fr; grid-template-rows: auto; }
  .g-item, .g-item:first-child, .g-item:nth-child(2), .g-item:nth-child(3) {
    grid-column: auto; grid-row: auto; height: 260px; aspect-ratio: 4 / 3;
  }
  .g-item img { object-position: center 28%; }

  
  #about { padding: 3rem 1.3rem; }
  .about-img img { height: 280px; }
  .about-stats { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .stat-num { font-size: 1.7rem; }

  
  .booking-wrap { padding: 0; }

  
  footer { padding: 3rem 1.3rem; }
  .footer-links { gap: 1rem; }

  
  .portal-card { padding: 2rem 1.3rem; margin: 1rem; }
  .portal-card h2 { font-size: 1.5rem; }

  
  #album-view { padding: 5rem 1rem 2rem; }
  .av-header { padding-bottom: 1rem; gap: .8rem; }
  .av-title { font-size: 1.3rem; }
  .av-header > div:last-child { flex-wrap: wrap; gap: .5rem; }
  .photos-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 2px; }

  
  .a-content { padding: 1rem; margin-top: 0; }
  .a-head h2 { font-size: 1.3rem; }
  .stats-g { grid-template-columns: 1fr 1fr; }
  .st-card .n { font-size: 1.5rem; }
  .card { padding: 1rem; }
  .c-actions { flex-wrap: wrap; }
  #s-upload { padding: 0; }
  .thumbs-grid { grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); }

  
  .mobile-menu-btn { display: flex !important; }
  nav ul { display: none !important; }

  
  .modal-box { margin: 1rem; padding: 1.5rem; }

  
  #admin-login-screen { padding: 1rem; }
}

.mobile-menu-btn {
  display: none !important;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: .4rem;
  background: none;
  border: none;
  z-index: 1001;
}
.mobile-menu-btn span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--cream);
  border-radius: 2px;
  transition: all .3s;
}
.mobile-menu-btn.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.mobile-menu-btn.open span:nth-child(2) { opacity: 0; }
.mobile-menu-btn.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
.menu-overlay { display: none !important; position: fixed; inset: 0; background: rgba(13,11,14,.98); z-index: 998; flex-direction: column; align-items: center; justify-content: center; gap: 2.5rem; }
@media (max-width: 600px) { .menu-overlay.open { display: flex !important; } }
.menu-overlay a { font-family: var(--serif); font-size: 1.5rem; color: var(--cream); text-decoration: none; cursor: pointer; letter-spacing: .05em; }
.menu-overlay a:hover { background: var(--rainbow); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.menu-overlay .menu-btns { display: flex; flex-direction: column; gap: .8rem; width: 100%; max-width: 260px; margin-top: 1rem; }

@media (max-width: 600px) {
  .a-sidebar { display: none !important; }
  .a-content { margin-left: 0 !important; padding: 1rem !important; padding-bottom: 80px !important; }
  
  
  .a-bottom-nav {
    display: flex !important;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: var(--dark2);
    border-top: 1px solid rgba(248,244,238,.08);
    z-index: 200;
    padding: .4rem 0;
  }
  .a-bottom-nav a {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2rem;
    padding: .4rem .2rem;
    color: rgba(248,244,238,.4);
    font-size: .55rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    font-family: var(--body);
    transition: color .2s;
    text-decoration: none;
  }
  .a-bottom-nav a .bn-icon { font-size: 1.1rem; }
  .a-bottom-nav a.active { color: var(--gold); }
  .a-bottom-nav a:hover { color: var(--cream); }

  
  .upload-zone { padding: 2rem 1rem; }
  .uz-icon { font-size: 1.8rem; }

  
  .stats-g { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .st-card { padding: 1rem; }
  .st-card .n { font-size: 1.5rem; }

  
  .card { padding: 1rem; }
  .c-actions { gap: .4rem; }
  .btn-sm { padding: .35rem .7rem; font-size: .68rem; }

  
  #s-upload > div { grid-template-columns: 1fr !important; }
  .code-row input { letter-spacing: .1em; font-size: .85rem; }
}

@media (min-width: 601px) {
  .a-bottom-nav { display: none !important; }
}

@media (max-width: 600px) {
  nav {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: .5rem;
    padding: .7rem 1rem;
  }
  .nav-logo { grid-column: 1; }
  nav ul { display: none !important; }
  .nav-btns {
    grid-column: 3;
    display: flex;
    gap: .4rem;
  }
  .btn-nav-portal {
    padding: .4rem .7rem;
    font-size: .6rem;
    letter-spacing: .06em;
    white-space: nowrap;
  }
  .btn-nav-admin {
    padding: .4rem .7rem;
    font-size: .6rem;
    letter-spacing: .06em;
  }
  .mobile-menu-btn {
    grid-column: 4;
    display: flex !important;
  }
  .rainbow-line { display: none; }
}

@media (max-width: 900px) {
  #gallery-preview {
    padding: 3.5rem 1.5rem;
  }

  .gallery-mosaic {
    width: min(100%, 760px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 14px;
    background: transparent;
  }

  .g-item,
  .g-item:first-child,
  .g-item:nth-child(2),
  .g-item:nth-child(3) {
    grid-column: auto !important;
    grid-row: auto !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
    overflow: hidden;
    background: #09070a;
  }

  .g-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
  }

  .g-overlay {
    opacity: .55;
  }

  .g-label {
    opacity: 1;
    transform: none;
    bottom: .9rem;
    left: 1rem;
    right: 1rem;
    font-size: .72rem;
    line-height: 1.35;
  }
}

@media (max-width: 600px) {
  #gallery-preview {
    padding: 3rem 1rem;
  }

  .gallery-mosaic {
    width: 100%;
    max-width: 430px;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .g-item,
  .g-item:first-child,
  .g-item:nth-child(2),
  .g-item:nth-child(3) {
    aspect-ratio: 16 / 11;
    min-height: 215px;
    max-height: 285px;
    box-shadow: 0 10px 28px rgba(0,0,0,.28);
  }

  .g-item img {
    object-fit: cover;
    object-position: center 26%;
  }
}

@media (max-width: 500px) {
  .g-item,
  .g-item:first-child,
  .g-item:nth-child(2),
  .g-item:nth-child(3) {
    min-height: 195px;
  }
}

.nav-socials {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-left: .8rem;
  margin-right: .35rem;
}
.nav-social,
.menu-socials .nav-social {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(248,244,238,.12);
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.nav-social svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}
.nav-social:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}
.nav-social.facebook { background: #1877F2; }
.nav-social.instagram { background: linear-gradient(135deg,#833AB4,#E1306C,#F77737); }
.nav-social.viber { background: #7360F2; }
.nav-social.facebook:hover { box-shadow: 0 10px 25px rgba(24,119,242,.35); }
.nav-social.instagram:hover { box-shadow: 0 10px 25px rgba(225,48,108,.35); }
.nav-social.viber:hover { box-shadow: 0 10px 25px rgba(115,96,242,.35); }
.menu-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
}
.menu-socials .nav-social {
  width: 46px;
  height: 46px;
}
.menu-socials .nav-social svg {
  width: 22px;
  height: 22px;
}

#location-map {
  background: var(--dark);
  padding: 5.5rem 4rem;
}
.map-wrap {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr);
  gap: 3rem;
  align-items: center;
}
.map-copy p {
  font-family: var(--thin);
  font-size: 1.08rem;
  color: var(--muted);
  line-height: 1.8;
  margin-bottom: 1.4rem;
}
.map-directions {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rainbow);
  color: #fff;
  text-decoration: none;
  padding: .85rem 1.4rem;
  border-radius: 4px;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: transform .25s ease, opacity .25s ease;
}
.map-directions:hover {
  transform: translateY(-2px);
  opacity: .9;
}
.map-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  min-height: 420px;
  background: var(--dark2);
  border: 1px solid rgba(248,244,238,.08);
  box-shadow: 0 22px 55px rgba(0,0,0,.35);
}
.map-card::before {
  content: '';
  position: absolute;
  inset: -2px;
  background: var(--rainbow2);
  opacity: .45;
  z-index: 0;
}
.map-card iframe {
  position: absolute;
  inset: 3px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border: 0;
  border-radius: 13px;
  z-index: 1;
  filter: saturate(.95) contrast(.98);
}

@media (max-width: 1120px) {
  nav { padding-left: 1.6rem; padding-right: 1.6rem; }
  nav ul { gap: 1.25rem; }
  .nav-btns { gap: .5rem; }
  .btn-nav-portal, .btn-nav-admin { padding: .5rem .9rem; }
}

@media (max-width: 900px) {
  .nav-socials { margin-left: 0; margin-right: .2rem; }
  #location-map { padding: 4rem 2rem; }
  .map-wrap {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .map-card { min-height: 360px; }
}

@media (max-width: 600px) {
  .nav-socials { display: none; }
  .menu-overlay { gap: 1.75rem; padding: 2rem; }
  #location-map { padding: 3.2rem 1.2rem; }
  .map-wrap { gap: 1.5rem; }
  .map-copy { text-align: left; }
  .map-card {
    min-height: 320px;
    border-radius: 13px;
  }
  .map-card iframe { border-radius: 10px; }
  .map-directions {
    width: 100%;
    padding: .95rem 1rem;
  }
}

@media (min-width: 901px) {
  nav {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    column-gap: 1rem;
    justify-content: initial;
  }

  .nav-logo {
    grid-column: 1;
    justify-self: start;
  }

  nav > ul {
    grid-column: 2;
    justify-self: center;
    align-items: center;
  }

  .nav-socials {
    grid-column: 3;
    justify-self: end;
    margin-left: 0;
    margin-right: .25rem;
  }

  .nav-btns {
    grid-column: 4;
    justify-self: end;
  }

  .mobile-menu-btn {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .nav-socials {
    display: none !important;
  }
}

@media (min-width: 901px) {
  nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .nav-logo {
    flex: 0 0 auto;
    position: relative;
    z-index: 3;
  }

  nav > ul {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2.5rem;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2;
  }

  .nav-socials {
    margin-left: auto !important;
    margin-right: .75rem !important;
    position: relative;
    z-index: 3;
  }

  .nav-btns {
    flex: 0 0 auto;
    position: relative;
    z-index: 3;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  nav > ul {
    gap: 1.25rem !important;
  }
}

#album-view .photos-grid {
  display: block !important;
  columns: 4 230px;
  column-gap: 10px;
}

#album-view .album-media-card,
#album-view .pi,
#album-view .vi {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  break-inside: avoid;
  margin: 0 0 10px;
  overflow: hidden;
  border-radius: 10px;
  background: var(--dark3);
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

#album-view .pi img,
#album-view .vi video {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: brightness(.92);
  transition: transform .35s, filter .35s;
}

#album-view .vi video {
  aspect-ratio: 16 / 9;
  object-fit: contain !important;
  background: #000;
  opacity: .9;
}

#album-view .album-media-card:hover img,
#album-view .album-media-card:hover video {
  transform: scale(1.015);
  filter: brightness(1);
}

#album-view .vplay {
  width: 46px;
  height: 46px;
  pointer-events: none;
}

.media-actions {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 10;
  display: flex;
  gap: 7px;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .2s ease, transform .2s ease;
}

.album-media-card:hover .media-actions,
.pi:hover .media-actions,
.vi:hover .media-actions {
  opacity: 1;
  transform: translateY(0);
}

.media-action-btn {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  line-height: 1;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 18px rgba(0,0,0,.28);
}

.media-download-btn { background: rgba(40,120,220,.9); }
.media-delete-btn { background: rgba(180,30,30,.9); }
.media-action-btn:hover { transform: translateY(-1px); filter: brightness(1.08); }

@media (max-width: 900px) {
  #album-view .photos-grid { columns: 3 180px; column-gap: 8px; }
  #album-view .album-media-card,
  #album-view .pi,
  #album-view .vi { margin-bottom: 8px; border-radius: 8px; }
}

@media (max-width: 600px) {
  #album-view .photos-grid { columns: 2 145px; column-gap: 7px; }
  .media-actions { opacity: 1; transform: none; top: 6px; right: 6px; gap: 6px; }
  .media-action-btn { width: 30px; height: 30px; font-size: .82rem; }
}

@media (max-width: 390px) {
  #album-view .photos-grid { columns: 1; }
}

#admin-panel.active ~ nav,
body:has(#admin-panel.active) #navbar {
  display: none !important;
}

#admin-panel.active .a-sidebar-logo img {
  display: block;
  max-width: 150px;
  height: auto !important;
  margin: 0 auto;
}

#album-view .photos-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
  columns: initial !important;
  column-gap: initial !important;
}

#album-view .album-media-card,
#album-view .pi,
#album-view .vi {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  break-inside: auto !important;
  overflow: hidden !important;
  position: relative !important;
  border-radius: 10px !important;
  background: var(--dark3) !important;
}

#album-view .pi img,
#album-view .vi video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: brightness(.92);
}

#album-view .vi video {
  aspect-ratio: 16 / 9 !important;
  background: #000 !important;
  opacity: .72 !important;
}

#album-view .vplay {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  background: var(--rainbow) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.25rem !important;
  z-index: 5 !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.35), 0 0 0 6px rgba(255,255,255,.08) !important;
  pointer-events: none !important;
}

#album-view .vi:hover .vplay {
  transform: translate(-50%, -50%) scale(1.06) !important;
}

@media (max-width: 900px) {
  #album-view .photos-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; gap: 9px !important; }
}

@media (max-width: 600px) {
  #album-view .photos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  #album-view .vplay { width: 48px !important; height: 48px !important; font-size: 1rem !important; }
}

@media (max-width: 390px) {
  #album-view .photos-grid { grid-template-columns: 1fr !important; }
}

#album-view .photos-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  columns: initial !important;
  column-gap: initial !important;
}

#album-view .album-media-card,
#album-view .pi,
#album-view .vi {
  flex: 1 1 340px !important;
  max-width: calc(33.333% - 11px) !important;
  min-width: 300px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: var(--dark3) !important;
}

#album-view .pi img,
#album-view .vi video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  max-height: none !important;
}

#album-view .vi video {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

@media (max-width: 1180px) {
  #album-view .album-media-card,
  #album-view .pi,
  #album-view .vi {
    flex-basis: 300px !important;
    max-width: calc(50% - 8px) !important;
    min-width: 260px !important;
  }
}

@media (max-width: 700px) {
  #album-view .photos-grid {
    gap: 10px !important;
  }

  #album-view .album-media-card,
  #album-view .pi,
  #album-view .vi {
    flex: 1 1 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    min-width: 0 !important;
    border-radius: 9px !important;
  }
}

@media (max-width: 430px) {
  #album-view .photos-grid {
    gap: 9px !important;
  }

  #album-view .album-media-card,
  #album-view .pi,
  #album-view .vi {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

#album-view .photos-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  grid-auto-rows: 8px !important;
  grid-auto-flow: dense !important;
  gap: 6px !important;
  align-items: start !important;
  columns: initial !important;
  column-gap: initial !important;
}

#album-view .album-media-card,
#album-view .pi,
#album-view .vi {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  height: auto !important;
  margin: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: var(--dark3) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}

#album-view .pi img,
#album-view .vi video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  max-height: none !important;
}

#album-view .vi video {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  background: #000 !important;
}

@media (max-width: 1180px) {
  #album-view .photos-grid {
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important;
    gap: 6px !important;
  }
}

@media (max-width: 700px) {
  #album-view .photos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 6px !important;
    gap: 5px !important;
  }
  #album-view .album-media-card,
  #album-view .pi,
  #album-view .vi {
    border-radius: 9px !important;
  }
}

@media (max-width: 430px) {
  #album-view .photos-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: 8px !important;
  }
}

@media (max-width: 700px) {
  #album-view {
    padding-left: .55rem !important;
    padding-right: .55rem !important;
  }

  #album-view .photos-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 5px !important;
    grid-auto-flow: dense !important;
    gap: 5px !important;
    align-items: start !important;
  }

  #album-view .album-media-card,
  #album-view .pi,
  #album-view .vi {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    border-radius: 8px !important;
  }

  #album-view .pi img,
  #album-view .vi video {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  #album-view .vplay {
    width: 42px !important;
    height: 42px !important;
    font-size: .92rem !important;
  }
}

@media (max-width: 430px) {
  #album-view .photos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 5px !important;
    gap: 4px !important;
  }

  #album-view .album-media-card,
  #album-view .pi,
  #album-view .vi {
    border-radius: 7px !important;
  }

  #album-view .media-actions {
    top: 4px !important;
    right: 4px !important;
    gap: 4px !important;
  }

  #album-view .media-action-btn {
    width: 27px !important;
    height: 27px !important;
    font-size: .72rem !important;
  }
}

#album-view .album-media-card {
  contain: layout paint;
  background: #101010 !important;
}

#album-view .pi img,
#album-view .vi video {
  transform: translateZ(0);
  will-change: auto;
}

.album-load-sentinel {
  width: 100%;
  padding: 1.2rem 0 2rem;
  text-align: center;
  color: var(--faded);
  font-family: var(--thin);
  font-size: .9rem;
}

.album-load-sentinel span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .55rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.04);
}

.lb-media-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .85rem;
  max-width: 94vw;
  max-height: 94vh;
}

.lb-media-wrap img,
.lb-media-wrap video {
  max-width: 90vw;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 8px;
}

.lb-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  flex-wrap: wrap;
  padding: .25rem .5rem;
}

.lb-action-btn {
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  border-radius: 999px;
  padding: .65rem 1.05rem;
  cursor: pointer;
  font-family: var(--body);
  font-size: .8rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
}

.lb-download { background: rgba(33, 150, 243, .92); }
.lb-delete { background: rgba(190, 35, 35, .92); }
.lb-action-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }

@media (max-width: 600px) {
  nav#navbar {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    column-gap: .45rem;
    padding: .7rem .8rem;
  }

  nav#navbar .nav-logo {
    grid-column: 1;
    min-width: 0;
  }

  nav#navbar .nav-logo img { height: 34px; }
  nav#navbar .nav-logo-text { font-size: 1rem; }

  nav#navbar .nav-btns {
    grid-column: 3;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: .35rem;
    margin-left: auto;
  }

  nav#navbar .btn-nav-portal,
  nav#navbar .btn-nav-admin {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    max-width: none !important;
    padding: .42rem .58rem !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    white-space: nowrap !important;
  }

  nav#navbar .mobile-menu-btn {
    grid-column: 4;
    display: flex !important;
    margin-left: 0;
  }

  .lb-close {
    top: .85rem;
    right: .85rem;
    width: 38px;
    height: 38px;
  }

  .lb-prev { left: .55rem; }
  .lb-next { right: .55rem; }
  .lb-nav {
    width: 38px;
    height: 38px;
    background: rgba(13,11,14,.65);
  }

  .lb-media-wrap { gap: .7rem; }
  .lb-media-wrap img,
  .lb-media-wrap video {
    max-width: 96vw;
    max-height: 78vh;
    border-radius: 6px;
  }

  .lb-actions {
    width: 100%;
    gap: .5rem;
  }

  .lb-action-btn {
    padding: .62rem .9rem;
    font-size: .72rem;
  }
}

@media (max-width: 390px) {
  nav#navbar .nav-logo-text { display: none; }
  nav#navbar .btn-nav-portal,
  nav#navbar .btn-nav-admin {
    padding: .4rem .5rem !important;
    font-size: .55rem !important;
  }
}

#album-view .album-media-card.has-dims {
  height: auto !important;
}
#album-view .album-media-card.has-dims img,
#album-view .album-media-card.has-dims video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
#album-view .album-media-card.has-dims.vi video {
  object-fit: contain !important;
  background: #000 !important;
}
#album-view .album-media-card.has-dims.vi video {
  aspect-ratio: inherit !important;
}
.location-hours-inline {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  max-width: 100%;
}

.location-hours-inline span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(10px);
  max-width: 100%;
  box-sizing: border-box;
}

.location-hours-inline .lh-label {
  color: #fff;
  font-weight: 800;
  background: linear-gradient(135deg, rgba(214, 169, 92, 0.34), rgba(255, 255, 255, 0.08));
  border-color: rgba(214, 169, 92, 0.38);
}

@media (max-width: 600px) {
  .location-hours-inline {
    margin-top: 16px;
    gap: 8px;
    max-width: 100%;
  }

  .location-hours-inline span {
    min-height: 32px;
    padding: 8px 11px;
    font-size: 12px;
    max-width: 100%;
  }
}

.nav-logo {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

* {
  box-sizing: border-box;
}

#album-view .album-media-card,
#album-view .pi,
#album-view .vi {
  content-visibility: auto;
  contain-intrinsic-size: 260px 360px;
}

/* =========================================================
   IVANA TODIC THEME — soft white / beige personal photographer
   Front-end override. Admin, album portal and upload scripts remain.
   ========================================================= */
body.ivana-site{
  --iv-white:#fbfaf7;
  --iv-paper:#f4f0e8;
  --iv-cream:#eee7dc;
  --iv-beige:#d8cbb9;
  --iv-sand:#bcae9b;
  --iv-taupe:#8f8375;
  --iv-ink:#34383a;
  --iv-soft:#746d65;
  --iv-line:rgba(167,151,130,.22);
  background:#eeeeeb;
  color:var(--iv-ink);
  font-family:'Montserrat',sans-serif;
  font-weight:300;
}
body.ivana-site .rainbow-bar{display:none!important;}
body.ivana-site a{color:inherit;text-decoration:none;}
body.ivana-site #main-site{background:var(--iv-white);}

body.ivana-site .ivana-main-nav{
  position:fixed; top:0; left:50%; transform:translateX(-50%);
  width:min(1180px,100%); height:138px; padding:0 72px;
  background:rgba(251,250,247,.94)!important;
  border-bottom:1px solid var(--iv-line);
  box-shadow:none!important; backdrop-filter:blur(14px);
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  z-index:1000;
}
body.ivana-site .ivana-main-nav.scrolled{height:104px; box-shadow:0 12px 35px rgba(70,60,48,.08)!important;}
body.ivana-site .nav-side{display:flex;align-items:center;gap:42px;font-family:'Cormorant Garamond',serif;font-size:17px;color:#6e6963;}
body.ivana-site .nav-side a{cursor:pointer;transition:.25s;color:#6e6963;text-transform:none;letter-spacing:0;font-size:17px;}
body.ivana-site .nav-side a:hover{color:#a4937c;}
body.ivana-site .nav-right-links{justify-content:flex-end;}
body.ivana-site .ivana-brand{text-align:center;cursor:pointer;min-width:238px;color:#b0a08b;}
body.ivana-site .brand-ornament{font-size:22px;letter-spacing:.2em;color:#a89b87;margin-bottom:-4px;opacity:.68;}
body.ivana-site .brand-name{font-family:'Cormorant Garamond',serif;font-size:42px;line-height:.86;letter-spacing:.045em;color:#b8aa98;}
body.ivana-site .brand-name span{display:block;font-size:34px;color:#9f927f;margin-top:8px;}
body.ivana-site .ivana-admin-link{border:0;background:transparent;color:#8f8375;font-family:'Cormorant Garamond',serif;font-size:17px;cursor:pointer;padding:0;}
body.ivana-site .mobile-menu-btn span{background:#8f8375!important;}
body.ivana-site .mobile-menu-btn{display:none;}

body.ivana-site section{padding:0;}
body.ivana-site .ivana-hero{
  min-height:760px; height:auto; padding-top:138px;
  position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;
  text-align:center; background:
    linear-gradient(to bottom,rgba(251,250,247,.18),rgba(251,250,247,.03)),
    linear-gradient(90deg,rgba(230,224,212,.78),rgba(226,220,205,.17) 46%,rgba(246,244,238,.18)),
    radial-gradient(circle at 21% 60%,rgba(128,110,87,.16),transparent 28%),
    radial-gradient(circle at 76% 46%,rgba(153,130,103,.18),transparent 24%),
    linear-gradient(135deg,#ece8dd 0%,#cbd8d6 38%,#e8dcc7 100%);
}
body.ivana-site .ivana-hero:before{
  content:""; position:absolute; inset:138px 0 0;
  background:
    linear-gradient(to bottom,rgba(255,255,255,.54),rgba(255,255,255,.09) 34%,rgba(255,255,255,.12)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='620' viewBox='0 0 900 620'%3E%3Cdefs%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.72' numOctaves='4' seed='7'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='900' height='620' filter='url(%23n)' opacity='.08'/%3E%3Cg opacity='.18' fill='%238c947f'%3E%3Cellipse cx='160' cy='510' rx='170' ry='40'/%3E%3Cellipse cx='282' cy='508' rx='150' ry='34'/%3E%3Cellipse cx='431' cy='515' rx='170' ry='36'/%3E%3C/g%3E%3Cg opacity='.16' stroke='%238a8e78' stroke-width='4' fill='none'%3E%3Cpath d='M80 510 C180 390 250 440 345 362 S540 332 665 263 824 171 900 138'/%3E%3Cpath d='M0 530 C110 425 228 420 334 382 S541 304 670 240 820 185 900 170'/%3E%3C/g%3E%3C/svg%3E");
  background-size:cover; mix-blend-mode:multiply; opacity:.72;
}
body.ivana-site .hero-photo-shape{position:absolute;bottom:0;filter:blur(.2px);opacity:.66;z-index:1;}
body.ivana-site .hero-photo-shape.left{left:9%;width:310px;height:445px;background:radial-gradient(ellipse at 45% 16%,#dfceb2 0 18%,transparent 19%),linear-gradient(105deg,transparent 0 22%,rgba(105,95,78,.28) 23% 44%,rgba(248,246,235,.43) 45% 70%,transparent 71%);border-radius:44% 44% 0 0;transform:rotate(-5deg);}
body.ivana-site .hero-photo-shape.right{right:10%;width:340px;height:470px;background:radial-gradient(ellipse at 54% 14%,#eadabd 0 18%,transparent 19%),linear-gradient(75deg,transparent 0 30%,rgba(255,255,255,.58) 31% 55%,rgba(141,122,95,.18) 56% 72%,transparent 73%);border-radius:46% 46% 0 0;transform:rotate(7deg);}
body.ivana-site .ivana-hero-content{position:relative;z-index:3;color:#fff;text-shadow:0 2px 18px rgba(108,99,86,.22);margin-top:38px;padding:0 24px;}
body.ivana-site .hero-kicker{font-size:9px;letter-spacing:.55em;text-transform:uppercase;font-weight:500;margin-bottom:108px;color:rgba(255,255,255,.88);}
body.ivana-site .ivana-hero h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:44px;line-height:1.1;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.92);margin:0;}
body.ivana-site .ivana-hero h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:82px;line-height:.95;letter-spacing:.035em;color:rgba(255,255,255,.95);margin:10px 0 24px;}
body.ivana-site .ivana-hero p{font-size:9px;letter-spacing:.5em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.78);margin:0;}
body.ivana-site .hero-cats{position:absolute;left:50%;transform:translateX(-50%);bottom:-155px;width:100vw;font-size:9px;letter-spacing:.45em;text-transform:uppercase;color:rgba(255,255,255,.78);}

body.ivana-site .ivana-story{background:var(--iv-white);padding:92px 108px 98px;display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center;}
body.ivana-site .story-title{font-family:'Cormorant Garamond',serif;font-size:72px;line-height:1.08;font-weight:300;letter-spacing:.02em;color:#383d3f;text-transform:uppercase;}
body.ivana-site .story-copy{text-align:center;color:#6f6860;max-width:500px;margin:0 auto;}
body.ivana-site .bird-mark{width:96px;height:78px;margin:0 auto 24px;opacity:.42;background:linear-gradient(135deg,#8f8375,#d3c7b7);clip-path:polygon(0 15%,45% 50%,15% 100%,55% 66%,100% 100%,67% 50%,100% 12%,52% 36%);}
body.ivana-site .small-intro{font-family:'Cormorant Garamond',serif;font-size:17px;margin-bottom:8px;color:#8f8375;}
body.ivana-site .story-copy ul{list-style:none;font-size:12px;line-height:1.7;margin:0 0 16px;padding:0;}
body.ivana-site .story-copy p{font-family:'Cormorant Garamond',serif;font-size:18px;line-height:1.8;text-align:left;color:#5d5852;margin-bottom:14px;}
body.ivana-site .story-copy .body-copy{text-align:center;font-size:15px;margin-bottom:16px;}

body.ivana-site .ivana-packages{background:#f6f2eb;padding:92px 78px 96px;text-align:center;border-top:1px solid rgba(188,174,155,.18);}
body.ivana-site .section-overline{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:#a4937c;margin-bottom:18px;font-weight:500;}
body.ivana-site .ivana-packages h2,body.ivana-site .gallery-head h2,body.ivana-site .ivana-about h2,body.ivana-site .ivana-contact h2{font-family:'Cormorant Garamond',serif;font-size:56px;font-weight:300;line-height:1.08;color:#34383a;margin:0 0 30px;}
body.ivana-site .packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;text-align:left;}
body.ivana-site .packages-grid article{background:#fbfaf7;border:1px solid rgba(188,174,155,.23);padding:34px 30px;min-height:230px;}
body.ivana-site .packages-grid span{font-family:'Cormorant Garamond',serif;font-size:34px;color:#c9bba8;display:block;margin-bottom:25px;}
body.ivana-site .packages-grid h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:#34383a;margin:0 0 12px;}
body.ivana-site .packages-grid p{font-family:'Cormorant Garamond',serif;font-size:18px;line-height:1.75;color:#665f57;}

body.ivana-site .ivana-gallery-preview{background:#fbfaf7;padding:88px 58px 90px;}
body.ivana-site .gallery-head{text-align:center;margin-bottom:44px;}
body.ivana-site .ivana-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
body.ivana-site .ivana-g-item{height:430px;position:relative;overflow:hidden;background:#e7ded0;}
body.ivana-site .ivana-g-item img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88) brightness(1.06);transition:transform .7s ease,filter .7s ease;}
body.ivana-site .ivana-g-item:hover img{transform:scale(1.045);filter:saturate(.95) brightness(1.02);}
body.ivana-site .ivana-g-label{position:absolute;left:0;right:0;bottom:0;padding:42px 24px 26px;text-align:center;background:linear-gradient(to top,rgba(75,64,52,.45),transparent);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:#fff;}

body.ivana-site .ivana-about{background:#f6f2eb;padding:92px 108px;display:grid;grid-template-columns:.92fr 1.08fr;gap:84px;align-items:center;}
body.ivana-site .about-card-image{min-height:560px;background:linear-gradient(135deg,#ded4c1,#f9f5ed 45%,#c8b8a1);position:relative;overflow:hidden;}
body.ivana-site .about-card-image:before{content:"";position:absolute;inset:55px 70px 0;border-radius:48% 48% 0 0;background:rgba(255,255,255,.38);box-shadow:0 0 0 1px rgba(255,255,255,.2);}
body.ivana-site .about-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent,rgba(138,122,99,.16));}
body.ivana-site .about-text p{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.8;color:#5d5852;margin-bottom:18px;}
body.ivana-site .signature{font-family:'Cormorant Garamond',serif;font-size:38px;color:#a4937c;font-style:italic;margin-top:28px;}

body.ivana-site .ivana-contact{background:#fbfaf7;padding:92px 40px 100px;text-align:center;border-top:1px solid rgba(188,174,155,.2);}
body.ivana-site .contact-wrap{max-width:920px;margin:0 auto;}
body.ivana-site .ivana-contact p{font-family:'Cormorant Garamond',serif;font-size:20px;color:#655e55;margin:0 auto 38px;max-width:560px;line-height:1.7;}
body.ivana-site .ivana-form{margin-top:30px;text-align:left;}
body.ivana-site .ivana-form .fg label{color:#81766b;font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
body.ivana-site .ivana-form input,body.ivana-site .ivana-form select,body.ivana-site .ivana-form textarea{background:#f6f2eb!important;border:1px solid rgba(188,174,155,.34)!important;color:#34383a!important;border-radius:0!important;font-family:'Montserrat',sans-serif!important;}
body.ivana-site .ivana-form textarea{min-height:145px;}
body.ivana-site .ivana-btn{display:inline-block;border:1px solid #b8aa98;background:#fbfaf7;color:#7c7164;padding:15px 36px;font-size:10px;letter-spacing:.35em;text-transform:uppercase;cursor:pointer;font-family:'Montserrat',sans-serif;transition:.25s;}
body.ivana-site .ivana-btn:hover{background:#b8aa98;color:#fff;}
body.ivana-site .form-note{color:#8c8175;}
body.ivana-site .form-success{background:#f6f2eb;color:#6e665c;border:1px solid rgba(188,174,155,.34);}
body.ivana-site .ivana-footer{background:#f5f1ea;color:#8a8177;padding:28px 78px;display:flex;justify-content:space-between;gap:22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;}

body.ivana-site #client-portal,body.ivana-site #album-view,body.ivana-site #admin-panel{--gold:#b8aa98;--gold2:#d8cbb9;}
body.ivana-site .ivana-text-logo{font-family:'Cormorant Garamond',serif!important;color:#b8aa98!important;font-size:42px!important;line-height:.9!important;text-align:center!important;letter-spacing:.04em!important;}
body.ivana-site .ivana-text-logo span{display:block!important;font-size:.82em!important;color:#9f927f!important;margin-top:8px!important;}
body.ivana-site .portal-card{background:#fbfaf7!important;color:#34383a!important;border:1px solid rgba(188,174,155,.26)!important;box-shadow:0 24px 70px rgba(60,50,40,.14)!important;}
body.ivana-site .portal-card h2{color:#34383a!important;background:none!important;-webkit-text-fill-color:initial!important;font-family:'Cormorant Garamond',serif!important;font-weight:300!important;}
body.ivana-site .portal-card p,body.ivana-site .portal-card .sep{color:#746d65!important;}
body.ivana-site .portal-card input{background:#f6f2eb!important;border:1px solid rgba(188,174,155,.36)!important;color:#34383a!important;}
body.ivana-site .code-row button,body.ivana-site .btn-primary,body.ivana-site .btn-rainbow{background:#b8aa98!important;color:#fff!important;border:1px solid #b8aa98!important;}
body.ivana-site .btn-ghost{color:#7c7164!important;border:1px solid rgba(188,174,155,.45)!important;background:#fbfaf7!important;}

@media(max-width:980px){
  body.ivana-site .ivana-main-nav{left:0;transform:none;width:100%;height:92px;padding:0 22px;display:flex;justify-content:space-between;}
  body.ivana-site .nav-side{display:none;}
  body.ivana-site .ivana-brand{min-width:auto;text-align:left;}
  body.ivana-site .brand-ornament{display:none;}
  body.ivana-site .brand-name{font-size:34px;}
  body.ivana-site .brand-name span{font-size:28px;margin-top:5px;}
  body.ivana-site .mobile-menu-btn{display:flex;}
  body.ivana-site .ivana-menu.open{display:flex;background:#fbfaf7!important;}
  body.ivana-site .ivana-menu a{font-family:'Cormorant Garamond',serif;color:#6e6963!important;font-size:28px;text-transform:none;letter-spacing:.02em;}
  body.ivana-site .ivana-hero{padding-top:92px;min-height:680px;}
  body.ivana-site .ivana-hero:before{inset:92px 0 0;}
  body.ivana-site .hero-photo-shape.left{left:-80px;width:260px;height:375px;}
  body.ivana-site .hero-photo-shape.right{right:-90px;width:270px;height:390px;}
  body.ivana-site .hero-kicker{margin-bottom:80px;letter-spacing:.36em;}
  body.ivana-site .ivana-hero h1{font-size:58px;}
  body.ivana-site .ivana-hero h2{font-size:34px;}
  body.ivana-site .hero-cats{bottom:-125px;font-size:8px;letter-spacing:.28em;line-height:1.8;padding:0 22px;}
  body.ivana-site .ivana-story,body.ivana-site .ivana-about{grid-template-columns:1fr;padding:64px 30px;gap:42px;}
  body.ivana-site .story-title{font-size:50px;}
  body.ivana-site .packages-grid,body.ivana-site .ivana-gallery-grid{grid-template-columns:1fr;}
  body.ivana-site .ivana-packages,body.ivana-site .ivana-gallery-preview{padding:64px 24px;}
  body.ivana-site .ivana-packages h2,body.ivana-site .gallery-head h2,body.ivana-site .ivana-about h2,body.ivana-site .ivana-contact h2{font-size:42px;}
  body.ivana-site .ivana-g-item{height:360px;}
  body.ivana-site .about-card-image{min-height:430px;}
  body.ivana-site .ivana-footer{padding:24px;flex-direction:column;text-align:center;}
}

/* =========================================================
   Ivana Todic - German beige refinement / unified theme
   ========================================================= */
body.ivana-site{
  --iv-white:#fbfaf7;
  --iv-cream:#f6f2eb;
  --iv-beige:#d8cbb9;
  --iv-sand:#b8aa98;
  --iv-taupe:#8f8375;
  --iv-ink:#34383a;
  --iv-soft:#6f6860;
  --dark:#fbfaf7;
  --dark2:#f6f2eb;
  --dark3:#efe8dd;
  --dark4:#e9dfd1;
  --cream:#34383a;
  --muted:#6f6860;
  --faded:#9a9085;
  --gold:#b8aa98;
  --gold2:#d8cbb9;
  --rainbow:linear-gradient(135deg,#b8aa98,#d8cbb9);
  --rainbow2:linear-gradient(90deg,#b8aa98,#d8cbb9);
  background:#eeeeeb!important;
  color:var(--iv-ink)!important;
}
body.ivana-site .ivana-main-nav{
  max-width:1180px;
  left:50%;
  transform:translateX(-50%);
  top:0;
  background:rgba(251,250,247,.96)!important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(184,170,152,.24)!important;
  box-shadow:none!important;
}
body.ivana-site .nav-side{
  gap:34px!important;
  white-space:nowrap;
}
body.ivana-site .nav-side a,
body.ivana-site .ivana-admin-link{
  position:relative;
}
body.ivana-site .nav-side a:after,
body.ivana-site .ivana-admin-link:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-7px;
  height:1px;background:#b8aa98;
  transform:scaleX(0);
  transition:transform .25s ease;
  transform-origin:center;
}
body.ivana-site .nav-side a:hover:after,
body.ivana-site .ivana-admin-link:hover:after{transform:scaleX(1);}
body.ivana-site .ivana-admin-link{opacity:.75;}
body.ivana-site .ivana-hero{margin-top:0;}
body.ivana-site .ivana-hero-content{max-width:760px;}
body.ivana-site .ivana-story,
body.ivana-site .ivana-packages,
body.ivana-site .ivana-gallery-preview,
body.ivana-site .ivana-about,
body.ivana-site .ivana-contact{
  max-width:1180px;
  margin:0 auto;
}
body.ivana-site .ivana-packages,
body.ivana-site .ivana-about{background:#f6f2eb!important;}
body.ivana-site .ivana-gallery-preview,
body.ivana-site .ivana-contact,
body.ivana-site .ivana-story{background:#fbfaf7!important;}
body.ivana-site .packages-grid article,
body.ivana-site .ivana-g-item,
body.ivana-site .about-card-image{
  box-shadow:0 18px 45px rgba(73,61,48,.06);
}
body.ivana-site .packages-grid article:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 55px rgba(73,61,48,.1);
  transition:.25s ease;
}

/* Client portal, album and admin should not fall back to the old dark/rainbow Foto Duga look */
body.ivana-site #client-portal,
body.ivana-site #album-view,
body.ivana-site #admin-login-screen,
body.ivana-site #admin-panel{
  background:#fbfaf7!important;
  color:#34383a!important;
}
body.ivana-site #client-portal,
body.ivana-site #admin-login-screen{
  background:linear-gradient(135deg,#f6f2eb,#fbfaf7 55%,#efe7da)!important;
}
body.ivana-site .portal-card:before{background:#d8cbb9!important;}
body.ivana-site .portal-card h2,
body.ivana-site .av-title,
body.ivana-site .a-head h2,
body.ivana-site .card h3,
body.ivana-site .req-card h3,
body.ivana-site .modal-box h3{
  color:#34383a!important;
  -webkit-text-fill-color:initial!important;
  background:none!important;
}
body.ivana-site .av-meta,
body.ivana-site .c-meta,
body.ivana-site .req-details,
body.ivana-site .a-head p,
body.ivana-site .modal-box p{
  color:#6f6860!important;
}
body.ivana-site .av-header{
  background:#fbfaf7!important;
  border-bottom:1px solid rgba(184,170,152,.28)!important;
  margin:-5.5rem -3.5rem 2rem!important;
  padding:5.6rem 3.5rem 1.5rem!important;
  position:sticky;
  top:0;
  z-index:20;
}
body.ivana-site #album-view .photos-grid{background:#fbfaf7!important;}
body.ivana-site #album-view .album-media-card,
body.ivana-site #album-view .pi,
body.ivana-site #album-view .vi{
  background:#efe8dd!important;
  border:1px solid rgba(184,170,152,.18)!important;
  border-radius:0!important;
  box-shadow:0 12px 32px rgba(70,58,45,.08)!important;
}
body.ivana-site .media-actions{background:linear-gradient(to top,rgba(52,56,58,.62),transparent)!important;}
body.ivana-site .media-action-btn,
body.ivana-site .lb-action-btn{
  background:rgba(251,250,247,.92)!important;
  color:#34383a!important;
  border:1px solid rgba(184,170,152,.45)!important;
}
body.ivana-site .lightbox{background:rgba(36,32,28,.92)!important;}
body.ivana-site .lb-close,
body.ivana-site .lb-nav{color:#fff!important;background:rgba(251,250,247,.12)!important;}

body.ivana-site .a-sidebar{
  background:#f6f2eb!important;
  border-right:1px solid rgba(184,170,152,.28)!important;
  box-shadow:12px 0 35px rgba(70,58,45,.06);
}
body.ivana-site .a-nav a{
  color:#6f6860!important;
  border:1px solid transparent;
  border-radius:0!important;
  background:transparent!important;
}
body.ivana-site .a-nav a:hover,
body.ivana-site .a-nav a.active{
  color:#34383a!important;
  background:#fbfaf7!important;
  border-color:rgba(184,170,152,.34)!important;
}
body.ivana-site .a-content{
  background:#fbfaf7!important;
}
body.ivana-site .card,
body.ivana-site .req-card,
body.ivana-site .st-card,
body.ivana-site .modal-box{
  background:#fffdf9!important;
  color:#34383a!important;
  border:1px solid rgba(184,170,152,.26)!important;
  border-radius:0!important;
  box-shadow:0 14px 40px rgba(70,58,45,.06)!important;
}
body.ivana-site .req-card.new{border-left:3px solid #b8aa98!important;}
body.ivana-site .req-card.done{border-left:3px solid #d8cbb9!important;opacity:.78;}
body.ivana-site .st-card .n,
body.ivana-site .code-pill{
  color:#8f8375!important;
  -webkit-text-fill-color:initial!important;
  background:#f6f2eb!important;
  border:1px solid rgba(184,170,152,.34)!important;
}
body.ivana-site .st-card .l{color:#6f6860!important;}
body.ivana-site .badge-new{background:#f6f2eb!important;color:#7c7164!important;border:1px solid rgba(184,170,152,.36)!important;}
body.ivana-site .badge-done{background:#efebe4!important;color:#9a9085!important;border:1px solid rgba(184,170,152,.2)!important;}
body.ivana-site .upload-zone{
  background:#fffdf9!important;
  border:2px dashed rgba(184,170,152,.42)!important;
  color:#34383a!important;
  border-radius:0!important;
}
body.ivana-site .upload-zone:hover,
body.ivana-site .upload-zone.drag{background:#f6f2eb!important;border-color:#b8aa98!important;}
body.ivana-site input,
body.ivana-site select,
body.ivana-site textarea{
  background:#fbfaf7!important;
  border:1px solid rgba(184,170,152,.36)!important;
  color:#34383a!important;
}
body.ivana-site label{color:#81766b!important;}
body.ivana-site .btn-sm,
body.ivana-site .btn-ghost,
body.ivana-site .btn-primary,
body.ivana-site .btn-rainbow,
body.ivana-site .code-row button{
  border-radius:0!important;
  font-family:'Montserrat',sans-serif!important;
}
body.ivana-site .btn-sm{
  color:#7c7164!important;
  background:#fbfaf7!important;
  border:1px solid rgba(184,170,152,.42)!important;
}
body.ivana-site .btn-sm:hover{background:#b8aa98!important;color:#fff!important;}
body.ivana-site .btn-sm.danger{color:#9f5f52!important;border-color:rgba(159,95,82,.35)!important;}
body.ivana-site .btn-sm.danger:hover{background:#9f5f52!important;color:#fff!important;}
body.ivana-site #toast{
  background:#34383a!important;
  color:#fbfaf7!important;
  border:1px solid rgba(251,250,247,.18)!important;
}
body.ivana-site .a-bottom-nav{background:#f6f2eb!important;border-top:1px solid rgba(184,170,152,.28)!important;}
body.ivana-site .a-bottom-nav a{color:#8f8375!important;}
body.ivana-site .a-bottom-nav a.active{color:#34383a!important;background:#fbfaf7!important;}

@media(max-width:1100px){
  body.ivana-site .ivana-main-nav{max-width:100%;}
  body.ivana-site .nav-side{gap:22px!important;font-size:16px!important;}
  body.ivana-site .nav-side a,body.ivana-site .ivana-admin-link{font-size:16px!important;}
  body.ivana-site .ivana-brand{min-width:210px!important;}
}
@media(max-width:900px){
  body.ivana-site .ivana-main-nav{left:0!important;transform:none!important;max-width:none!important;}
  body.ivana-site .ivana-story,
  body.ivana-site .ivana-packages,
  body.ivana-site .ivana-gallery-preview,
  body.ivana-site .ivana-about,
  body.ivana-site .ivana-contact{max-width:none;}
  body.ivana-site .av-header{margin:-5rem -1rem 1.5rem!important;padding:5rem 1rem 1.2rem!important;}
}
@media(max-width:600px){
  body.ivana-site .ivana-main-nav{height:86px!important;}
  body.ivana-site .ivana-main-nav.scrolled{height:86px!important;}
  body.ivana-site .ivana-menu.open{z-index:999!important;padding-top:86px;}
  body.ivana-site .ivana-menu .ivana-btn{margin-top:12px;}
  body.ivana-site .packages-grid article{min-height:auto!important;}
}


/* =========================================================
   FINAL FIX: centered beige navigation + real Ivana about photo
   ========================================================= */
body.ivana-site .ivana-main-nav{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  height:132px!important;
  padding:0 64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 184px minmax(0,1fr)!important;
  column-gap:42px!important;
  align-items:center!important;
  background:rgba(251,250,247,.97)!important;
  border-bottom:1px solid rgba(184,170,152,.22)!important;
  box-shadow:0 10px 34px rgba(74,62,49,.04)!important;
}
body.ivana-site .ivana-main-nav.scrolled{height:104px!important;}
body.ivana-site .nav-left-links{justify-self:start!important;justify-content:flex-start!important;}
body.ivana-site .nav-right-links{justify-self:end!important;justify-content:flex-end!important;}
body.ivana-site .nav-side{
  gap:34px!important;
  min-width:0!important;
  white-space:nowrap!important;
  display:flex!important;
  align-items:center!important;
}
body.ivana-site .nav-side a{
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:.01em!important;
}
body.ivana-site .ivana-brand{
  justify-self:center!important;
  align-self:center!important;
  width:184px!important;
  min-width:184px!important;
  max-width:184px!important;
  text-align:center!important;
  overflow:visible!important;
  z-index:2!important;
}
body.ivana-site .brand-ornament{
  font-size:18px!important;
  letter-spacing:.28em!important;
  margin:0 0 2px!important;
  line-height:1!important;
}
body.ivana-site .brand-name{
  font-size:36px!important;
  line-height:.82!important;
  letter-spacing:.035em!important;
  margin:0!important;
}
body.ivana-site .brand-name span{
  font-size:30px!important;
  margin-top:8px!important;
}
body.ivana-site .ivana-admin-link{display:none!important;}

/* Hero now uses one soft, real photo-style background instead of fake shapes. */
body.ivana-site .ivana-hero{
  min-height:760px!important;
  padding-top:132px!important;
  background:
    linear-gradient(to bottom,rgba(251,250,247,.30),rgba(251,250,247,.05) 36%,rgba(251,250,247,.16)),
    radial-gradient(ellipse at center,rgba(78,66,49,.42) 0%,rgba(78,66,49,.26) 33%,rgba(255,255,255,.02) 62%),
    linear-gradient(90deg,rgba(246,242,234,.50),rgba(226,218,204,.10) 42%,rgba(246,244,238,.35)),
    url('../img/ivana-hero-soft.jpg') center center/cover no-repeat!important;
}
body.ivana-site .ivana-hero:before{
  content:""!important;
  inset:132px 0 0!important;
  background:linear-gradient(to bottom,rgba(255,255,255,.12),rgba(255,255,255,.00) 42%,rgba(255,255,255,.12))!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
body.ivana-site .hero-photo-shape{display:none!important;}
body.ivana-site .ivana-hero-content{
  background:rgba(94,78,58,.24)!important;
  backdrop-filter:blur(1px)!important;
  padding:38px 54px 42px!important;
  max-width:780px!important;
  text-shadow:0 3px 30px rgba(38,31,22,.58)!important;
}
body.ivana-site .hero-kicker{margin-bottom:76px!important;color:rgba(255,255,255,.96)!important;}
body.ivana-site .ivana-hero h1, body.ivana-site .ivana-hero h2, body.ivana-site .ivana-hero p, body.ivana-site .hero-cats{color:rgba(255,255,255,.96)!important;}
body.ivana-site .hero-cats{bottom:-120px!important;}

body.ivana-site .about-card-image{
  min-height:560px!important;
  background:#e9dfd1!important;
  padding:0!important;
  overflow:hidden!important;
}
body.ivana-site .about-card-image:before{display:none!important;}
body.ivana-site .about-card-image:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(to bottom,rgba(251,250,247,.08),rgba(93,79,62,.18))!important;
  pointer-events:none!important;
}
body.ivana-site .about-card-image img{
  width:100%!important;
  height:100%!important;
  min-height:560px!important;
  object-fit:cover!important;
  object-position:center top!important;
  display:block!important;
  filter:saturate(.86) brightness(1.05) contrast(.94)!important;
}
body.ivana-site .footer-admin-link{
  border:0!important;
  background:transparent!important;
  color:#8a8177!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  text-transform:inherit!important;
  cursor:pointer!important;
  padding:0!important;
}
body.ivana-site .footer-admin-link:hover{color:#5f5850!important;text-decoration:underline!important;text-underline-offset:4px!important;}

@media(max-width:1120px){
  body.ivana-site .ivana-main-nav{padding:0 34px!important;column-gap:28px!important;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr)!important;}
  body.ivana-site .nav-side{gap:24px!important;}
  body.ivana-site .nav-side a{font-size:15px!important;}
  body.ivana-site .ivana-brand{width:170px!important;min-width:170px!important;max-width:170px!important;}
  body.ivana-site .brand-name{font-size:32px!important;}
  body.ivana-site .brand-name span{font-size:27px!important;}
}
@media(max-width:980px){
  body.ivana-site .ivana-main-nav{
    left:0!important;transform:none!important;width:100%!important;max-width:none!important;height:92px!important;
    padding:0 22px!important;display:flex!important;justify-content:space-between!important;
  }
  body.ivana-site .nav-side{display:none!important;}
  body.ivana-site .ivana-brand{width:auto!important;min-width:0!important;max-width:none!important;text-align:left!important;}
  body.ivana-site .brand-ornament{display:none!important;}
  body.ivana-site .ivana-hero{padding-top:92px!important;min-height:680px!important;background-position:center center!important;}
  body.ivana-site .ivana-hero:before{inset:92px 0 0!important;}
  body.ivana-site .ivana-hero-content{padding:30px 22px 34px!important;background:rgba(164,147,124,.10)!important;}
}
@media(max-width:600px){
  body.ivana-site .ivana-main-nav{height:86px!important;}
  body.ivana-site .ivana-hero{padding-top:86px!important;}
  body.ivana-site .ivana-hero:before{inset:86px 0 0!important;}
  body.ivana-site .ivana-hero-content{max-width:92vw!important;}
  body.ivana-site .hero-kicker{margin-bottom:52px!important;}
}


/* Final hero correction: original beige photographer background with professional camera + readable text boxes */
body.ivana-site .ivana-hero{
  background:
    linear-gradient(to right, rgba(251,250,247,.88) 0%, rgba(251,250,247,.60) 36%, rgba(251,250,247,.24) 63%, rgba(236,226,209,.20) 100%),
    url('../img/ivana-hero-camera.jpg') center center/cover no-repeat!important;
}
body.ivana-site .ivana-hero:before{
  background:linear-gradient(to bottom,rgba(255,255,255,.18),rgba(255,255,255,.02) 45%,rgba(248,242,232,.22))!important;
  mix-blend-mode:normal!important;
}
body.ivana-site .ivana-hero-content{
  background:rgba(251,250,247,.74)!important;
  border:1px solid rgba(184,170,152,.42)!important;
  box-shadow:0 28px 80px rgba(111,94,68,.18)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  border-radius:2px!important;
  padding:42px 58px 44px!important;
  max-width:760px!important;
  text-shadow:none!important;
}
body.ivana-site .hero-kicker{
  color:#8f8375!important;
  margin-bottom:62px!important;
  text-shadow:none!important;
}
body.ivana-site .ivana-hero h2,
body.ivana-site .ivana-hero h1{
  color:#3f4242!important;
  text-shadow:none!important;
}
body.ivana-site .ivana-hero p{
  display:inline-block!important;
  color:#6f665d!important;
  background:rgba(255,255,255,.64)!important;
  border:1px solid rgba(184,170,152,.30)!important;
  padding:10px 18px!important;
  margin-top:4px!important;
  letter-spacing:.34em!important;
  line-height:1.7!important;
  text-shadow:none!important;
}
body.ivana-site .hero-cats{
  position:static!important;
  transform:none!important;
  width:auto!important;
  display:inline-block!important;
  margin-top:16px!important;
  padding:12px 22px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(184,170,152,.42)!important;
  color:#6f665d!important;
  font-size:10px!important;
  letter-spacing:.32em!important;
  line-height:1.8!important;
  text-shadow:none!important;
  box-shadow:0 14px 34px rgba(111,94,68,.08)!important;
}
@media(max-width:980px){
  body.ivana-site .ivana-hero{
    background:
      linear-gradient(to bottom, rgba(251,250,247,.86), rgba(251,250,247,.54)),
      url('../img/ivana-hero-camera.jpg') 58% center/cover no-repeat!important;
  }
  body.ivana-site .ivana-hero-content{background:rgba(251,250,247,.80)!important;padding:32px 24px 36px!important;}
  body.ivana-site .ivana-hero p,
  body.ivana-site .hero-cats{letter-spacing:.22em!important;font-size:9px!important;}
}


/* FINAL FIX: real Unsplash camera background + previous readable hero box */
body.ivana-site .ivana-hero{
  min-height:760px!important;
  padding-top:132px!important;
  background:
    linear-gradient(to bottom, rgba(251,250,247,.18), rgba(251,250,247,.04) 42%, rgba(251,250,247,.14)),
    radial-gradient(ellipse at center, rgba(65,54,42,.50) 0%, rgba(65,54,42,.34) 34%, rgba(255,255,255,.04) 68%),
    linear-gradient(90deg, rgba(246,242,234,.52), rgba(226,218,204,.08) 42%, rgba(246,244,238,.38)),
    url('https://images.unsplash.com/photo-1535536398915-a79396b523a0?ixlib=rb-4.1.0&q=88&fm=jpg&crop=entropy&cs=srgb&w=2200') center center/cover no-repeat!important;
}
body.ivana-site .ivana-hero:before{
  content:""!important;
  inset:132px 0 0!important;
  background:linear-gradient(to bottom, rgba(255,255,255,.12), rgba(255,255,255,0) 45%, rgba(255,255,255,.14))!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
body.ivana-site .hero-photo-shape{display:none!important;}
body.ivana-site .ivana-hero-content{
  background:rgba(94,78,58,.28)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 30px 90px rgba(65,54,42,.22)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  border-radius:0!important;
  padding:38px 54px 42px!important;
  max-width:790px!important;
  text-shadow:0 3px 30px rgba(38,31,22,.58)!important;
}
body.ivana-site .hero-kicker{
  color:rgba(255,255,255,.96)!important;
  margin-bottom:76px!important;
  text-shadow:0 3px 18px rgba(38,31,22,.40)!important;
}
body.ivana-site .ivana-hero h1,
body.ivana-site .ivana-hero h2{
  color:rgba(255,255,255,.96)!important;
  text-shadow:0 3px 30px rgba(38,31,22,.56)!important;
}
body.ivana-site .ivana-hero p{
  display:block!important;
  color:rgba(255,255,255,.90)!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  letter-spacing:.50em!important;
  line-height:1.7!important;
  text-shadow:0 3px 18px rgba(38,31,22,.45)!important;
}
body.ivana-site .hero-cats{
  position:static!important;
  transform:none!important;
  width:auto!important;
  display:inline-block!important;
  margin-top:22px!important;
  padding:12px 24px!important;
  background:rgba(251,250,247,.78)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  color:#6f665d!important;
  font-size:10px!important;
  letter-spacing:.32em!important;
  line-height:1.8!important;
  text-shadow:none!important;
  box-shadow:0 16px 38px rgba(65,54,42,.12)!important;
}
@media(max-width:980px){
  body.ivana-site .ivana-hero{
    padding-top:92px!important;
    min-height:680px!important;
    background:
      linear-gradient(to bottom, rgba(251,250,247,.28), rgba(65,54,42,.34)),
      url('https://images.unsplash.com/photo-1535536398915-a79396b523a0?ixlib=rb-4.1.0&q=88&fm=jpg&crop=entropy&cs=srgb&w=1600') center center/cover no-repeat!important;
  }
  body.ivana-site .ivana-hero:before{inset:92px 0 0!important;}
  body.ivana-site .ivana-hero-content{padding:30px 22px 34px!important;max-width:92vw!important;}
  body.ivana-site .ivana-hero p,
  body.ivana-site .hero-cats{letter-spacing:.22em!important;font-size:9px!important;}
}
@media(max-width:600px){
  body.ivana-site .ivana-hero{padding-top:86px!important;}
  body.ivana-site .ivana-hero:before{inset:86px 0 0!important;}
  body.ivana-site .hero-kicker{margin-bottom:52px!important;}
}


/* =========================================================
   FINAL PATCH: gallery spacing + editorial album previews + German contact placeholders
   ========================================================= */
body.ivana-site .ivana-gallery-preview{
  padding-top:128px!important;
  padding-bottom:118px!important;
  background:
    linear-gradient(180deg,#fbfaf7 0%,#f7f2eb 100%)!important;
  position:relative!important;
}
body.ivana-site .ivana-gallery-preview:before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  width:min(820px,78vw)!important;
  height:1px!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(90deg,transparent,rgba(184,170,152,.46),transparent)!important;
}
body.ivana-site .gallery-head{
  margin-bottom:72px!important;
}
body.ivana-site .gallery-head .section-overline{
  margin-bottom:26px!important;
}
body.ivana-site .ivana-gallery-grid{
  max-width:1180px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.15fr .9fr 1.05fr!important;
  gap:34px!important;
  align-items:end!important;
}
body.ivana-site .ivana-g-item{
  height:500px!important;
  background:#efe7dc!important;
  overflow:visible!important;
  position:relative!important;
  border:1px solid rgba(184,170,152,.34)!important;
  box-shadow:0 28px 70px rgba(89,74,56,.10)!important;
  padding:14px!important;
}
body.ivana-site .ivana-g-item:nth-child(2){
  height:420px!important;
  margin-bottom:58px!important;
}
body.ivana-site .ivana-g-item:nth-child(3){
  height:545px!important;
  margin-bottom:18px!important;
}
body.ivana-site .ivana-g-item:before{
  content:""!important;
  position:absolute!important;
  inset:-13px 18px 22px -13px!important;
  border:1px solid rgba(184,170,152,.28)!important;
  z-index:0!important;
  pointer-events:none!important;
}
body.ivana-site .ivana-g-item:after{
  content:""!important;
  position:absolute!important;
  top:-24px!important;
  left:50%!important;
  width:84px!important;
  height:34px!important;
  transform:translateX(-50%) rotate(-2deg)!important;
  background:rgba(251,250,247,.72)!important;
  border:1px solid rgba(184,170,152,.18)!important;
  box-shadow:0 8px 20px rgba(89,74,56,.07)!important;
  z-index:3!important;
}
body.ivana-site .ivana-g-item img{
  position:relative!important;
  z-index:1!important;
  height:100%!important;
  border-radius:0!important;
  filter:saturate(.82) brightness(1.08) contrast(.96)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important;
}
body.ivana-site .ivana-g-item:hover img{
  transform:scale(1.025)!important;
  filter:saturate(.90) brightness(1.04) contrast(.98)!important;
}
body.ivana-site .ivana-g-label{
  left:28px!important;
  right:auto!important;
  bottom:-24px!important;
  min-width:70%!important;
  max-width:calc(100% - 56px)!important;
  padding:18px 24px!important;
  background:rgba(251,250,247,.92)!important;
  color:#6b6259!important;
  border:1px solid rgba(184,170,152,.34)!important;
  box-shadow:0 18px 42px rgba(89,74,56,.12)!important;
  text-align:left!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:23px!important;
  letter-spacing:.05em!important;
  text-transform:none!important;
}
body.ivana-site .ivana-g-label:before{
  content:"Galerie"!important;
  display:block!important;
  font-family:'Montserrat',sans-serif!important;
  font-size:8px!important;
  letter-spacing:.42em!important;
  text-transform:uppercase!important;
  color:#a4937c!important;
  margin-bottom:4px!important;
}
@media(max-width:980px){
  body.ivana-site .ivana-gallery-preview{padding-top:92px!important;padding-bottom:92px!important;}
  body.ivana-site .gallery-head{margin-bottom:52px!important;}
  body.ivana-site .ivana-gallery-grid{grid-template-columns:1fr!important;gap:56px!important;}
  body.ivana-site .ivana-g-item,
  body.ivana-site .ivana-g-item:nth-child(2),
  body.ivana-site .ivana-g-item:nth-child(3){height:430px!important;margin-bottom:0!important;}
  body.ivana-site .ivana-g-label{bottom:-20px!important;font-size:21px!important;}
}
@media(max-width:600px){
  body.ivana-site .ivana-gallery-preview{padding-left:18px!important;padding-right:18px!important;}
  body.ivana-site .ivana-g-item,
  body.ivana-site .ivana-g-item:nth-child(2),
  body.ivana-site .ivana-g-item:nth-child(3){height:360px!important;padding:10px!important;}
  body.ivana-site .ivana-g-item:after{width:68px;height:28px;top:-19px;}
  body.ivana-site .ivana-g-label{left:18px!important;max-width:calc(100% - 36px)!important;padding:15px 18px!important;}
}

/* =========================================================
   FINAL FIX: clean readable gallery cards
   ========================================================= */
body.ivana-site .ivana-gallery-preview{
  padding-top:128px!important;
  padding-bottom:122px!important;
  background:linear-gradient(180deg,#fbfaf7 0%,#f7f2eb 100%)!important;
  overflow:hidden!important;
}
body.ivana-site .gallery-head{
  margin-bottom:62px!important;
}
body.ivana-site .ivana-gallery-grid{
  max-width:1160px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:start!important;
}
body.ivana-site .ivana-g-item,
body.ivana-site .ivana-g-item:nth-child(2),
body.ivana-site .ivana-g-item:nth-child(3){
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:12px 12px 0!important;
  overflow:hidden!important;
  background:#fffdfa!important;
  border:1px solid rgba(184,170,152,.32)!important;
  box-shadow:0 24px 58px rgba(89,74,56,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
}
body.ivana-site .ivana-g-item:nth-child(2){
  margin-top:44px!important;
}
body.ivana-site .ivana-g-item:before{
  content:""!important;
  position:absolute!important;
  inset:auto!important;
  left:22px!important;
  right:22px!important;
  bottom:84px!important;
  height:1px!important;
  border:0!important;
  background:rgba(184,170,152,.26)!important;
  z-index:3!important;
}
body.ivana-site .ivana-g-item:after{
  content:"01"!important;
  position:absolute!important;
  top:24px!important;
  left:24px!important;
  right:auto!important;
  width:auto!important;
  height:auto!important;
  transform:none!important;
  background:rgba(251,250,247,.88)!important;
  border:1px solid rgba(184,170,152,.28)!important;
  box-shadow:0 12px 28px rgba(89,74,56,.09)!important;
  z-index:4!important;
  padding:8px 11px!important;
  font-family:'Montserrat',sans-serif!important;
  font-size:9px!important;
  letter-spacing:.22em!important;
  color:#8d806f!important;
}
body.ivana-site .ivana-g-item:nth-child(2):after{content:"02"!important;}
body.ivana-site .ivana-g-item:nth-child(3):after{content:"03"!important;}
body.ivana-site .ivana-g-item img{
  width:100%!important;
  height:365px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  position:relative!important;
  z-index:1!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:saturate(.88) brightness(1.04) contrast(.96)!important;
  transition:transform .65s ease,filter .65s ease!important;
}
body.ivana-site .ivana-g-item:hover img{
  transform:scale(1.035)!important;
  filter:saturate(.96) brightness(1.02) contrast(.98)!important;
}
body.ivana-site .ivana-g-label{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:26px 18px 28px!important;
  background:#fffdfa!important;
  border:0!important;
  box-shadow:none!important;
  color:#504a43!important;
  text-align:center!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:25px!important;
  line-height:1.15!important;
  letter-spacing:.035em!important;
  text-transform:none!important;
  z-index:2!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
body.ivana-site .ivana-g-label:before{
  content:"Ausgewählte Galerie"!important;
  display:block!important;
  font-family:'Montserrat',sans-serif!important;
  font-size:8px!important;
  line-height:1.4!important;
  letter-spacing:.36em!important;
  text-transform:uppercase!important;
  color:#a4937c!important;
  margin:0 0 8px!important;
}
@media(max-width:980px){
  body.ivana-site .ivana-gallery-preview{padding-top:96px!important;padding-bottom:96px!important;}
  body.ivana-site .ivana-gallery-grid{grid-template-columns:1fr!important;gap:28px!important;max-width:620px!important;}
  body.ivana-site .ivana-g-item:nth-child(2){margin-top:0!important;}
  body.ivana-site .ivana-g-item img{height:390px!important;}
  body.ivana-site .ivana-g-label{font-size:24px!important;}
}
@media(max-width:600px){
  body.ivana-site .ivana-gallery-preview{padding:78px 18px!important;}
  body.ivana-site .gallery-head{margin-bottom:38px!important;}
  body.ivana-site .ivana-gallery-grid{gap:24px!important;}
  body.ivana-site .ivana-g-item{padding:10px 10px 0!important;}
  body.ivana-site .ivana-g-item img{height:285px!important;}
  body.ivana-site .ivana-g-label{font-size:22px!important;padding:24px 14px 25px!important;}
  body.ivana-site .ivana-g-label:before{letter-spacing:.28em!important;}
}

/* FINAL PATCH: custom wedding rings hero image - full cover crop, no side blank */
body.ivana-site .ivana-hero{
  background:
    linear-gradient(to bottom, rgba(251,250,247,.16), rgba(251,250,247,.03) 42%, rgba(251,250,247,.16)),
    radial-gradient(ellipse at center, rgba(74,63,49,.42) 0%, rgba(74,63,49,.26) 36%, rgba(255,255,255,.05) 70%),
    url('../img/ivana-hero-rings.jpg') center center/cover no-repeat!important;
}
body.ivana-site .ivana-hero-content{
  background:rgba(96,82,65,.30)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  box-shadow:0 30px 90px rgba(65,54,42,.20)!important;
}
@media(max-width:980px){
  body.ivana-site .ivana-hero{
    background:
      linear-gradient(to bottom, rgba(251,250,247,.22), rgba(74,63,49,.28)),
      url('../img/ivana-hero-rings.jpg') center center/cover no-repeat!important;
  }

}


.client-gallery,
.client-hero,
.album-client-page{
    padding-top:140px !important;
}