/*
Theme Name: DMINTN
Theme URI: https://www.dmintn.it/
Author: DMINTN
Author URI: https://www.dmintn.it/
Description: Proprietary portfolio theme for contemporary artist DMINTN.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: dmintn
*/

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500&family=Space+Grotesk:wght@400;500;600&display=swap");

.header { position: sticky; top: 0; z-index: 100; height: var(--header-height); display: flex; align-items: center; justify-content: space-between; padding: 0 var(--page-pad); background: color-mix(in srgb, var(--background) 92%, transparent); border-bottom: 1px solid var(--border); backdrop-filter: blur(16px); }
.logo { display: inline-flex; width: clamp(98px, 10vw, 138px); height: 44px; align-items: center; }
.logo img { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 42px); font-family: var(--display); font-size: 13px; text-transform: uppercase; letter-spacing: .09em; }
.nav a { position: relative; padding: 8px 0; }
.nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 3px; height: 1px; background: currentColor; transition: right .25s ease; }
.nav a:hover::after, .nav a[aria-current="page"]::after { right: 0; }
.menuButton { display: none; border: 0; background: transparent; padding: 10px 0 10px 12px; font-family: var(--display); text-transform: uppercase; letter-spacing: .08em; }
.footer { padding: 72px var(--page-pad) 28px; background: #111; color: #fff; }
.footerTop { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 40px; padding-bottom: 72px; }
.footerLogo { filter: invert(1); width: 140px; height: auto; margin-bottom: 24px; }
.footerText { max-width: 330px; color: #a9a9a9; }
.footerLabel { margin: 0 0 18px; color: #888; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.footerLinks { display: grid; gap: 10px; }
.footerLinks a:hover { color: #b9ff2c; }
.footerBottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid #333; color: #888; font-size: 12px; }
.cookie { position: fixed; z-index: 200; right: 20px; bottom: 20px; width: min(430px, calc(100% - 40px)); padding: 22px; background: #fff; border: 1px solid var(--border); box-shadow: 0 16px 50px rgba(0,0,0,.12); }
.cookie p { margin: 0 0 18px; color: var(--muted); font-size: 13px; }
.cookieActions { display: flex; flex-wrap: wrap; gap: 10px; }
.button, .buttonDark, .buttonLight { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 10px; padding: 0 19px; border: 1px solid var(--text); background: transparent; font-family: var(--display); font-size: 12px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s; }
.button:hover { background: var(--text); color: white; }
.buttonDark { background: #111; color: #fff; border-color: #111; }
.buttonDark:hover { background: var(--accent); border-color: var(--accent); }
.buttonLight { border-color: #fff; color: #fff; }
.buttonLight:hover { background: #fff; color: #111; }
.textLink { display: inline-flex; align-items: center; gap: 14px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-family: var(--display); font-size: 12px; letter-spacing: .09em; text-transform: uppercase; }
.textLink::after { content: "↗"; }
.section { padding: clamp(76px, 10vw, 150px) var(--page-pad); }
.sectionCompact { padding: clamp(62px, 7vw, 110px) var(--page-pad); }
.sectionWhite { background: var(--surface); }
.sectionDark { background: #111; color: #fff; }
.sectionHead { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: clamp(34px, 5vw, 72px); }
.eyebrow { margin: 0 0 18px; font-family: var(--display); font-size: 11px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; }
.display { margin: 0; font-family: var(--display); font-size: clamp(48px, 8.5vw, 140px); font-weight: 500; line-height: .87; letter-spacing: -.065em; }
.title { margin: 0; font-family: var(--display); font-size: clamp(40px, 6vw, 92px); font-weight: 500; line-height: .95; letter-spacing: -.052em; }
.heading { margin: 0; font-family: var(--display); font-size: clamp(30px, 4vw, 58px); font-weight: 500; line-height: 1.02; letter-spacing: -.04em; }
.subheading { margin: 0; font-family: var(--display); font-size: clamp(22px, 2.4vw, 34px); font-weight: 400; line-height: 1.16; letter-spacing: -.03em; }
.muted { color: var(--muted); }
.intro { max-width: 970px; margin: 0; font-family: var(--display); font-size: clamp(28px, 4.3vw, 64px); line-height: 1.12; letter-spacing: -.045em; }
.hero { position: relative; min-height: min(92vh, 980px); overflow: hidden; display: flex; align-items: flex-end; padding: clamp(130px, 16vw, 230px) var(--page-pad) clamp(45px, 7vw, 92px); background: #161616; color: #fff; }
.heroImage { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.heroPattern { position: absolute; inset: 0; background: #111 url('/placeholders/art-hero.svg') center/cover no-repeat; }
.heroOverlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 25%, rgba(0,0,0,.7) 100%); }
.heroContent { position: relative; z-index: 1; width: 100%; }
.heroTop { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.heroCopy { display: grid; gap: 18px; }
.heroPayoff { margin: 0; font-family: var(--display); font-size: clamp(20px, 2.3vw, 36px); }
.heroSubtitle { margin: 0; color: rgba(255,255,255,.75); font-size: 14px; }
.artGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 52px) clamp(14px, 2vw, 30px); }
.artCard { min-width: 0; }
.artImageWrap { position: relative; aspect-ratio: 1 / 1.12; overflow: hidden; background: #e5e7e8; }
.artImage { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.artCard:hover .artImage { transform: scale(1.018); }
.artMeta { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding-top: 15px; border-top: 1px solid transparent; }
.artTitle { margin: 0; font-family: var(--display); font-size: 17px; font-weight: 500; }
.artDetails { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.status { align-self: start; display: inline-flex; padding: 4px 7px 3px; border: 1px solid #9a9a9a; color: #555; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.manifesto { min-height: min(75vh, 850px); display: flex; align-items: center; justify-content: center; padding: var(--page-pad); background: #cfff23; color: #111; text-align: center; }
.manifesto p { margin: 0; font-family: var(--display); font-size: clamp(58px, 12vw, 190px); font-weight: 500; line-height: .86; letter-spacing: -.07em; }
.exhibitionList { border-top: 1px solid var(--border); }
.exhibitionRow { display: grid; grid-template-columns: 90px 1.3fr 1fr 1fr; gap: 28px; padding: 24px 0; border-bottom: 1px solid var(--border); align-items: baseline; }
.exhibitionRow h3 { margin: 0; font-family: var(--display); font-size: clamp(20px, 2vw, 28px); font-weight: 500; letter-spacing: -.025em; }
.exhibitionRow p { margin: 0; color: var(--muted); }
.cta { display: grid; grid-template-columns: 1.5fr 1fr; gap: 60px; align-items: end; }
.ctaActions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.pageHero { min-height: 58vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 120px var(--page-pad) 52px; border-bottom: 1px solid var(--border); }
.pageHeroMeta { display: flex; justify-content: space-between; gap: 25px; align-items: flex-end; }
.pageHeroMeta p { max-width: 450px; margin: 0; color: var(--muted); }
.filters { position: sticky; top: var(--header-height); z-index: 20; display: flex; flex-wrap: wrap; gap: 7px; padding: 15px var(--page-pad); background: color-mix(in srgb, var(--background) 94%, transparent); border-bottom: 1px solid var(--border); backdrop-filter: blur(12px); }
.filterButton { padding: 8px 12px; border: 1px solid var(--border); background: transparent; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.filterButtonActive { background: #111; color: #fff; border-color: #111; }
.filterSpacer { width: 1px; margin: 0 3px; background: var(--border); }
.loadMore { display: flex; justify-content: center; margin-top: 60px; }
.aboutGrid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.3fr); gap: clamp(40px, 8vw, 140px); align-items: start; }
.portrait { position: sticky; top: calc(var(--header-height) + 28px); aspect-ratio: 4 / 5; background: #d9dadc url('/placeholders/portrait.svg') center/cover no-repeat; }
.prose { max-width: 780px; }
.prose p { margin: 0 0 1.2em; font-size: clamp(18px, 2vw, 28px); line-height: 1.45; letter-spacing: -.02em; }
.infoGrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); }
.infoBlock { padding: clamp(28px, 4vw, 60px); background: var(--surface); }
.infoBlock p { max-width: 650px; color: var(--muted); }
.materials { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.materials li { padding: 8px 12px; border: 1px solid var(--border); font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }
.artworkHero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr); min-height: calc(100vh - var(--header-height)); }
.artworkHeroImage { position: relative; min-height: 70vh; background: #e2e3e4; }
.artworkHeroImage img { width: 100%; height: 100%; object-fit: cover; }
.artworkInfo { padding: clamp(42px, 5vw, 76px) var(--page-pad); display: flex; flex-direction: column; justify-content: space-between; gap: 60px; background: var(--surface); }
.artworkInfo h1 { margin-bottom: 20px; }
.dataList { margin: 38px 0 0; border-top: 1px solid var(--border); }
.dataRow { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 11px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.dataRow dt { color: var(--muted); }
.dataRow dd { margin: 0; }
.artworkActions { display: grid; gap: 10px; }
.galleryGrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: #ddd; }
.galleryButton { min-height: 55vw; padding: 0; border: 0; background: #eee; cursor: zoom-in; }
.galleryButton img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lightbox { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 70px; background: rgba(10,10,10,.96); }
.lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lightboxClose, .lightboxPrev, .lightboxNext { position: absolute; border: 1px solid #555; background: rgba(0,0,0,.4); color: #fff; cursor: pointer; }
.lightboxClose { top: 20px; right: 20px; padding: 10px 14px; }
.lightboxPrev, .lightboxNext { top: 50%; width: 46px; height: 46px; transform: translateY(-50%); }
.lightboxPrev { left: 20px; }.lightboxNext { right: 20px; }
.prevNext { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--border); }
.prevNext a { padding: 45px var(--page-pad); }
.prevNext a:last-child { text-align: right; border-left: 1px solid var(--border); }
.prevNext span { display: block; color: var(--muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.prevNext strong { font-family: var(--display); font-size: clamp(18px, 2vw, 28px); font-weight: 500; }
.contactLayout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(400px, 1fr); gap: clamp(50px, 9vw, 150px); }
.contactDetails { display: grid; gap: 32px; align-content: start; }
.contactDetails a { word-break: break-word; }
.form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.field { display: grid; gap: 7px; }
.fieldFull { grid-column: 1 / -1; }
.field label { font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; min-height: 48px; padding: 11px 0; border: 0; border-bottom: 1px solid #aaa; border-radius: 0; background: transparent; color: var(--text); }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: 0; border-color: var(--accent); }
.consent { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 12px; }
.consent input { margin-top: 4px; }
.formStatus { grid-column: 1 / -1; padding: 12px; border: 1px solid var(--border); }
.legal { max-width: 850px; }
.legal h2 { margin: 2em 0 .6em; font-family: var(--display); font-size: 28px; }
.legal p, .legal li { color: #444; }
.notFound { min-height: 100vh; display: flex; flex-direction: column; justify-content: space-between; padding: var(--page-pad); background: #111; color: #fff; }
.notFoundCode { font-family: var(--display); font-size: clamp(150px, 32vw, 520px); line-height: .7; letter-spacing: -.1em; color: #cfff23; }

@media (max-width: 900px) {
  .nav { position: fixed; inset: var(--header-height) 0 0; display: none; flex-direction: column; align-items: flex-start; padding: 40px var(--page-pad); background: var(--background); font-size: 28px; }
  .navOpen { display: flex; }
  .menuButton { display: block; }
  .footerTop { grid-template-columns: 1fr 1fr; }
  .footerBrand { grid-column: 1 / -1; }
  .artGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .exhibitionRow { grid-template-columns: 70px 1fr 1fr; }
  .exhibitionVenue { grid-column: 2 / -1; }
  .cta { grid-template-columns: 1fr; }
  .ctaActions { justify-content: flex-start; }
  .artworkHero { grid-template-columns: 1fr; }
  .artworkHeroImage { min-height: 78vw; }
  .aboutGrid, .contactLayout { grid-template-columns: 1fr; }
  .portrait { position: relative; top: auto; max-width: 620px; }
}

.admin-bar .header { top: 32px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.menu-item.current-menu-item a::after, .menu-item.current_page_item a::after { right: 0; }
.nav ul, .footerLinks ul { display: contents; margin: 0; padding: 0; list-style: none; }
.nav li, .footerLinks li { display: contents; }
.wp-post-image { display: block; }
.artImageWrap > a, .artImageWrap img { width: 100%; height: 100%; }
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 54px; }
.pagination .page-numbers { padding: 9px 13px; border: 1px solid var(--border); }
.pagination .current { background: #111; color: #fff; border-color: #111; }
.noticeInline { padding: 14px 16px; border: 1px solid var(--border); background: var(--surface); }
.contactSuccess { border-color: #4f8a10; }
.contactError { border-color: #b91c1c; }
.legalContent { max-width: 850px; }
.legalContent h2 { margin-top: 2em; font-family: var(--display); font-size: 28px; }
.heroPattern, .portrait { background-image: none; }
.portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.artCard[hidden] { display: none; }

@media (max-width: 782px) {
  .admin-bar .header { top: 46px; }
}

@media (max-width: 580px) {
  .heroTop, .pageHeroMeta, .footerBottom { align-items: flex-start; flex-direction: column; }
  .hero { min-height: 84vh; }
  .artGrid { grid-template-columns: 1fr; }
  .footerTop { grid-template-columns: 1fr; }
  .footerBrand { grid-column: auto; }
  .exhibitionRow { grid-template-columns: 52px 1fr; gap: 12px; }
  .exhibitionVenue { grid-column: 2; }
  .exhibitionPlace { grid-column: 2; }
  .infoGrid, .galleryGrid { grid-template-columns: 1fr; }
  .galleryButton { min-height: 100vw; }
  .form { grid-template-columns: 1fr; }
  .fieldFull, .consent { grid-column: 1; }
  .prevNext a { padding: 28px 20px; }
  .lightbox { padding: 55px 15px; }
}
:root {
  --background: #f1f3f4;
  --surface: #ffffff;
  --text: #111111;
  --muted: #666666;
  --border: #dadce0;
  --accent: #1e5bff;
  --header-height: 78px;
  --page-pad: clamp(20px, 4vw, 64px);
  --display: "Space Grotesk", Arial, sans-serif;
  --body: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--text); font-family: var(--body); font-size: 15px; line-height: 1.55; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { max-width: 100%; }
::selection { background: var(--accent); color: white; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 10px 14px; background: #111; color: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
