/* ============================================================
   Theme "murad" — Monochrome Editorial
   White canvas · black ink · graphite gradients
   Gothic blackletter "M" monogram (UnifrakturMaguntia)
   Display serif: Cinzel · Text serif: Cormorant Garamond
   Coppermine Photo Gallery 1.6.x
   ============================================================ */

/* ---------- Fonts ---------- */

@font-face {
    font-family: 'UnifrakturMaguntia';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(fonts/unifraktur-400.woff2) format('woff2');
}
@font-face {
    font-family: 'Cinzel';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(fonts/cinzel-500.woff2) format('woff2');
}
@font-face {
    font-family: 'Cinzel';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(fonts/cinzel-700.woff2) format('woff2');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(fonts/cormorant-500.woff2) format('woff2');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(fonts/cormorant-600.woff2) format('woff2');
}
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(fonts/cormorant-700.woff2) format('woff2');
}

/* ---------- Base ---------- */

html {
    background: #ffffff;
}

body {
    margin: 0;
    padding: 0;
    background:
        radial-gradient(1200px 420px at 50% -80px, #f2f2f2 0%, rgba(255,255,255,0) 70%),
        #ffffff;
    color: #161616;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.55;
}

::selection      { background: #111; color: #fff; }
::-moz-selection { background: #111; color: #fff; }

/* monochrome scrollbar */
html { scrollbar-color: #b5b5b5 #f2f2f2; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #f2f2f2; }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #8d8d8d, #5f5f5f);
    border-radius: 8px;
    border: 2px solid #f2f2f2;
}
::-webkit-scrollbar-thumb:hover { background: #2f2f2f; }

a:link, a:visited {
    color: #111;
    text-decoration: none;
    transition: color .18s ease;
}
a:hover, a:active, a:focus {
    color: #000;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

h1, h2 {
    font-family: 'Cinzel', 'Times New Roman', serif;
    font-weight: 700;
    color: #0d0d0d;
    letter-spacing: .04em;
}
h3 {
    color: #333;
    font-weight: 600;
}
p { margin: 0; padding: 2px; }
table { font-size: 14px; }

.menuheight { display: none; }
.clearer { clear: both; }

img { border: 0; }

/* ============================================================
   Masthead — gothic monogram + gallery name
   ============================================================ */

#cpg_logo_block_outer {
    padding: 46px 16px 30px;
    text-align: center;
    background: linear-gradient(180deg, #fbfbfb 0%, #ffffff 100%);
}

#cpg_logo_block_outer .cpg_logo_block_inner {
    max-width: 1200px;
    margin: 0 auto;
}

#cpg_logo_block_logo {
    float: none;
    display: block;
}

/* The blackletter M monogram */
#logo_m {
    display: inline-block;
    text-decoration: none;
    line-height: 1;
    -webkit-filter: drop-shadow(0 10px 22px rgba(0,0,0,.22));
    filter: drop-shadow(0 10px 22px rgba(0,0,0,.22));
    transition: transform .35s cubic-bezier(.2,.8,.25,1), filter .35s ease;
}
#logo_m:hover {
    text-decoration: none;
    transform: translateY(-3px) scale(1.03);
    -webkit-filter: drop-shadow(0 18px 34px rgba(0,0,0,.3));
    filter: drop-shadow(0 18px 34px rgba(0,0,0,.3));
}
#logo_m .logo_glyph {
    font-family: 'UnifrakturMaguntia', 'Old English Text MT', serif;
    font-size: 118px;
    font-weight: 400;
    display: inline-block;
    padding: 0 .12em;
    background: linear-gradient(178deg, #000000 18%, #2d2d2d 52%, #6e6e6e 88%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #000; /* fallback for old browsers */
}

/* Gallery name with flanking hairlines */
#cpg_logo_block_name { float: none; text-align: center; padding: 0; }

#cpg_logo_block_name h1 {
    margin: 14px 0 4px;
    font-family: 'Cinzel', 'Times New Roman', serif;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: .42em;
    text-indent: .42em; /* compensate last letter-space for true centering */
    text-transform: uppercase;
    white-space: nowrap;
}
#cpg_logo_block_name h1 .gal_name_text {
    display: inline-block;
    vertical-align: middle;
    background: linear-gradient(180deg, #000 35%, #5c5c5c);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #000;
    padding: 0 18px;
}
#cpg_logo_block_name h1 .gal_name_rule {
    display: inline-block;
    vertical-align: middle;
    height: 1px;
    width: 110px;
}
#cpg_logo_block_name h1 .gal_name_rule:first-child {
    background: linear-gradient(to right, rgba(0,0,0,0), #9a9a9a);
}
#cpg_logo_block_name h1 .gal_name_rule:last-child {
    background: linear-gradient(to left, rgba(0,0,0,0), #9a9a9a);
}

#cpg_logo_block_name h3 {
    margin: 2px 0 0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: 19px;
    color: #6f6f6f;
    letter-spacing: .02em;
}

/* ============================================================
   Menu bar
   ============================================================ */

#cpg_header_block_outer {
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,247,247,.92));
    border-top: 1px solid #ebebeb;
    border-bottom: 1px solid #e4e4e4;
    box-shadow: 0 10px 24px -18px rgba(0,0,0,.35);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 980;
    -webkit-backdrop-filter: saturate(1.1) blur(10px);
    backdrop-filter: saturate(1.1) blur(10px);
}

#cpg_header_block_outer .cpg_header_block_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 8px 14px;
}

#main_menu { text-align: center; }

/* --- functional skeleton (do not remove) --- */
.dropmenu, .dropmenu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 1.2;
}
.dropmenu {
    display: inline-block;
    vertical-align: middle;
    padding: 2px 6px;
}
.dropmenu li {
    float: left;
    position: relative;
    padding: 0;
    margin: 0 2px;
}
.dropmenu li ul {
    z-index: 990;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 17.5em;
    margin: 6px 0 0;
    padding: 6px;
    background: #ffffff;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    box-shadow: 0 24px 48px -12px rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.06);
    text-align: left;
}
.dropmenu li:hover ul { display: block; }
.dropmenu li:hover ul ul, .dropmenu li:hover ul ul ul { top: -999em; }
.dropmenu li li:hover ul { top: auto; }
.dropmenu li ul ul { margin: -2.4em 0 0 15em; }
/* --- end skeleton --- */

.dropmenu a {
    display: block;
    color: #1a1a1a;
    text-decoration: none;
}
.dropmenu a:hover { text-decoration: none; }

.dropmenu a span { display: block; }

/* first level: quiet pills that turn to black gradient */
.dropmenu li a.firstlevel {
    border-radius: 999px;
    padding: 8px 15px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #2a2a2a;
    border: 1px solid rgba(0,0,0,0);
    transition: background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.dropmenu li a.firstlevel span.firstlevel {
    display: inline;
    padding: 0;
    position: static;
}
.dropmenu li a.firstlevel:hover,
.dropmenu li a.active {
    background: linear-gradient(180deg, #3d3d3d 0%, #000000 100%);
    color: #ffffff;
    border-color: #000;
    box-shadow: 0 8px 18px -6px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.14);
    cursor: pointer;
    text-decoration: none;
}
.dropmenu li a.firstlevel:hover span.firstlevel,
.dropmenu li a.active span.firstlevel {
    color: #fff;
    background: none;
}

/* second level: clean white sheet */
.dropmenu li li {
    float: none;
    width: auto;
    margin: 0;
    border: 0;
}
.dropmenu li li a,
.dropmenu li li a.firstlevel {
    border: 0;
    border-radius: 8px;
    padding: 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .02em;
    text-transform: none;
    color: #222;
}
.dropmenu li li a span {
    display: block;
    padding: 9px 12px;
}
.dropmenu li li a:hover,
.dropmenu li li a.firstlevel:hover,
.dropmenu li li a.firstlevel:hover span.firstlevel {
    background: #f1f1f1 !important;
    color: #000 !important;
    text-decoration: none !important;
    border-radius: 8px;
}
.dropmenu li li.additional_items { background: #fff; }

/* monochrome icons everywhere in the chrome */
.dropmenu img, .navmenu img, .statlink img, .button img, .admin_menu img {
    -webkit-filter: grayscale(1) contrast(1.05);
    filter: grayscale(1) contrast(1.05);
    opacity: .8;
    vertical-align: middle;
}

/* ============================================================
   Main content shell
   ============================================================ */

#cpg_main_block_outer { background: transparent; }

#cpg_main_block_outer .cpg_main_block_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 18px 10px;
}

/* Cards: the classic Coppermine table becomes a floating sheet.
   cellspacing=1 over the table background draws hairline grid lines. */
.maintable {
    background: #e9e9e9;
    border: 1px solid #e2e2e2;
    border-radius: 14px;
    border-collapse: separate;
    border-spacing: 1px;
    overflow: hidden;
    box-shadow: 0 18px 50px -22px rgba(0,0,0,.28), 0 2px 10px rgba(0,0,0,.04);
    margin-top: 22px;
    margin-bottom: 6px;
}

/* dark gradient title band */
.tableh1 {
    background: linear-gradient(180deg, #343434 0%, #101010 60%, #000000 100%);
    color: #ffffff;
    padding: 12px 18px;
    font-family: 'Cinzel', serif;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.tableh1 a:link, .tableh1 a:visited { color: #fff; }
.tableh1 a:hover { color: #d9d9d9; }
.tableh1 b, .tableh1 h2 { color: #fff; font-family: inherit; font-size: inherit; margin: 0; }

.cpg_starttable_outer  { background: linear-gradient(180deg, #343434, #000000); }
.cpg_starttable_outer div.cpg_starttable_inner {
    padding: 12px 18px;
    color: #fff;
    font-family: 'Cinzel', serif;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.cpg_starttable_inner a:link, .cpg_starttable_inner a:visited { color: #fff; }
.cpg_starttable_inner h2 { margin: 0; font-size: inherit; color: #fff; font-family: inherit; }

.tableh2 {
    background: linear-gradient(180deg, #fafafa, #efefef);
    color: #111;
    padding: 10px 16px;
    font-weight: 600;
    font-size: 12.5px;
    letter-spacing: .04em;
}
.tableh2 a:link, .tableh2 a:visited { color: #111; }

.tableb {
    background: #ffffff;
    padding: 10px 16px;
}
.tableb_alternate { background: #fafafa; padding: 10px 16px; }
.tableb_compact { padding: 4px 8px; }

.tablef {
    background: linear-gradient(180deg, #f8f8f8, #f0f0f0);
    padding: 9px 16px;
    font-size: 11px;
    color: #666;
}

/* category / album rows */
.catrow, .catrow_noalb {
    background: linear-gradient(180deg, #f9f9f9, #f1f1f1);
    padding: 10px 16px;
}

.catlink, .alblink { font-family: 'Cormorant Garamond', Georgia, serif; }

.catlink a, .alblink a {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 700;
    font-size: 21px;
    line-height: 1.25;
    letter-spacing: .01em;
    background: linear-gradient(180deg, #000000 40%, #4e4e4e);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #000;
    transition: opacity .18s ease;
}
.catlink a:hover, .alblink a:hover {
    text-decoration: none;
    opacity: .62;
}

.album_stat {
    font-size: 11px;
    color: #8a8a8a;
    letter-spacing: .03em;
}

.cpg_summary { text-align: center; color: #777; }

/* ============================================================
   Thumbnails
   ============================================================ */

.thumbnails {
    background: #ffffff;
    padding: 14px;
}

.image, .imageborder {
    border: 1px solid #e3e3e3;
    background: #ffffff;
    padding: 6px;
    border-radius: 10px;
    box-shadow: 0 4px 14px -6px rgba(0,0,0,.18);
    transition: transform .28s cubic-bezier(.2,.8,.25,1), box-shadow .28s ease, border-color .28s ease;
}

a:hover .image {
    transform: translateY(-4px);
    box-shadow: 0 22px 38px -14px rgba(0,0,0,.35);
    border-color: #9d9d9d;
}

.display_media {
    display: block;
    margin: 0 auto;
    text-align: center;
}

.thumb_title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    font-size: 16px;
    color: #131313;
    display: block;
    padding-top: 6px;
}
.thumb_caption {
    font-size: 11px;
    color: #7c7c7c;
    display: block;
}
.thumb_caption a { color: #444; }
.thumb_filename {
    font-size: 10px;
    color: #a5a5a5;
    display: block;
}
.thumb_num_comments {
    font-size: 10px;
    color: #8d8d8d;
    display: block;
    font-style: italic;
}

.pic_title { font-weight: 600; color: #111; }
.pic_caption { color: #666; font-size: 12px; }

/* user galleries thumb infobox */
.user_thumb_infobox { text-align: center; }
.user_thumb_infobox th {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 700;
    font-size: 15px;
}
.user_thumb_infobox td { font-size: 11px; color: #777; }
.user_thumb_infobox a:link, .user_thumb_infobox a:visited { color: #111; }

/* ============================================================
   Film strip
   ============================================================ */

.filmstrip_background { background: #fafafa !important; }
.filmstrip_background .thumb { background: transparent; }
.tape { background: transparent; }
.thumb { padding: 8px; }

/* ============================================================
   Buttons & forms
   ============================================================ */

.button, a.button, .admin_menu, a.admin_menu {
    display: inline-block;
    background: linear-gradient(180deg, #3a3a3a 0%, #000000 100%);
    color: #ffffff !important;
    border: 1px solid #000;
    border-radius: 999px;
    padding: 7px 17px;
    margin: 2px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: 0 6px 14px -6px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.14);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
a:hover.button, a:hover.admin_menu,
.button:hover, .admin_menu:hover {
    background: linear-gradient(180deg, #5a5a5a 0%, #1c1c1c 100%);
    transform: translateY(-1px);
    box-shadow: 0 12px 22px -8px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.18);
    color: #fff !important;
    text-decoration: none !important;
}
.button:active, .admin_menu:active { transform: translateY(0); }

input[disabled] { opacity: .45; cursor: not-allowed; }

.textinput, .listbox, .listbox_lang {
    background: #ffffff;
    color: #141414;
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    padding: 8px 11px;
    font-family: inherit;
    font-size: 13px;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.textinput:focus, .listbox:focus, .listbox_lang:focus {
    outline: none;
    border-color: #111;
    box-shadow: 0 0 0 3px rgba(0,0,0,.09);
}

.checkbox, .radio { background: transparent; border: 0; }

div.fieldset {
    border: 1px solid #e4e4e4;
    border-radius: 12px;
    background: #fcfcfc;
    padding: 14px;
    margin: 10px 0;
}
div.fieldset span.legend {
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #333;
}

/* ============================================================
   Navigation / breadcrumbs / pagination
   ============================================================ */

.navmenu {
    background: #ffffff;
    padding: 4px 8px;
}
.navmenu a {
    display: inline-block;
    color: #222;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 5px 10px;
    margin: 2px 1px;
    font-size: 12px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.navmenu a:hover {
    background: linear-gradient(180deg, #3a3a3a, #000);
    color: #fff;
    border-color: #000;
    text-decoration: none;
}

.statlink {
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #8a8a8a;
    background: #fff;
    padding: 6px 10px;
}
.statlink a:link, .statlink a:visited { color: #111; font-weight: 600; }
.statlink a:hover { color: #000; }

.topmenu { font-size: 11px; }
.topmenu a:link, .topmenu a:visited { color: #333; }

.sortorder_cell { background: #fff; font-size: 10px; }
.sortorder_options { font-size: 10px; color: #999; }
.sortorder_options a { color: #555; }

/* ============================================================
   Messages & system feedback
   ============================================================ */

.cpg_message_info, .cpg_message_success, .cpg_message_warning,
.cpg_message_error, .cpg_message_validation {
    background: #ffffff;
    border: 1px solid #e4e4e4;
    border-left-width: 4px;
    border-radius: 10px;
    box-shadow: 0 10px 26px -16px rgba(0,0,0,.25);
    padding: 12px 16px;
    margin: 14px auto;
    font-size: 13px;
    color: #222;
}
.cpg_message_info       { border-left-color: #1c1c1c; }
.cpg_message_success    { border-left-color: #3f6f46; }
.cpg_message_warning    { border-left-color: #9c7c1e; }
.cpg_message_error      { border-left-color: #9b2c2c; }
.cpg_message_validation { border-left-color: #555; }

.message { color: #222; }
.important { font-weight: 700; color: #000; }

.red   { color: #9b2c2c; }
.green { color: #3f6f46; }
.blue  { color: #2b4a6f; }

.debug_text, pre.filepath {
    background: #f6f6f6;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    padding: 8px 10px;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    color: #333;
}

/* comments */
.comment_date { font-size: 10px; color: #9a9a9a; letter-spacing: .04em; }

/* ============================================================
   Footer
   ============================================================ */

#cpg_footer_block_outer {
    margin-top: 44px;
    padding: 30px 16px 44px;
    text-align: center;
    background: linear-gradient(180deg, #ffffff, #f6f6f6);
    border-top: 1px solid #e8e8e8;
}

#cpg_footer_block_outer .cpg_footer_block_inner {
    max-width: 1200px;
    margin: 0 auto;
}

.footer_mark {
    font-family: 'UnifrakturMaguntia', serif;
    font-size: 40px;
    line-height: 1;
    margin-bottom: 10px;
    background: linear-gradient(180deg, #1a1a1a, #7a7a7a);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #111;
    opacity: .9;
}

.footer, .footer a {
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #9a9a9a;
}
.footer a:link, .footer a:visited { color: #555; }
.footer a:hover { color: #000; }

/* ============================================================
   Misc / compatibility
   ============================================================ */

/* language/theme chooser flyouts */
#cpgChooseLanguageWrapper, #cpgChooseThemeWrapper {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 12px;
    box-shadow: 0 24px 48px -12px rgba(0,0,0,.22);
}

/* greybox viewer chrome stays neutral */
#GB_window { background: #fff; border: 1px solid #ccc; }

.clickable_option { cursor: pointer; }

.alblink img, .catlink img {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    opacity: .75;
}

/* zebra rows in admin lists */
table .zebra:nth-child(even) td { background: #fafafa; }

/* keep wide admin tables usable */
.maintable td { overflow-wrap: break-word; }

/* smaller masthead on narrow screens */
@media (max-width: 640px) {
    #logo_m .logo_glyph { font-size: 84px; }
    #cpg_logo_block_name h1 { font-size: 17px; letter-spacing: .3em; text-indent: .3em; white-space: normal; }
    #cpg_logo_block_name h1 .gal_name_rule { width: 44px; }
    #cpg_main_block_outer .cpg_main_block_inner { padding: 18px 8px 6px; }
}

/* ============================================================
   Menu hover-gap fix (2026-07-24)
   Bug: the CONFIG/USERS dropdowns closed when the cursor crossed
   the 6px gap between the first-level pill and the dropdown sheet
   (li:hover was lost over the empty gap -> display:none).
   Fix: a transparent "bridge" pseudo-element that extends the
   sub-menu's hoverable area up into the gap. Purely functional,
   no visual change.
   ============================================================ */
.dropmenu li > ul::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    right: 0;
    height: 8px;
    background: transparent;
}
