/* ============================================================
   THEME: THE DRAFTING TABLE                       (June 2026)
   ------------------------------------------------------------
   First theme of the extensible theme system. A theme is one
   CSS file implementing the variable contract below across the
   five time-of-day states the main site's theme-manager already
   sets on <body> (theme-dawn / -morning / -afternoon / -evening
   / -night). The gallery's PHP only emits
   <html data-gallery-theme="drafting-table"> and links this file
   — all aesthetics live here. Future themes (Kherishdar,
   Peltedverse, Le'enle) are new files honoring the same contract.

   Pin colors are SETTING-coded, derived from setting tags:
     pelted = blue · jokka = amber · kherishdar = violet ·
     faulfenza = teal · misc = red
   ============================================================ */

/* ---------- 1. THE VARIABLE CONTRACT + TIME PALETTES ---------- */

html[data-gallery-theme="drafting-table"] body {
  --desk:#8a6f55; --desk2:#76583f; --paper:#f7f2e6; --paper2:#efe6d2;
  --ink:#3c3429; --ink-soft:#7a6e5c; --pencil:#5e564a; --accent:#b4533e;
  --tape:rgba(244,222,150,.75); --shadow:rgba(60,40,20,.35);
  --glow:none; --kraft:#c9a876; --kraft2:#b08f5e; --card-line:#ddd2b8;
  --pin-pelted:#3e6fa8; --pin-jokka:#c9882b; --pin-kherishdar:#7a4fa0;
  --pin-faulfenza:#2e8b7a; --pin-misc:#a4322a;
  --hand:"Bradley Hand","Segoe Print","Comic Sans MS",cursive;
  --serif:"Iowan Old Style",Palatino,Georgia,serif;
}
html[data-gallery-theme="drafting-table"] body.theme-dawn {
  --desk:#7d6a62; --desk2:#6a5751; --paper:#f6f0e8; --paper2:#ece2d4;
  --ink:#3e3630; --ink-soft:#7e7268; --pencil:#615850; --accent:#a85648;
  --tape:rgba(238,214,164,.7); --shadow:rgba(70,50,45,.3);
  --glow:radial-gradient(ellipse 70% 40% at 80% 0%, rgba(255,200,180,.22), transparent 70%);
  --kraft:#c3a47e; --kraft2:#a98c64;
}
html[data-gallery-theme="drafting-table"] body.theme-evening {
  --desk:#6e5240; --desk2:#5c422f; --paper:#f4ead4; --paper2:#e9dabd;
  --ink:#3f352a; --ink-soft:#80715b; --pencil:#5e5446; --accent:#ad4c36;
  --tape:rgba(240,206,130,.72); --shadow:rgba(45,28,15,.45);
  --glow:radial-gradient(ellipse 70% 42% at 15% 0%, rgba(255,170,90,.25), transparent 70%);
  --kraft:#bd9a68; --kraft2:#a37f50;
}
html[data-gallery-theme="drafting-table"] body.theme-night,
html[data-gallery-theme="drafting-table"] body.time-night {
  --desk:#3e3142; --desk2:#2e2434; --paper:#efe3c8; --paper2:#e2d2b0;
  --ink:#42382a; --ink-soft:#84765e; --pencil:#5e5444; --accent:#a84a36;
  --tape:rgba(232,202,120,.7); --shadow:rgba(10,5,20,.55);
  --glow:radial-gradient(ellipse 60% 45% at 50% 0%, rgba(255,214,140,.28), transparent 70%);
  --kraft:#b29260; --kraft2:#977748;
}

/* ---------- 2. THE DESK ---------- */

html[data-gallery-theme="drafting-table"] body {
  background:
    var(--glow),
    repeating-linear-gradient(90deg, var(--desk) 0 140px, var(--desk2) 140px 142px, var(--desk) 142px 280px) !important;
  background-color: var(--desk) !important;
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  line-height: 1.6;
  transition: background-color .8s;
}
html[data-gallery-theme="drafting-table"] .container {
  background: transparent !important;
  max-width: 1150px !important;
}
html[data-gallery-theme="drafting-table"] .gallery-main { padding: 1.4rem 0 3rem; }

/* ---------- 3. HEADER STRIP, CONTEXT BAR, BREADCRUMBS ---------- */

html[data-gallery-theme="drafting-table"] .user-auth-header {
  background: var(--paper) !important;
  color: var(--ink) !important;
  box-shadow: 0 6px 18px var(--shadow);
  border: none !important;
  padding: .6rem 1.2rem !important;
}
html[data-gallery-theme="drafting-table"] .breadcrumb-link,
html[data-gallery-theme="drafting-table"] .breadcrumb-current { color: var(--ink-soft) !important; }
html[data-gallery-theme="drafting-table"] .breadcrumb-current { font-weight: 700; color: var(--ink) !important; }
html[data-gallery-theme="drafting-table"] .user-menu-btn {
  background: var(--paper2) !important; color: var(--ink) !important;
  border: 1px solid var(--card-line) !important; border-radius: 999px;
}
html[data-gallery-theme="drafting-table"] .user-dropdown {
  background: var(--paper) !important; color: var(--ink) !important;
  border: 1px solid var(--card-line) !important;
  box-shadow: 0 10px 24px var(--shadow) !important;
}
html[data-gallery-theme="drafting-table"] .dropdown-item { color: var(--ink) !important; }
html[data-gallery-theme="drafting-table"] .dropdown-item:hover { background: var(--paper2) !important; }

/* the tier banner becomes a strip of washi tape */
html[data-gallery-theme="drafting-table"] .user-context-bar {
  background: var(--tape) !important;
  color: #4a4118 !important;
  border: none !important;
  box-shadow: 0 3px 8px rgba(0,0,0,.15);
  font-family: var(--hand);
}
html[data-gallery-theme="drafting-table"] .user-context-bar .access-info,
html[data-gallery-theme="drafting-table"] .user-context-bar .status,
html[data-gallery-theme="drafting-table"] .user-context-bar .benefits,
html[data-gallery-theme="drafting-table"] .user-context-bar .limits { color: #4a4118 !important; }
html[data-gallery-theme="drafting-table"] .user-context-bar a.btn-upgrade {
  color: #7c3018 !important; text-decoration: underline; background: none !important;
}

/* ---------- 4. PAGES PINNED TO THE DESK (image cards) ---------- */

html[data-gallery-theme="drafting-table"] .image-card {
  background: var(--paper) !important;
  border: none !important; border-radius: 0 !important;
  box-shadow: 0 10px 22px var(--shadow) !important;
  padding: .7rem .7rem 1rem;
  position: relative;
  transition: transform .25s;
  overflow: visible !important;
}
html[data-gallery-theme="drafting-table"] .image-card:nth-child(3n)   { transform: rotate(1.4deg); }
html[data-gallery-theme="drafting-table"] .image-card:nth-child(3n+1) { transform: rotate(-1.6deg); }
html[data-gallery-theme="drafting-table"] .image-card:nth-child(3n+2) { transform: rotate(.6deg); }
html[data-gallery-theme="drafting-table"] .image-card:hover {
  transform: rotate(0deg) scale(1.04); z-index: 3;
  box-shadow: 0 14px 30px var(--shadow) !important;
}

/* the pin — colored by the piece's world */
html[data-gallery-theme="drafting-table"] .image-card::before {
  content: ""; position: absolute; top: -9px; left: 50%;
  transform: translateX(-50%); width: 18px; height: 18px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-misc) 55%, #00000066);
  box-shadow: 0 3px 4px rgba(0,0,0,.35); z-index: 4;
}
html[data-gallery-theme="drafting-table"] .image-card[data-setting="pelted"]::before     { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-pelted) 55%, #00000066); }
html[data-gallery-theme="drafting-table"] .image-card[data-setting="jokka"]::before      { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-jokka) 55%, #00000066); }
html[data-gallery-theme="drafting-table"] .image-card[data-setting="kherishdar"]::before { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-kherishdar) 55%, #00000066); }
html[data-gallery-theme="drafting-table"] .image-card[data-setting="faulfenza"]::before  { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-faulfenza) 55%, #00000066); }

html[data-gallery-theme="drafting-table"] .image-card img {
  border: 1px solid var(--card-line) !important; border-radius: 0 !important;
  background: #fffdf6; width: 100%; height: auto;
  filter: none !important;
}
html[data-gallery-theme="drafting-table"] .image-title,
html[data-gallery-theme="drafting-table"] .image-title a { color: var(--ink) !important; font-family: var(--serif); }
html[data-gallery-theme="drafting-table"] .image-metadata {
  color: var(--pencil) !important; font-family: var(--hand); font-size: .9rem;
}

/* ---------- 5. TAGS AS PENCIL HASHTAGS ---------- */

html[data-gallery-theme="drafting-table"] .tag {
  background: none !important; border: none !important; border-radius: 0 !important;
  color: var(--accent) !important; padding: 0 .15rem !important;
  font-size: .82rem !important; box-shadow: none !important;
}
html[data-gallery-theme="drafting-table"] .tag .tag-left::before { content: "#"; opacity: .6; }
html[data-gallery-theme="drafting-table"] .tag .tag-left { color: var(--accent) !important; }
html[data-gallery-theme="drafting-table"] .tag .tag-right {
  color: var(--ink-soft) !important; opacity: 0; transition: opacity .15s;
}
html[data-gallery-theme="drafting-table"] .tag:hover .tag-right { opacity: .8; }
html[data-gallery-theme="drafting-table"] .add-tag-btn {
  background: none !important; border: 1px dashed var(--ink-soft) !important;
  color: var(--ink-soft) !important; font-size: .78rem !important;
  padding: .1rem .5rem !important; border-radius: 999px !important;
}

/* ---------- 6. BUTTONS AS RUBBER STAMPS ---------- */

html[data-gallery-theme="drafting-table"] .gallery-button {
  font-family: var(--serif) !important;
  border: 2px solid var(--accent) !important;
  color: var(--accent) !important;
  background: var(--paper) !important;
  border-radius: 3px !important;
  box-shadow: 0 4px 10px var(--shadow) !important;
  transform: rotate(-.6deg);
  text-decoration: none !important;
}
html[data-gallery-theme="drafting-table"] .gallery-button:nth-child(2n) { transform: rotate(.5deg); }
html[data-gallery-theme="drafting-table"] .gallery-button:hover { transform: rotate(0) translateY(-2px); }
html[data-gallery-theme="drafting-table"] .gallery-button-primary {
  background: var(--accent) !important; color: #fff7ee !important;
}

/* ---------- 7. SEARCH / FILTER AS THE PAPER CARD ---------- */

html[data-gallery-theme="drafting-table"] .search-filter-form,
html[data-gallery-theme="drafting-table"] .search-filter-bar {
  background: var(--paper) !important; border: none !important; border-radius: 0 !important;
  box-shadow: 0 8px 18px var(--shadow) !important;
  transform: rotate(.4deg);
}
html[data-gallery-theme="drafting-table"] .search-filter-form input,
html[data-gallery-theme="drafting-table"] .search-filter-form select {
  font-family: var(--serif) !important; background: #fffdf6 !important;
  border: 1px solid #c9bda0 !important; color: var(--ink) !important;
  border-radius: 0 !important;
}

/* ---------- 8. THE IMAGE PAGE: ONE BIG PINNED SHEET ---------- */

html[data-gallery-theme="drafting-table"] .image-page {
  background: var(--paper);
  box-shadow: 0 16px 40px var(--shadow);
  padding: 1.2rem 1.2rem 1.6rem;
  position: relative;
  transform: rotate(-.4deg);
  max-width: 880px; margin: 1.2rem auto;
}
html[data-gallery-theme="drafting-table"] .image-page::before {
  content: ""; position: absolute; top: -10px; left: 50%;
  transform: translateX(-50%); width: 22px; height: 22px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-misc) 55%, #00000066);
  box-shadow: 0 3px 5px rgba(0,0,0,.4); z-index: 4;
}
html[data-gallery-theme="drafting-table"] .image-page[data-setting="pelted"]::before     { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-pelted) 55%, #00000066); }
html[data-gallery-theme="drafting-table"] .image-page[data-setting="jokka"]::before      { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-jokka) 55%, #00000066); }
html[data-gallery-theme="drafting-table"] .image-page[data-setting="kherishdar"]::before { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-kherishdar) 55%, #00000066); }
html[data-gallery-theme="drafting-table"] .image-page[data-setting="faulfenza"]::before  { background: radial-gradient(circle at 35% 30%, #fff8, var(--pin-faulfenza) 55%, #00000066); }

/* the bork fix: the art is bounded, centered, and never overflows */
html[data-gallery-theme="drafting-table"] .image-display { text-align: center; }
html[data-gallery-theme="drafting-table"] .image-display img {
  max-width: 100% !important; max-height: 80vh !important;
  width: auto !important; height: auto !important;
  border: 1px solid var(--card-line); background: #fffdf6;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
html[data-gallery-theme="drafting-table"] .image-page-header h1 {
  font-size: clamp(1.3rem, 3.5vw, 1.9rem); color: var(--ink);
}
html[data-gallery-theme="drafting-table"] .image-page-header .image-metadata {
  font-family: var(--hand); color: var(--pencil) !important;
}

/* navigation as bookmark ribbons */
html[data-gallery-theme="drafting-table"] .image-navigation {
  display: flex; gap: .7rem; flex-wrap: wrap; justify-content: center; margin: 1.2rem 0;
}
html[data-gallery-theme="drafting-table"] .image-navigation .gallery-button {
  border: none !important; color: var(--ink) !important;
  background: var(--paper2) !important;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 82%, 0 100%);
  padding: .55rem 1.2rem .8rem !important; border-radius: 0 !important;
  transform: none; box-shadow: 0 5px 12px var(--shadow) !important;
  white-space: nowrap; max-width: 32ch; overflow: hidden; text-overflow: ellipsis;
}
html[data-gallery-theme="drafting-table"] .image-navigation .gallery-button:hover { transform: translateY(-4px); }

/* artist commentary = paperclipped index card */
html[data-gallery-theme="drafting-table"] .artist-commentary {
  background: #fffdf2; border: 1px solid #e4d9bc; margin: 1.4rem .2rem;
  padding: 1rem 1.2rem; position: relative; transform: rotate(.5deg);
  box-shadow: 0 6px 14px rgba(0,0,0,.12);
  background-image: repeating-linear-gradient(transparent 0 26px, #e8ddc0 26px 27px);
}
html[data-gallery-theme="drafting-table"] .artist-commentary::before {
  content: "📎"; position: absolute; top: -14px; left: 18px; font-size: 1.5rem;
}
html[data-gallery-theme="drafting-table"] .artist-commentary h2 {
  font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-soft); margin-bottom: .5rem;
}
html[data-gallery-theme="drafting-table"] .commentary-text {
  font-family: var(--hand); font-size: 1rem; line-height: 27px; color: var(--ink);
}

/* take it home = the kraft shop tag on a string */
html[data-gallery-theme="drafting-table"] .take-it-home {
  background: var(--kraft) !important; border: none !important; border-radius: 0 !important;
  max-width: 470px; margin: 1.8rem auto 1rem; padding: 1rem 1.2rem 1.1rem 2.4rem !important;
  position: relative; transform: rotate(-1.2deg);
  clip-path: polygon(26px 0, 100% 0, 100% 100%, 26px 100%, 0 50%);
  box-shadow: 0 8px 18px var(--shadow); color: #392c18;
}
html[data-gallery-theme="drafting-table"] .take-it-home::before {
  content: ""; position: absolute; left: 16px; top: calc(50% - 6px);
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--desk2); box-shadow: inset 0 1px 3px rgba(0,0,0,.5);
}
html[data-gallery-theme="drafting-table"] .take-it-home-title {
  color: #5e4a28; letter-spacing: .12em;
}
html[data-gallery-theme="drafting-table"] .take-it-home .shop-link,
html[data-gallery-theme="drafting-table"] .take-it-home .shop-link-label { color: #7c3018; }
html[data-gallery-theme="drafting-table"] .take-it-home .shop-invite p {
  color: #5e4a28; font-style: italic; font-size: .9rem;
}
html[data-gallery-theme="drafting-table"] .take-it-home .gallery-button {
  background: #fff7e2 !important; border: 1.5px dashed #8c6a38 !important;
  color: #5e4a28 !important; box-shadow: none !important; font-size: .85rem !important;
}
html[data-gallery-theme="drafting-table"] .take-it-home .shop-link-add summary,
html[data-gallery-theme="drafting-table"] .take-it-home .shop-link-admin,
html[data-gallery-theme="drafting-table"] .take-it-home .shop-link-add-hint { color: #5e4a28; }

/* request buttons as stamps, page ends on conversation */
html[data-gallery-theme="drafting-table"] .content-request-section h3 {
  font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft);
}
html[data-gallery-theme="drafting-table"] .content-request-section p { color: var(--ink-soft); font-size: .92rem; }
html[data-gallery-theme="drafting-table"] .request-buttons { display: flex; gap: .6rem; flex-wrap: wrap; }
html[data-gallery-theme="drafting-table"] .budget-note {
  text-align: right; font-family: var(--hand); color: var(--pencil) !important;
  font-size: .9rem; margin-top: 1rem;
}
html[data-gallery-theme="drafting-table"] .budget-note a { color: var(--accent) !important; }

/* ---------- 9. THE SHELF ---------- */

html[data-gallery-theme="drafting-table"] .shelf-intro {
  background: var(--paper); padding: 1rem 1.3rem; box-shadow: 0 8px 18px var(--shadow);
  transform: rotate(-.4deg); margin-bottom: 1.6rem;
}
html[data-gallery-theme="drafting-table"] .shelf-grid {
  background: linear-gradient(#00000014, #00000028), var(--kraft2);
  border-radius: 6px; padding: 1.6rem 1.4rem;
  box-shadow: 0 12px 30px var(--shadow);
  display: grid; gap: 1.2rem;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}
html[data-gallery-theme="drafting-table"] .shelf-book-card {
  background: var(--kraft) !important; color: #3a2d1c !important;
  border: none !important; border-radius: 4px !important;
  box-shadow: inset -5px 0 8px rgba(0,0,0,.18), 0 4px 10px rgba(0,0,0,.2) !important;
  transition: transform .2s;
}
html[data-gallery-theme="drafting-table"] .shelf-book-card:hover {
  transform: translateY(-8px) rotate(-1deg);
}
html[data-gallery-theme="drafting-table"] .shelf-book-header { color: #3a2d1c !important; }
html[data-gallery-theme="drafting-table"] .shelf-narrative {
  font-family: var(--hand); color: #4e3d24 !important; font-size: .92rem;
}

/* ---------- 10. LANDING / DASHBOARD / FAVORITES ---------- */

html[data-gallery-theme="drafting-table"] .landing-hero,
html[data-gallery-theme="drafting-table"] .gallery-landing-header {
  background: var(--paper) !important; color: var(--ink) !important;
  box-shadow: 0 8px 22px var(--shadow); padding: 1.6rem 1.2rem !important;
  margin: 1rem auto 1.6rem; max-width: 760px; transform: rotate(-.6deg);
  text-align: center; position: relative;
}
html[data-gallery-theme="drafting-table"] .landing-hero::before,
html[data-gallery-theme="drafting-table"] .gallery-landing-header::before {
  content: ""; position: absolute; width: 84px; height: 26px; background: var(--tape);
  top: -12px; left: -20px; transform: rotate(-4deg); box-shadow: 0 2px 5px rgba(0,0,0,.12);
}
html[data-gallery-theme="drafting-table"] .landing-hero h1,
html[data-gallery-theme="drafting-table"] .gallery-landing-header h1 { color: var(--ink) !important; }
html[data-gallery-theme="drafting-table"] .landing-tagline,
html[data-gallery-theme="drafting-table"] .greeting-sub { color: var(--ink-soft) !important; font-style: italic; }

html[data-gallery-theme="drafting-table"] .dashboard-greeting,
html[data-gallery-theme="drafting-table"] .dashboard-notifications,
html[data-gallery-theme="drafting-table"] .dashboard-quick-links,
html[data-gallery-theme="drafting-table"] .featured-card,
html[data-gallery-theme="drafting-table"] .image-of-day,
html[data-gallery-theme="drafting-table"] .fan-favorites,
html[data-gallery-theme="drafting-table"] .latest-uploads,
html[data-gallery-theme="drafting-table"] .gallery-stats,
html[data-gallery-theme="drafting-table"] .conversion-banner,
html[data-gallery-theme="drafting-table"] .art-drop-queue-status,
html[data-gallery-theme="drafting-table"] .favorites-page > .favorites-header {
  background: var(--paper) !important; border: none !important; border-radius: 0 !important;
  box-shadow: 0 8px 18px var(--shadow) !important; color: var(--ink) !important;
}
html[data-gallery-theme="drafting-table"] .notification-item {
  background: #fffdf2 !important; border-left: 4px solid var(--tape) !important;
  color: var(--ink) !important;
}
html[data-gallery-theme="drafting-table"] .notification-item.unread {
  border-left-color: var(--accent) !important;
}

/* ---------- 11. ADMIN: PAPER, LEGIBLE, NO CEREMONY ---------- */

html[data-gallery-theme="drafting-table"] main section[class^="admin-"] {
  background: var(--paper); padding: 1.4rem 1.6rem;
  box-shadow: 0 10px 24px var(--shadow); margin-bottom: 1.5rem;
}
html[data-gallery-theme="drafting-table"] main section[class^="admin-"] table {
  background: #fffdf6; border-collapse: collapse; width: 100%;
}
html[data-gallery-theme="drafting-table"] main section[class^="admin-"] th,
html[data-gallery-theme="drafting-table"] main section[class^="admin-"] td {
  border-bottom: 1px solid var(--card-line); padding: .45rem .7rem; text-align: left;
}

/* ---------- 12. FOOTER, PAGINATION, ODDS & ENDS ---------- */

html[data-gallery-theme="drafting-table"] .gallery-footer {
  background: transparent !important; border: none !important;
  color: #f4ead8 !important; font-family: var(--hand);
  text-shadow: 0 1px 4px rgba(0,0,0,.5); text-align: center;
}
html[data-gallery-theme="drafting-table"] .gallery-footer p { color: #f4ead8 !important; }
html[data-gallery-theme="drafting-table"] .pagination a,
html[data-gallery-theme="drafting-table"] .pagination span {
  background: var(--paper2) !important; color: var(--ink) !important;
  border: none !important; box-shadow: 0 3px 8px var(--shadow);
}
html[data-gallery-theme="drafting-table"] .no-results {
  background: var(--paper); padding: 1.4rem; font-family: var(--hand);
  box-shadow: 0 8px 18px var(--shadow);
}
html[data-gallery-theme="drafting-table"] .form-success { color: #3b6d11 !important; }
html[data-gallery-theme="drafting-table"] .form-error { color: var(--accent) !important; }

/* ---------- 13. SMALL SCREENS + MOTION COURTESY ---------- */

@media (max-width: 560px) {
  html[data-gallery-theme="drafting-table"] .image-page { transform: none; padding: .8rem .8rem 1.2rem; }
  html[data-gallery-theme="drafting-table"] .image-navigation .gallery-button { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-gallery-theme="drafting-table"] .image-card,
  html[data-gallery-theme="drafting-table"] .image-page,
  html[data-gallery-theme="drafting-table"] .gallery-button,
  html[data-gallery-theme="drafting-table"] .take-it-home { transform: none !important; transition: none !important; }
}

/* ============================================================
   ROUND TWO (June 11 screenshots): landing rhythm, teaser +
   benefits legibility, bigger art, shorter shop tag.
   ============================================================ */

/* thumbnails: kill the lavender letterbox bars for good */
html[data-gallery-theme="drafting-table"] .image-card img,
html[data-gallery-theme="drafting-table"] .featured-card img {
  background: #fffdf6 !important;
  object-fit: contain;
}

/* the landing reads as things ON a desk, not slabs ACROSS it */
html[data-gallery-theme="drafting-table"] .dashboard-greeting {
  max-width: 720px; margin: 1.2rem auto 1.8rem; text-align: center;
  transform: rotate(-.6deg); position: relative; padding: 1.2rem 1.6rem !important;
}
html[data-gallery-theme="drafting-table"] .dashboard-greeting::before {
  content: ""; position: absolute; width: 84px; height: 26px; background: var(--tape);
  top: -12px; left: 50%; margin-left: -110px; transform: rotate(-4deg);
  box-shadow: 0 2px 5px rgba(0,0,0,.12);
}
html[data-gallery-theme="drafting-table"] .dashboard-greeting::after {
  content: ""; position: absolute; width: 84px; height: 26px; background: var(--tape);
  top: -12px; left: 50%; margin-left: 30px; transform: rotate(5deg);
  box-shadow: 0 2px 5px rgba(0,0,0,.12);
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications,
html[data-gallery-theme="drafting-table"] .image-of-day,
html[data-gallery-theme="drafting-table"] .latest-uploads,
html[data-gallery-theme="drafting-table"] .fan-favorites {
  margin: 0 auto 1.8rem; padding: 1.2rem 1.4rem !important; max-width: 980px;
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications { transform: rotate(.3deg); }
html[data-gallery-theme="drafting-table"] .image-of-day { transform: rotate(-.3deg); }
html[data-gallery-theme="drafting-table"] .image-of-day .featured-card {
  max-width: 380px; margin: .6rem auto 0;
}
html[data-gallery-theme="drafting-table"] .dashboard-quick-links {
  background: transparent !important; box-shadow: none !important;
  display: flex; gap: .8rem; flex-wrap: wrap; justify-content: center;
  margin: 0 auto 1.8rem; padding: 0 !important;
}
html[data-gallery-theme="drafting-table"] .landing-grid {
  display: grid; gap: 2rem 1.4rem;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  padding-top: .8rem;
}

/* teaser page: ink on paper, never white-on-pale */
html[data-gallery-theme="drafting-table"] .conversion-banner,
html[data-gallery-theme="drafting-table"] .conversion-banner h3,
html[data-gallery-theme="drafting-table"] .conversion-banner h2,
html[data-gallery-theme="drafting-table"] .conversion-banner p,
html[data-gallery-theme="drafting-table"] .conversion-content,
html[data-gallery-theme="drafting-table"] .conversion-content h3,
html[data-gallery-theme="drafting-table"] .conversion-content p {
  color: var(--ink) !important; text-shadow: none !important;
}
html[data-gallery-theme="drafting-table"] .conversion-banner {
  background: var(--paper2) !important; border: 1px dashed var(--ink-soft) !important;
  max-width: 640px; margin: 1.2rem auto; padding: 1.2rem 1.4rem !important;
}
html[data-gallery-theme="drafting-table"] .image-display-teaser img {
  max-height: 52vh !important; box-shadow: 0 6px 14px rgba(0,0,0,.18);
}

/* benefits page: paper sheet, ink text, tier cards */
html[data-gallery-theme="drafting-table"] .benefits-page {
  background: var(--paper); padding: 1.6rem 1.8rem; max-width: 880px;
  margin: 1.2rem auto; box-shadow: 0 12px 28px var(--shadow); transform: rotate(-.3deg);
}
html[data-gallery-theme="drafting-table"] .benefits-page h1,
html[data-gallery-theme="drafting-table"] .benefits-page h2,
html[data-gallery-theme="drafting-table"] .benefits-page p,
html[data-gallery-theme="drafting-table"] .benefits-page li,
html[data-gallery-theme="drafting-table"] .benefits-intro {
  color: var(--ink) !important; text-shadow: none !important;
}
html[data-gallery-theme="drafting-table"] .benefit-tier {
  background: #fffdf6 !important; border: 1px solid var(--card-line) !important;
  padding: 1rem 1.2rem !important; margin-bottom: 1rem;
  box-shadow: 0 4px 10px rgba(0,0,0,.08) !important;
}
html[data-gallery-theme="drafting-table"] .benefit-tier.featured-tier {
  border: 2px solid var(--accent) !important;
}
html[data-gallery-theme="drafting-table"] .code-redeem {
  background: var(--paper2) !important; padding: 1.2rem 1.4rem !important;
  margin-top: 1.4rem; box-shadow: none !important;
}
html[data-gallery-theme="drafting-table"] .code-redeem h2,
html[data-gallery-theme="drafting-table"] .code-redeem p { color: var(--ink) !important; }
html[data-gallery-theme="drafting-table"] .code-redeem input {
  font-family: var(--serif); background: #fffdf6; border: 1px solid #c9bda0;
  color: var(--ink); padding: .5rem .7rem;
}

/* the art deserves more of the window */
html[data-gallery-theme="drafting-table"] .image-page { max-width: 1000px; }
html[data-gallery-theme="drafting-table"] .image-display img { max-height: 86vh !important; }

/* the shop tag: same charm, less altitude */
html[data-gallery-theme="drafting-table"] .take-it-home {
  padding: .75rem 1.1rem .8rem 2.3rem !important; max-width: 540px;
}
html[data-gallery-theme="drafting-table"] .take-it-home-title { margin-bottom: .35rem; }
html[data-gallery-theme="drafting-table"] .take-it-home .shop-invite { margin-top: .45rem; }
html[data-gallery-theme="drafting-table"] .take-it-home .shop-invite p {
  font-size: .85rem; margin: 0 0 .35rem; line-height: 1.35;
}
html[data-gallery-theme="drafting-table"] .take-it-home .gallery-button {
  padding: .3rem .75rem !important; font-size: .82rem !important;
}
html[data-gallery-theme="drafting-table"] .take-it-home .shop-link-row { margin-bottom: .3rem; }

/* ============================================================
   ROUND THREE: favorite stamp, profile + settings paper,
   search-bar shadow fix, and the mockup's pinboard charm —
   labels float, cards pin straight to the desk, notifications
   become the sticky note.
   ============================================================ */

/* the favorite button joins the stamp family */
html[data-gallery-theme="drafting-table"] .favorite-btn,
html[data-gallery-theme="drafting-table"] .favorite-btn-large {
  font-family: var(--serif) !important; font-size: .9rem;
  border: 2px solid var(--accent) !important; color: var(--accent) !important;
  background: var(--paper) !important; border-radius: 3px !important;
  padding: .4rem .9rem !important; cursor: pointer;
  box-shadow: 0 4px 10px var(--shadow) !important; transform: rotate(-1deg);
}
html[data-gallery-theme="drafting-table"] .favorite-btn.favorited {
  background: var(--accent) !important; color: #fff7ee !important;
}
html[data-gallery-theme="drafting-table"] .image-actions { display: flex; gap: .7rem; margin: .8rem 0 1rem; }

/* profile: one paper sheet, ink throughout */
html[data-gallery-theme="drafting-table"] .user-profile {
  background: var(--paper); max-width: 760px; margin: 1.2rem auto;
  padding: 1.5rem 1.8rem; box-shadow: 0 12px 28px var(--shadow); transform: rotate(-.3deg);
}
html[data-gallery-theme="drafting-table"] .user-profile h1,
html[data-gallery-theme="drafting-table"] .user-profile h2,
html[data-gallery-theme="drafting-table"] .user-profile p,
html[data-gallery-theme="drafting-table"] .user-profile li,
html[data-gallery-theme="drafting-table"] .profile-meta,
html[data-gallery-theme="drafting-table"] .activity-item,
html[data-gallery-theme="drafting-table"] .achievement-title {
  color: var(--ink) !important; text-shadow: none !important;
}
html[data-gallery-theme="drafting-table"] .user-profile a { color: var(--accent) !important; }
html[data-gallery-theme="drafting-table"] .activity-date { color: var(--pencil) !important; font-family: var(--hand); }
html[data-gallery-theme="drafting-table"] .achievement {
  background: #fffdf6; border: 1px solid var(--card-line); padding: .5rem .8rem;
  display: inline-flex; align-items: center; gap: .6rem; margin: 0 .6rem .6rem 0;
  box-shadow: 0 3px 8px rgba(0,0,0,.1); transform: rotate(-.5deg);
}

/* settings: same treatment, tame the runaway boxes */
html[data-gallery-theme="drafting-table"] .user-settings {
  background: var(--paper); max-width: 760px; margin: 1.2rem auto;
  padding: 1.5rem 1.8rem; box-shadow: 0 12px 28px var(--shadow); transform: rotate(.3deg);
}
html[data-gallery-theme="drafting-table"] .user-settings h1,
html[data-gallery-theme="drafting-table"] .user-settings h2,
html[data-gallery-theme="drafting-table"] .user-settings h3,
html[data-gallery-theme="drafting-table"] .user-settings p,
html[data-gallery-theme="drafting-table"] .user-settings li,
html[data-gallery-theme="drafting-table"] .user-settings label,
html[data-gallery-theme="drafting-table"] .user-settings legend,
html[data-gallery-theme="drafting-table"] .settings-data,
html[data-gallery-theme="drafting-table"] .settings-platforms {
  color: var(--ink) !important; text-shadow: none !important;
}
html[data-gallery-theme="drafting-table"] .user-settings a { color: var(--accent) !important; }
html[data-gallery-theme="drafting-table"] .user-settings fieldset,
html[data-gallery-theme="drafting-table"] .settings-form fieldset {
  border: 1px dashed var(--card-line) !important; background: #fffdf6 !important;
  max-width: 520px; padding: .6rem .9rem !important; margin: 0 0 .9rem !important;
}
html[data-gallery-theme="drafting-table"] .user-settings input[type="text"],
html[data-gallery-theme="drafting-table"] .user-settings select {
  font-family: var(--serif); background: #fffdf6 !important;
  border: 1px solid #c9bda0 !important; color: var(--ink) !important; padding: .4rem .6rem;
}
html[data-gallery-theme="drafting-table"] .settings-danger {
  background: var(--paper2) !important; border: 2px solid var(--accent) !important;
  padding: 1rem 1.2rem !important; margin-top: 1.4rem;
}

/* search bar: shadow on the FORM only; popular tags get their own strip */
html[data-gallery-theme="drafting-table"] .search-filter-bar {
  background: transparent !important; box-shadow: none !important; transform: none;
}
html[data-gallery-theme="drafting-table"] .search-filter-form {
  padding: 1rem 1.2rem; margin-bottom: 1rem;
}
html[data-gallery-theme="drafting-table"] .popular-tags-row {
  display: inline-block; background: var(--paper2); padding: .4rem 1rem .5rem;
  box-shadow: 0 4px 10px var(--shadow); transform: rotate(-.4deg); margin: 0 0 1.2rem;
}
html[data-gallery-theme="drafting-table"] .popular-label { color: var(--ink-soft); font-size: .85rem; }

/* THE PINBOARD CHARM: no slabs under card groups — labels float,
   pages pin straight to the desk */
html[data-gallery-theme="drafting-table"] .image-of-day,
html[data-gallery-theme="drafting-table"] .latest-uploads,
html[data-gallery-theme="drafting-table"] .fan-favorites {
  background: transparent !important; box-shadow: none !important;
  padding: 0 !important; transform: none;
}
html[data-gallery-theme="drafting-table"] .image-of-day > h2,
html[data-gallery-theme="drafting-table"] .latest-uploads > h2,
html[data-gallery-theme="drafting-table"] .fan-favorites > h2 {
  display: inline-block; background: var(--paper); color: var(--ink) !important;
  font-size: 1.05rem; letter-spacing: .08em; padding: .45rem 1.4rem;
  box-shadow: 0 5px 14px var(--shadow); transform: rotate(-.5deg); margin: 0 0 1.4rem;
}
html[data-gallery-theme="drafting-table"] .latest-uploads > h2 { transform: rotate(.4deg); }

/* notifications become the yellow sticky note */
html[data-gallery-theme="drafting-table"] .dashboard-notifications {
  background: #f6e58a !important; color: #4a4118 !important;
  max-width: 560px; margin: 0 auto 2rem; padding: 1rem 1.2rem !important;
  transform: rotate(-1.6deg); box-shadow: 0 8px 16px var(--shadow) !important;
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications h2 {
  color: #4a4118 !important; font-size: 1.02rem; font-family: var(--hand);
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications .notification-item {
  background: transparent !important; border: none !important;
  border-left: none !important; color: #4a4118 !important;
  font-size: .92rem; padding: .25rem 0 !important;
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications .notification-item strong { color: #4a4118 !important; }

/* re-assert the pinned-at-an-angle look against legacy !importants */
html[data-gallery-theme="drafting-table"] .image-card:nth-child(3n)   { transform: rotate(1.4deg) !important; }
html[data-gallery-theme="drafting-table"] .image-card:nth-child(3n+1) { transform: rotate(-1.6deg) !important; }
html[data-gallery-theme="drafting-table"] .image-card:nth-child(3n+2) { transform: rotate(.6deg) !important; }
html[data-gallery-theme="drafting-table"] .image-card:hover {
  transform: rotate(0deg) scale(1.04) !important;
}
@media (prefers-reduced-motion: reduce) {
  html[data-gallery-theme="drafting-table"] .image-card,
  html[data-gallery-theme="drafting-table"] .image-card:hover { transform: none !important; }
}

/* ============================================================
   ROUND FOUR: with the legacy skin sheets gone, paper is paper
   in every time of day. Readability backstops for the header
   menu, and the notifications post-it earns its rotation.
   ============================================================ */

/* the header is paper in every time mode — at night it's lamplit,
   so its INK must never inherit a dark-mode text color */
html[data-gallery-theme="drafting-table"] .user-auth-header,
html[data-gallery-theme="drafting-table"] .user-greeting,
html[data-gallery-theme="drafting-table"] .user-greeting span,
html[data-gallery-theme="drafting-table"] .user-menu-btn,
html[data-gallery-theme="drafting-table"] .dropdown-arrow {
  color: var(--ink) !important;
}
html[data-gallery-theme="drafting-table"] .user-dropdown .user-display-name { color: var(--ink) !important; }
html[data-gallery-theme="drafting-table"] .user-dropdown .tier-label { color: var(--ink-soft) !important; }
html[data-gallery-theme="drafting-table"] .user-dropdown .tier-value {
  background: var(--tape) !important; color: #4a4118 !important;
  border-radius: 999px; padding: .1rem .6rem; font-size: .82rem;
}
html[data-gallery-theme="drafting-table"] .user-dropdown .theme-select {
  font-family: var(--serif); background: #fffdf6 !important;
  border: 1px solid #c9bda0 !important; color: var(--ink) !important;
}
html[data-gallery-theme="drafting-table"] .breadcrumb-separator { color: var(--ink-soft) !important; }

/* buttons: final word on stamp colors, all time modes */
html[data-gallery-theme="drafting-table"] .gallery-button,
html[data-gallery-theme="drafting-table"] .gallery-button-secondary {
  color: var(--accent) !important; background: var(--paper) !important;
}
html[data-gallery-theme="drafting-table"] .gallery-button-primary,
html[data-gallery-theme="drafting-table"] .gallery-button.gallery-button-primary {
  background: var(--accent) !important; color: #fff7ee !important;
}
html[data-gallery-theme="drafting-table"] .gallery-button-danger {
  background: var(--paper) !important; color: var(--accent) !important;
  border-style: dashed !important;
}

/* the notifications post-it, properly jaunty this time */
html[data-gallery-theme="drafting-table"] .dashboard-notifications {
  max-width: 440px;
  transform: rotate(-2.2deg);
  font-family: var(--hand);
  padding: 1rem 1.2rem 1.1rem !important;
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications .notification-list {
  list-style: none; margin: 0 0 .6rem; padding: 0;
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications .notification-item {
  display: block !important; grid-template-columns: none !important;
  font-family: var(--hand); line-height: 1.4; margin-bottom: .45rem;
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications .gallery-button {
  font-size: .82rem !important; padding: .3rem .8rem !important;
}

/* card-corner inline favorite hearts, readable in all modes */
html[data-gallery-theme="drafting-table"] .favorite-btn-inline {
  background: none !important; border: none !important;
  color: var(--accent) !important; cursor: pointer;
}
html[data-gallery-theme="drafting-table"] .favorite-btn-inline .favorite-count { color: var(--pencil) !important; }

/* ============================================================
   ROUND FIVE (Jaguar's mockup): a desk, not columns.
   Post-it pinned off to the left; featured image is the marquee
   with its label overlapping askew; grids are exactly 4 across.
   ============================================================ */

/* the post-it leans into the left gutter on big desks */
@media (min-width: 1040px) {
  html[data-gallery-theme="drafting-table"] .dashboard-notifications {
    float: left; width: 330px;
    margin: -0.6rem 1.6rem 1.2rem -2.4rem;
    transform: rotate(-3.5deg);
  }
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications .note-line {
  font-family: var(--hand); color: #4a4118 !important; line-height: 1.4; margin: 0 0 .6rem;
}
html[data-gallery-theme="drafting-table"] .dashboard-notifications .note-line strong { color: #4a4118 !important; }

/* featured image: the marquee, label overlapping its top edge */
html[data-gallery-theme="drafting-table"] .image-of-day { text-align: center; }
html[data-gallery-theme="drafting-table"] .image-of-day > h2 {
  position: relative; top: 18px; z-index: 5;
  transform: rotate(-1.6deg); margin: 0;
}
html[data-gallery-theme="drafting-table"] .featured-wrap { max-width: 400px; margin: 0 auto; }
html[data-gallery-theme="drafting-table"] .featured-wrap .image-card { transform: rotate(.6deg) !important; }
html[data-gallery-theme="drafting-table"] .featured-wrap .image-card:hover { transform: rotate(0) scale(1.03) !important; }

/* arrivals sit below whatever floats above */
html[data-gallery-theme="drafting-table"] .dashboard-quick-links,
html[data-gallery-theme="drafting-table"] .latest-uploads { clear: both; }

/* exactly four pages per row — no orphan pinned to nothing */
html[data-gallery-theme="drafting-table"] .landing-grid {
  grid-template-columns: repeat(4, 1fr) !important;
}
@media (max-width: 760px) {
  html[data-gallery-theme="drafting-table"] .landing-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================================
   ROUND SIX: tighter cards, the Vault nameplate, search card
   with its tags tucked inside, honest pagination.
   ============================================================ */

/* card undersides: tags inline and tight, no more elongation */
html[data-gallery-theme="drafting-table"] .image-card .image-info { padding: .45rem .15rem 0 !important; }
html[data-gallery-theme="drafting-table"] .image-card .image-title { font-size: .95rem; margin: 0 !important; }
html[data-gallery-theme="drafting-table"] .image-card .image-metadata {
  font-size: .82rem; margin: .1rem 0 .2rem !important;
}
html[data-gallery-theme="drafting-table"] .image-card .tag-container {
  display: flex !important; flex-wrap: wrap; gap: .05rem .55rem !important;
  margin: .15rem 0 0 !important; padding: 0 !important;
}
html[data-gallery-theme="drafting-table"] .image-card .tag { font-size: .74rem !important; }
html[data-gallery-theme="drafting-table"] .image-card .add-tag-btn {
  font-size: .7rem !important; padding: 0 .45rem !important;
}

/* The Vault nameplate — browse knows where you are now */
html[data-gallery-theme="drafting-table"] .vault-plate {
  background: var(--paper); display: inline-block; text-align: center;
  padding: .9rem 2.4rem 1rem; margin: 1rem auto 1.4rem;
  transform: rotate(-.8deg); box-shadow: 0 6px 18px var(--shadow);
  position: relative; left: 50%; translate: -50% 0;
}
html[data-gallery-theme="drafting-table"] .vault-plate::before,
html[data-gallery-theme="drafting-table"] .vault-plate::after {
  content: ""; position: absolute; width: 84px; height: 26px; background: var(--tape);
  top: -12px; left: -26px; transform: rotate(-4deg); box-shadow: 0 2px 5px rgba(0,0,0,.12);
}
html[data-gallery-theme="drafting-table"] .vault-plate::after { left: auto; right: -26px; transform: rotate(5deg); }
html[data-gallery-theme="drafting-table"] .vault-plate h1 {
  font-size: clamp(1.3rem, 4vw, 1.9rem); color: var(--ink) !important; margin: 0;
}
html[data-gallery-theme="drafting-table"] .vault-sub {
  font-family: var(--hand); color: var(--pencil) !important; font-size: .95rem; margin: .15rem 0 0;
}

/* search card: one taped paper sheet, popular tags tucked inside it */
html[data-gallery-theme="drafting-table"] .search-filter-bar {
  background: var(--paper) !important; box-shadow: 0 8px 18px var(--shadow) !important;
  transform: rotate(.4deg); padding: 1rem 1.2rem; position: relative;
  max-width: 880px; margin: 0 auto 1.6rem;
}
html[data-gallery-theme="drafting-table"] .search-filter-bar::before {
  content: ""; position: absolute; width: 76px; height: 24px; background: var(--tape);
  top: -11px; right: 30px; transform: rotate(3deg); box-shadow: 0 2px 5px rgba(0,0,0,.12);
}
html[data-gallery-theme="drafting-table"] .search-filter-form {
  background: transparent !important; box-shadow: none !important;
  transform: none; padding: 0; margin: 0;
}
html[data-gallery-theme="drafting-table"] .popular-tags-row {
  display: block; background: transparent; box-shadow: none; transform: none;
  border-top: 1px dashed var(--card-line); margin: .8rem 0 0; padding: .6rem 0 0;
}

/* pagination: you are HERE, and Last says how far away that is */
html[data-gallery-theme="drafting-table"] .pagination {
  display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; margin: 1.8rem 0 .6rem;
}
html[data-gallery-theme="drafting-table"] .pagination .page-btn {
  background: var(--paper2) !important; color: var(--ink) !important;
  padding: .45rem .95rem; text-decoration: none;
  box-shadow: 0 3px 8px var(--shadow); border: none !important;
}
html[data-gallery-theme="drafting-table"] .pagination .page-btn.current {
  background: var(--accent) !important; color: #fff7ee !important;
  transform: rotate(-2.5deg) scale(1.08); font-weight: 700;
  box-shadow: 0 4px 10px var(--shadow); cursor: default;
}
html[data-gallery-theme="drafting-table"] .pagination .page-btn.disabled {
  opacity: .4; cursor: default;
}
html[data-gallery-theme="drafting-table"] .pagination a.page-btn:hover { transform: translateY(-2px); }