@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Manrope:wght@300;400;500;600&display=swap');

:root {
  --ink: #17130e;
  --cream: #f1e8da;
  --paper: #f8f3ea;
  --gold: #b58a38;
  --gold-light: #d7bc79;
  --line: rgba(23, 19, 14, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: 'Manrope', sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.public-site .intro, .public-site .collection, .public-site .new-arrivals, .public-site .process, .public-site .contact, .public-site footer { content-visibility: auto; contain-intrinsic-size: auto 800px; }
.public-site { background: #faf7f0; }
.public-site .hero,
.public-site .intro,
.public-site .collection,
.public-site .new-arrivals,
.public-site .process,
.public-site footer { background: #faf7f0; }
.public-site .intro,
.public-site .new-arrivals,
.public-site .process { border-top: 1px solid rgba(181,138,56,.13); }
.public-site .logo-crop { background: #faf7f0; }
.public-site footer { border-top: 1px solid rgba(181,138,56,.18); color: #756957; }
.public-site .wordmark-footer small { color: #756957; }

.site-header {
  height: 92px; padding: 0 clamp(24px, 5vw, 80px); display: flex; align-items: center;
  justify-content: space-between; position: absolute; z-index: 10; width: 100%; color: var(--ink);
}
.wordmark { display: inline-flex; flex-direction: column; align-items: center; line-height: .72; letter-spacing: .13em; }
.wordmark span { font-family: 'Cormorant Garamond', serif; font-size: 31px; font-weight: 600; color: var(--gold-light); }
.wordmark small { font-size: 8px; letter-spacing: .55em; padding-left: .55em; color: var(--ink); }
nav { display: flex; gap: 38px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
nav a { opacity: .82; transition: opacity .2s; }
nav a:hover { opacity: 1; }
.nav-cta { border-bottom: 1px solid var(--gold-light); padding-bottom: 7px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }

.hero { min-height: 830px; display: grid; grid-template-columns: 48% 52%; background: linear-gradient(145deg, #fbf7ef 0%, var(--cream) 100%); color: var(--ink); overflow: hidden; }
.hero-copy { padding: 210px 7vw 100px; display: flex; flex-direction: column; justify-content: center; position: relative; }
.eyebrow { margin: 0 0 24px; color: var(--gold); font-size: 10px; letter-spacing: .27em; text-transform: uppercase; font-weight: 600; }
h1, h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; margin: 0; line-height: .94; }
h1 { font-size: clamp(66px, 7vw, 112px); max-width: 680px; letter-spacing: -.035em; }
h1 em { color: var(--gold-light); font-weight: 400; }
.hero-lead { max-width: 520px; font-family: 'Cormorant Garamond', serif; font-size: 23px; line-height: 1.5; color: #665b4d; margin: 36px 0 44px; }
.hero-actions { display: flex; align-items: center; gap: 34px; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 53px; padding: 0 26px; text-transform: uppercase; letter-spacing: .14em; font-size: 10px; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-gold { background: var(--gold); color: #fff; }
.text-link { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; border-bottom: 1px solid rgba(23,19,14,.3); padding-bottom: 7px; }
.hero-visual { position: relative; background: #d8dde8; min-height: 830px; }
.hero-frame { width: 100%; height: 100%; overflow: hidden; }
.hero-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 13%; }
.hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(241,232,218,.2), transparent 28%), linear-gradient(0deg, rgba(23,19,14,.42), transparent 30%); pointer-events: none; }
.signature { position: absolute; bottom: 63px; right: 52px; z-index: 2; font-family: 'Cormorant Garamond', serif; font-size: 72px; color: rgba(255,255,255,.5); font-style: italic; }
.hero-note { position: absolute; bottom: 62px; left: 42px; z-index: 2; margin: 0; font-family: 'Cormorant Garamond', serif; font-size: 18px; line-height: 1.35; }

.intro { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; padding: 130px clamp(24px, 8vw, 130px); background: var(--cream); }
.intro h2, .section-heading h2, .process h2, .contact h2 { font-size: clamp(50px, 5.5vw, 82px); letter-spacing: -.025em; }
.intro-copy { padding-top: 26px; }
.intro-copy > p { font-family: 'Cormorant Garamond', serif; font-size: 24px; line-height: 1.55; margin: 0 0 42px; color: #554b3c; }
.pill-row { display: flex; flex-wrap: wrap; gap: 9px; }
.pill-row span { border: 1px solid var(--line); padding: 10px 14px; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }

.collection { padding: 130px clamp(18px, 5vw, 80px); }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin: 0 auto 64px; max-width: 1300px; }
.section-heading > p { max-width: 370px; color: #766a5a; font-family: 'Cormorant Garamond', serif; font-size: 20px; line-height: 1.45; }
.gallery { max-width: 1300px; margin: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 28px; align-items: start; }
.gallery-card { margin: 0; position: relative; }
.gallery-card, .new-card { contain: layout paint; }
.gallery-image-button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: zoom-in; overflow: hidden; text-align: inherit; }
.gallery-image-button img { transition: transform .45s ease; }
.gallery-image-button:hover img { transform: scale(1.018); }
.gallery-image-button::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(20,16,11,.16); opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.gallery-image-button::after { content: ""; position: absolute; left: 50%; top: 50%; z-index: 2; width: 38px; height: 38px; opacity: 0; transform: translate(-50%, -50%) scale(.82); transition: opacity .25s ease, transform .25s ease; pointer-events: none; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='21' cy='21' r='12' fill='none' stroke='white' stroke-width='2.5'/%3E%3Cpath d='M29.5 29.5 39 39M21 15v12M15 21h12' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E"); filter: drop-shadow(0 2px 5px rgba(0,0,0,.35)); }
.gallery-image-button:hover::before, .gallery-image-button:focus-visible::before { opacity: 1; }
.gallery-image-button:hover::after, .gallery-image-button:focus-visible::after { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.gallery-image-button:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.gallery-card img { width: 100%; height: 660px; object-fit: cover; object-position: center top; background: #e8e7e5; }
.gallery-card figcaption { display: flex; justify-content: space-between; align-items: center; padding-top: 15px; border-top: 1px solid var(--line); margin-top: 14px; }
.gallery-card figcaption span { color: var(--gold); font-size: 9px; letter-spacing: .16em; }
.gallery-card figcaption strong { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 500; }
.card-1, .card-2, .card-3, .card-4 { grid-column: auto; margin-top: 0; }
.card-2 img, .card-3 img { height: 660px; }

.new-arrivals { padding: 120px clamp(18px, 5vw, 80px); background: var(--cream); }
.new-gallery { max-width: 1300px; margin: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.new-card { margin: 0; position: relative; }
.new-card img { width: 100%; height: 560px; object-fit: cover; object-position: center top; background: #e5ddd1; }
.new-card figcaption { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.new-card figcaption span { color: var(--gold); font-size: 9px; letter-spacing: .14em; }
.new-card figcaption strong { font-family: 'Cormorant Garamond', serif; font-size: 23px; font-weight: 500; }
.gallery-dots { position: relative; z-index: 4; height: 0; display: flex; justify-content: center; align-items: center; gap: 7px; transform: translateY(-27px); }
.gallery-dot { width: 8px; height: 8px; padding: 0; border: 1px solid rgba(255,255,255,.95); border-radius: 50%; background: rgba(45,37,26,.34); box-shadow: 0 1px 4px rgba(0,0,0,.35); cursor: pointer; transition: transform .2s ease, background .2s ease; }
.gallery-dot:hover { transform: scale(1.25); }
.gallery-dot.is-active { background: #fff; }
.new-empty { max-width: 1300px; min-height: 280px; margin: auto; border: 1px solid rgba(181,138,56,.35); display: grid; place-content: center; justify-items: center; text-align: center; background: rgba(255,255,255,.25); }
.new-empty > span { color: var(--gold); font-size: 9px; letter-spacing: .22em; text-transform: uppercase; }
.new-empty p { margin: 18px 0 25px; font-family: 'Cormorant Garamond', serif; font-size: clamp(25px, 3vw, 38px); }
.new-empty a { border-bottom: 1px solid var(--gold); padding-bottom: 6px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

.process { background: #e9dfd0; color: var(--ink); padding: 120px clamp(24px, 8vw, 130px); text-align: center; }
.process h2 { max-width: 760px; margin: 0 auto 76px; }
.steps { display: grid; grid-template-columns: repeat(3,1fr); text-align: left; border-top: 1px solid rgba(23,19,14,.16); max-width: 1150px; margin: auto; }
.steps article { padding: 38px 42px 10px; border-right: 1px solid rgba(23,19,14,.16); }
.steps article:last-child { border: 0; }
.steps span { color: var(--gold); font-size: 10px; letter-spacing: .16em; }
.steps h3 { font-family: 'Cormorant Garamond', serif; font-size: 33px; font-weight: 500; margin: 24px 0 10px; }
.steps p { color: #716656; font-size: 13px; line-height: 1.7; }

.contact { min-height: 620px; display: grid; grid-template-columns: 42% 58%; background: var(--gold); color: #fff; overflow: hidden; }
.logo-crop { position: relative; height: 620px; display: grid; place-items: center; overflow: hidden; background: #f4f5f8; padding: clamp(28px, 5vw, 72px); }
.logo-crop img { width: 100%; height: 100%; object-fit: contain; }
.contact-copy { padding: 100px clamp(35px, 8vw, 120px); display: flex; flex-direction: column; justify-content: center; }
.contact .eyebrow { color: #fff; opacity: .78; }
.contact h2 { max-width: 680px; }
.contact-copy > p:not(.eyebrow) { font-family: 'Cormorant Garamond', serif; font-size: 22px; margin: 28px 0 38px; }
.button-light { background: #fff; color: var(--ink); align-self: flex-start; }
.contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.contact-phone { border-bottom: 1px solid rgba(255,255,255,.62); padding-bottom: 7px; font-family: 'Cormorant Garamond', serif; font-size: 21px; }

footer { padding: 42px clamp(24px, 5vw, 80px); background: #0f0d0a; color: rgba(255,255,255,.55); display: flex; justify-content: space-between; align-items: center; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.wordmark-footer small { color: rgba(255,255,255,.6); }

body.lightbox-open { overflow: hidden; }
.lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: #faf7f0; color: var(--ink); overflow: hidden; }
.lightbox::backdrop { background: rgba(241,232,218,.94); }
.lightbox-toolbar { position: absolute; inset: 0 0 auto; z-index: 4; min-height: 72px; display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 22px; align-items: center; padding: 12px clamp(15px, 2vw, 28px); pointer-events: none; }
.lightbox-info { min-width: 0; display: flex; align-items: baseline; gap: 16px; }
.lightbox-info strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: 'Cormorant Garamond', serif; font-size: 23px; font-weight: 500; }
.lightbox-info span { flex: none; color: var(--gold-light); font-size: 10px; letter-spacing: .14em; }
.lightbox-zoom { display: none; }
.lightbox button { border: 1px solid rgba(23,19,14,.22); background: rgba(255,255,255,.72); color: var(--ink); cursor: pointer; }
.lightbox-zoom button { min-width: 40px; height: 38px; font-size: 19px; }
.lightbox-zoom #lightbox-reset { min-width: 58px; font: 10px 'Manrope', sans-serif; letter-spacing: .08em; }
.lightbox-close { width: 42px; height: 42px; border: 0 !important; background: transparent !important; font-size: 33px; font-weight: 200; pointer-events: auto; }
.lightbox-stage { position: relative; width: 100%; height: 100dvh; display: grid; place-items: center; padding: 72px 86px 36px; overflow: hidden; }
.lightbox-image-wrap { width: 100%; height: 100%; display: grid; place-items: center; overflow: hidden; touch-action: none; cursor: zoom-in; }
.lightbox-image-wrap.is-zoomed { cursor: grab; }
.lightbox-image-wrap.is-zoomed:active { cursor: grabbing; }
.lightbox-image-wrap img { width: auto; height: auto; max-width: calc(100vw - 172px); max-height: calc(100dvh - 108px); object-fit: contain; object-position: center; user-select: none; -webkit-user-drag: none; transform-origin: center; will-change: transform; }
.lightbox-nav { position: absolute; top: 50%; z-index: 3; width: 48px; height: 62px; border: 0 !important; background: transparent !important; color: #6f5424 !important; transform: translateY(-50%); font-size: 48px; line-height: 1; }
.lightbox-prev { left: 18px; }
.lightbox-next { right: 18px; }
.lightbox-help { display: none; }

@media (max-width: 900px) {
  .site-header { height: 76px; padding: 0 20px; }
  nav { display: none; }
  .nav-cta { font-size: 9px; }
  .wordmark span { font-size: 25px; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { min-height: 630px; padding: 150px 24px 76px; }
  .hero-visual { min-height: 650px; }
  .hero-frame img { object-position: center top; }
  .hero-note { left: 22px; bottom: 28px; }
  .signature { right: 22px; bottom: 20px; font-size: 50px; }
  .intro { grid-template-columns: 1fr; padding: 90px 24px; gap: 32px; }
  .section-heading { align-items: start; flex-direction: column; gap: 20px; }
  .section-heading > p { margin: 0; }
  .gallery { gap: 32px 16px; }
  .gallery-card img, .card-2 img, .card-3 img { height: 510px; }
  .card-1, .card-2, .card-3, .card-4 { grid-column: auto; margin-top: 0; }
  .new-gallery { grid-template-columns: repeat(2, 1fr); }
  .new-card img { height: 500px; }
  .steps { grid-template-columns: 1fr; }
  .steps article { border-right: 0; border-bottom: 1px solid rgba(23,19,14,.16); padding: 30px 8px; }
  .contact { grid-template-columns: 1fr; }
  .logo-crop { height: 410px; }
  .contact-copy { padding: 80px 24px; }
  footer { flex-direction: column; gap: 28px; text-align: center; }
}

@media (max-width: 560px) {
  h1 { font-size: 64px; }
  .hero-lead { font-size: 20px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 25px; }
  .collection { padding: 88px 14px; }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 10px; }
  .gallery-card img, .card-2 img, .card-3 img { height: 330px; }
  .gallery-card figcaption { align-items: flex-start; gap: 6px; flex-direction: column; }
  .gallery-card figcaption strong { font-size: 17px; }
  .new-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 10px; }
  .new-card img { height: 330px; }
  .intro h2, .section-heading h2, .process h2, .contact h2 { font-size: 48px; }
  .logo-crop { height: 340px; }
  .lightbox-toolbar { min-height: 72px; grid-template-columns: minmax(0, 1fr) 42px; gap: 8px; }
  .lightbox-info { align-items: flex-start; flex-direction: column; gap: 4px; }
  .lightbox-info strong { max-width: 72vw; font-size: 19px; }
  .lightbox-close { grid-column: 2; grid-row: 1; }
  .lightbox-stage { height: 100dvh; padding: 68px 45px 24px; }
  .lightbox-image-wrap img { max-width: calc(100vw - 90px); max-height: calc(100dvh - 92px); }
  .lightbox-nav { width: 38px; height: 54px; font-size: 34px; }
  .lightbox-prev { left: 4px; }
  .lightbox-next { right: 4px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
@media (hover: none) { .gallery-image-button img, .gallery-image-button::before, .gallery-image-button::after { transition: none; } }

/* Vlasnički panel */
.admin-shell { min-height: 100vh; background: var(--paper); }
.admin-header { height: 86px; padding: 0 clamp(22px, 5vw, 72px); display: flex; align-items: center; justify-content: space-between; background: var(--ink); color: #fff; }
.admin-header .wordmark small { color: rgba(255,255,255,.7); }
.admin-header form { margin: 0; }
.admin-logout { border: 0; border-bottom: 1px solid var(--gold-light); padding: 0 0 4px; background: transparent; color: #fff; text-transform: uppercase; letter-spacing: .12em; font: 9px 'Manrope', sans-serif; cursor: pointer; }
.admin-header > div { display: flex; align-items: center; gap: 24px; font-size: 11px; }
.admin-header > div span { color: rgba(255,255,255,.58); }
.admin-header > div a { border-bottom: 1px solid var(--gold-light); padding-bottom: 4px; text-transform: uppercase; letter-spacing: .12em; font-size: 9px; }
.admin-header-actions { display: flex; align-items: center; gap: 24px; }
.admin-title { padding: 76px clamp(22px, 6vw, 96px) 48px; display: flex; justify-content: space-between; align-items: end; border-bottom: 1px solid var(--line); }
.admin-title h1 { color: var(--ink); font-size: clamp(60px, 8vw, 104px); }
.admin-preview-link { border-bottom: 1px solid var(--gold); padding-bottom: 8px; color: #584a31; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; }
.featured-admin-section { padding: 60px clamp(22px, 6vw, 96px) 0; }
.featured-admin-heading { margin-bottom: 28px; }
.featured-admin-heading h2 { margin: 12px 0 8px; font-size: clamp(38px, 5vw, 58px); }
.featured-admin-heading p { margin: 0; color: #786d5f; font-size: 12px; line-height: 1.7; }
.featured-admin-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.featured-admin-item { display: grid; align-content: start; gap: 15px; padding: 16px; border: 1px solid var(--line); background: #fff; }
.featured-admin-item.is-hidden { background: #eee9e1; }
.featured-admin-preview { position: relative; }
.featured-admin-preview img { width: 100%; height: 280px; object-fit: cover; object-position: center top; }
.featured-admin-preview span { position: absolute; inset: auto 8px 8px; padding: 7px; background: rgba(23,19,14,.82); color: #fff; text-align: center; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.featured-admin-copy span { color: var(--gold); font-size: 9px; letter-spacing: .14em; }
.featured-admin-copy h3 { margin: 7px 0 3px; font: 500 24px 'Cormorant Garamond', serif; }
.featured-admin-copy p { margin: 0; color: #827665; font-size: 10px; }
.admin-title-edit { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; margin-top: 14px; }
.admin-title-edit label { display: grid; gap: 5px; color: #675b4c; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.admin-title-edit input { min-width: 0; width: 100%; height: 38px; padding: 8px 10px; border: 1px solid var(--line); background: var(--paper); color: var(--ink); font: 11px 'Manrope', sans-serif; }
.admin-title-edit button { width: auto !important; min-height: 38px; padding: 0 10px; white-space: nowrap; }
.featured-replace-form { display: grid; gap: 9px; }
.featured-replace-form label { display: grid; gap: 6px; color: #675b4c; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.featured-replace-form input { width: 100%; padding: 9px; border: 1px solid var(--line); background: var(--paper); font-size: 10px; }
.featured-admin-item button { width: 100%; min-height: 38px; border: 1px solid var(--gold); background: transparent; color: #614a1e; cursor: pointer; font: 9px 'Manrope', sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.featured-admin-item .delete-button { border-color: rgba(142,52,44,.38); color: #8e342c; }
.featured-admin-item .restore-button { background: var(--gold); color: #fff; }
.hero-admin-item { max-width: 900px; display: grid; grid-template-columns: minmax(220px, 330px) minmax(180px, 1fr); gap: 24px; align-items: center; padding: 18px; border: 1px solid rgba(181,138,56,.36); background: #fff; }
.hero-admin-item > img { grid-row: 1 / span 2; width: 100%; height: 320px; object-fit: cover; object-position: center top; }
.hero-admin-item .featured-replace-form button { width: 100%; min-height: 42px; border: 0; background: var(--gold); color: #fff; cursor: pointer; font: 9px 'Manrope', sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.admin-grid { display: grid; grid-template-columns: minmax(300px, 420px) 1fr; gap: clamp(28px, 5vw, 74px); padding: 60px clamp(22px, 6vw, 96px) 100px; align-items: start; }
.upload-card, .manage-card { background: #fff; border: 1px solid var(--line); padding: clamp(25px, 3vw, 42px); }
.upload-number { color: var(--gold); font-size: 9px; letter-spacing: .18em; }
.upload-card h2, .manage-card h2 { font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 500; margin: 16px 0 8px; }
.upload-card > p:not(.admin-message), .manage-heading p { color: #786d5f; font-size: 12px; line-height: 1.7; margin: 0 0 30px; }
.upload-card label { display: grid; gap: 8px; margin-bottom: 20px; color: #5e5345; text-transform: uppercase; letter-spacing: .11em; font-size: 9px; }
.upload-card input, .upload-card select { width: 100%; border: 1px solid var(--line); background: var(--paper); padding: 14px; color: var(--ink); font: 13px 'Manrope', sans-serif; }
.upload-card input[type="file"] { padding: 12px; }
.upload-hint { margin: -8px 0 20px !important; color: #877a68 !important; font-size: 10px !important; line-height: 1.55 !important; }
.upload-card .group-images-option { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; margin: 4px 0 24px; padding: 15px; border: 1px solid rgba(181,138,56,.35); background: #fffbf3; text-transform: none; letter-spacing: normal; cursor: pointer; }
.upload-card .group-images-option input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--gold); }
.group-images-option span { display: grid; gap: 5px; }
.group-images-option strong { color: #5e4720; font-size: 12px; font-weight: 600; }
.group-images-option small { color: #7c7163; font-size: 10px; line-height: 1.5; }
.upload-card .button { border: 0; cursor: pointer; width: 100%; }
.upload-card .button:disabled { opacity: .55; cursor: wait; }
.admin-message { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: #71561e; font-size: 12px; line-height: 1.5; }
.manage-heading { display: flex; gap: 20px; border-bottom: 1px solid var(--line); margin-bottom: 10px; }
.admin-empty { color: #7c7163; font-family: 'Cormorant Garamond', serif; font-size: 20px; padding: 36px 0; }
.admin-list { display: grid; }
.admin-item { display: grid; grid-template-columns: 82px minmax(120px, 1fr) auto; gap: 18px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.admin-item img { width: 82px; height: 104px; object-fit: cover; object-position: center top; background: #eee; }
.admin-item-copy { display: grid; gap: 6px; }
.admin-item-copy span { color: var(--gold); font-size: 9px; letter-spacing: .14em; }
.admin-item-copy strong { font-family: 'Cormorant Garamond', serif; font-size: 21px; font-weight: 500; }
.admin-title-edit-inline { max-width: 440px; }
.admin-title-edit-inline button { border-color: var(--gold); color: #614a1e; }
.admin-item-actions { display: flex; gap: 7px; align-items: center; }
.admin-item-actions form { margin: 0; }
.admin-item-actions button { min-width: 34px; height: 34px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
.admin-item-actions button:disabled { opacity: .3; cursor: default; }
.admin-item-actions .delete-button { padding: 0 11px; color: #8e342c; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.admin-denied { min-height: 100vh; display: grid; place-content: center; justify-items: start; padding: 24px; background: var(--ink); color: #fff; }
.admin-denied h1 { max-width: 720px; font-size: clamp(54px, 8vw, 98px); }
.admin-denied > p:not(.eyebrow) { margin: 25px 0 35px; color: rgba(255,255,255,.65); }
.admin-contact-section { padding: 0 clamp(22px, 6vw, 96px) 100px; }
.contact-settings-card { max-width: 1000px; margin-left: auto; background: #fff; border: 1px solid var(--line); padding: clamp(25px, 3vw, 42px); }
.contact-settings-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 28px 0; }
.contact-settings-fields label { display: grid; gap: 8px; color: #5e5345; text-transform: uppercase; letter-spacing: .11em; font-size: 9px; }
.contact-settings-fields input { width: 100%; border: 1px solid var(--line); background: var(--paper); padding: 14px; color: var(--ink); font: 13px 'Manrope', sans-serif; }
.contact-settings-card .button { border: 0; cursor: pointer; }
.content-editor-card { max-width: 1200px; }
.content-editor-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 30px 0; }
.content-editor-section { min-width: 0; margin: 0; padding: 22px; border: 1px solid var(--line); background: #fdfaf5; }
.content-editor-section legend { padding: 0 10px; color: var(--gold); font: 500 24px 'Cormorant Garamond', serif; }
.content-editor-fields { display: grid; gap: 15px; }
.content-editor-fields label { display: grid; gap: 7px; color: #5e5345; text-transform: uppercase; letter-spacing: .1em; font-size: 8px; }
.content-editor-fields input, .content-editor-fields textarea { width: 100%; border: 1px solid var(--line); background: #fff; padding: 12px; resize: vertical; color: var(--ink); font: 12px/1.5 'Manrope', sans-serif; text-transform: none; letter-spacing: normal; }
.password-settings-fields { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 28px 0; }
.password-settings-fields label { display: grid; gap: 8px; color: #5e5345; text-transform: uppercase; letter-spacing: .11em; font-size: 9px; }
.password-settings-fields input { width: 100%; border: 1px solid var(--line); background: var(--paper); padding: 14px; color: var(--ink); font: 13px 'Manrope', sans-serif; }
.flash-wrap { padding: 22px clamp(22px, 6vw, 96px) 0; }
.flash { padding: 13px 16px; border: 1px solid rgba(181,138,56,.35); background: #fffaf0; color: #71561e; font-size: 12px; }
.flash.error { border-color: rgba(142,52,44,.35); color: #8e342c; background: #fff5f3; }
.help-title h1 { font-size: clamp(64px, 9vw, 116px); }
.help-nav { position: sticky; top: 0; z-index: 8; display: flex; flex-wrap: wrap; justify-content: center; gap: 0; padding: 0 clamp(18px, 5vw, 72px); border-bottom: 1px solid var(--line); background: rgba(248,243,234,.96); backdrop-filter: blur(10px); }
.help-nav a { padding: 18px 17px; color: #675b4c; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.help-nav a:hover { color: var(--gold); }
.help-layout { max-width: 1320px; margin: auto; padding: 64px clamp(18px, 5vw, 72px) 110px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.help-card { scroll-margin-top: 80px; min-height: 100%; padding: clamp(26px, 3vw, 42px); border: 1px solid var(--line); background: #fff; }
.help-card-featured { background: linear-gradient(145deg, #fff 0%, #fff9ec 100%); border-color: rgba(181,138,56,.42); }
.help-card-wide { grid-column: 1 / -1; }
.help-card h2 { margin: 14px 0 24px; font-size: clamp(31px, 3vw, 43px); line-height: 1.02; }
.help-card p, .help-card li { color: #695e50; font-size: 12px; line-height: 1.75; }
.help-card ol, .help-card ul { margin: 0 0 20px; padding-left: 21px; }
.help-card li + li { margin-top: 8px; }
.help-card strong { color: #493b26; }
.help-note, .help-warning { margin: 22px 0 0; padding: 14px 16px; border-left: 3px solid var(--gold); background: #fff9ee; }
.help-warning { border-left-color: #a26346; background: #fff7f2; }
.help-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 28px; }
.login-body { min-height: 100vh; background: linear-gradient(145deg, #fbf7ef, var(--cream)); }
.login-shell { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 36px; padding: 24px; }
.login-card { width: min(430px, calc(100vw - 32px)); padding: clamp(30px, 5vw, 54px); background: #fff; border: 1px solid var(--line); }
.login-card h1 { color: var(--ink); font-size: 64px; margin-bottom: 32px; }
.login-card label { display: grid; gap: 8px; margin: 18px 0; color: #5e5345; text-transform: uppercase; letter-spacing: .11em; font-size: 9px; }
.login-card input { width: 100%; border: 1px solid var(--line); background: var(--paper); padding: 14px; color: var(--ink); font: 13px 'Manrope', sans-serif; }
.login-card .button { width: 100%; border: 0; margin-top: 10px; cursor: pointer; }

@media (max-width: 880px) {
  .admin-title { align-items: flex-start; flex-direction: column; gap: 28px; }
  .admin-grid { grid-template-columns: 1fr; }
  .admin-header > div span { display: none; }
  .contact-settings-fields { grid-template-columns: 1fr; }
  .password-settings-fields { grid-template-columns: 1fr; }
  .content-editor-sections { grid-template-columns: 1fr; }
  .help-layout { grid-template-columns: 1fr; }
  .help-card-wide { grid-column: auto; }
  .featured-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-admin-item { grid-template-columns: 220px 1fr; }
}

@media (max-width: 560px) {
  .admin-item { grid-template-columns: 64px 1fr; }
  .admin-item img { width: 64px; height: 82px; }
  .admin-item-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .admin-title-edit { grid-template-columns: 1fr; }
  .admin-header { padding: 0 16px; }
  .admin-header-actions { gap: 14px; }
  .help-nav { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; }
  .help-nav a { flex: none; padding: 15px 13px; }
  .help-layout { padding-top: 34px; }
  .featured-admin-grid { grid-template-columns: 1fr; }
  .featured-admin-preview img { height: 390px; }
  .hero-admin-item { grid-template-columns: 1fr; }
  .hero-admin-item > img { grid-row: auto; height: 390px; }
}
