/*
Theme Name: Maria Panina Gallery
Theme URI: https://mariapanina.art/
Author: FultonStudio
Description: Minimal editorial exhibition theme with SKU caption access and artwork purchase pages.
Version: 0.1.4
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: maria-panina-gallery
*/

:root{
  --mp-bg:#fbfaf7;
  --mp-paper:#fff;
  --mp-text:#121212;
  --mp-muted:#6c6c68;
  --mp-line:#d9d8d2;
  --mp-max:1440px;
  --mp-pad:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--mp-bg);color:var(--mp-text);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,input,select,textarea,.button{border-radius:0}
.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}
.mp-site{min-height:100vh}
.mp-shell{width:min(100%,var(--mp-max));margin:0 auto;padding-left:var(--mp-pad);padding-right:var(--mp-pad)}
.mp-kicker{font-size:9px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:var(--mp-muted)}
.mp-site-header{position:relative;height:92px;display:flex;align-items:center;border-bottom:1px solid transparent}
.mp-header-inner{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.mp-brand{font-size:13px;letter-spacing:.48em;text-transform:uppercase;white-space:nowrap;margin-left:.48em}
.mp-brand-logo,.custom-logo-link{display:block;line-height:0}
.mp-brand-logo img,.custom-logo{display:block;width:auto;max-width:min(42vw,360px);max-height:48px}
.custom-logo-link img{width:auto;height:auto}
.mp-header-actions{justify-self:end;display:flex;align-items:center;gap:22px}
.mp-nav-toggle{display:none;border:0;background:transparent;padding:10px 0;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.mp-primary-nav{justify-self:end}
.mp-primary-nav ul{display:flex;list-style:none;padding:0;margin:0;gap:26px}
.mp-primary-nav a{font-size:9px;letter-spacing:.12em;text-transform:uppercase}

.mp-cart-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:inherit;text-decoration:none}
.mp-cart-icon{width:22px;height:22px;display:block}
.mp-cart-count{position:absolute;right:-3px;top:-2px;display:none;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:50%;background:#111;color:#fff;font-size:9px;line-height:1;font-weight:600}
.mp-cart-link.has-items .mp-cart-count{display:flex}
.mp-cart-link:hover .mp-cart-icon{opacity:.65}
.mp-back{font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.mp-back::before{content:"←";font-size:15px;margin-right:10px}
.mp-home-hero{padding-top:16px}
.mp-hero-frame{width:min(100%,1040px);margin:0 auto;background:var(--mp-paper);padding:clamp(16px,2.4vw,34px);box-shadow:0 3px 20px rgba(0,0,0,.05)}
.mp-hero-image{width:min(100%,820px);margin:0 auto;max-height:600px;overflow:hidden;background:#eee}
.mp-hero-image img{width:100%;height:100%;max-height:600px;object-fit:cover;display:block}
.mp-hero-copy{text-align:center;padding:28px 0 4px}
.mp-hero-copy h1{margin:0;font-size:16px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.mp-hero-copy>p{margin:7px 0 22px;font-size:11px;letter-spacing:.03em}
.mp-how{padding:52px 0 70px}
.mp-how h2{text-align:center;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin:0 0 30px}
.mp-how-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:840px;margin:0 auto}
.mp-step{padding:0 34px;text-align:center;border-right:1px solid var(--mp-line)}
.mp-step:last-child{border-right:0}
.mp-step-num{font-size:9px;letter-spacing:.1em;margin-bottom:12px}
.mp-step h3{font-size:13px;font-weight:500;margin:0 0 7px}
.mp-step p{font-size:11px;color:#3f3f3c;margin:0}
.mp-exhibition{border-top:1px solid var(--mp-line);padding:84px 0 110px}
.mp-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,520px);gap:80px;align-items:end;margin-bottom:54px}
.mp-section-head h2{font-size:clamp(28px,4vw,58px);font-weight:400;line-height:1;letter-spacing:-.035em;margin:10px 0 0}
.mp-section-head p{margin:0;color:#3f3f3c}
.mp-series-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}
.mp-series-links a{font-size:9px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor}
.mp-site-footer{border-top:1px solid var(--mp-line);padding:26px 0 34px}
.mp-footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}
.mp-footer-inner p{margin:0;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.mp-footer-links{display:flex;gap:26px}
.mp-artwork-page{padding:18px 0 84px}
.mp-artwork-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);gap:clamp(34px,5vw,80px);align-items:start}
.mp-artwork-visual{min-width:0}
.mp-artwork-image{background:#eee;display:flex;align-items:center;justify-content:center;min-height:520px}
.mp-artwork-image img{display:block;max-height:78vh;width:auto;max-width:100%;object-fit:contain}
.mp-artwork-panel{position:sticky;top:28px;padding-top:16px}
.mp-artwork-panel .mp-sku{font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}
.mp-artwork-panel h1{font-size:22px;font-weight:400;line-height:1.15;letter-spacing:.09em;text-transform:uppercase;margin:0 0 2px}
.mp-artwork-year{margin:0 0 24px;font-size:12px}
.mp-artwork-caption{font-size:12px;line-height:1.7;margin:0 0 22px}
.mp-detail-list{border-top:1px solid var(--mp-line);margin:24px 0 0}
.mp-detail-row{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--mp-line);font-size:11px}
.mp-detail-row dt{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--mp-muted)}
.mp-detail-row dd{margin:0}
.mp-price{font-size:22px;font-weight:400;margin:24px 0}
.mp-offer{border-top:1px solid var(--mp-line);border-bottom:1px solid var(--mp-line);padding:13px 0;margin-bottom:18px;text-align:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.mp-actions{display:grid;gap:8px}
.mp-action{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 16px;border:1px solid #111;background:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.mp-action-primary{background:#111;color:#fff}
.mp-action[disabled]{opacity:.45;cursor:not-allowed}
.mp-save-heart{margin-left:10px;font-size:15px}
.mp-series-about{margin-top:40px;padding-top:22px;border-top:1px solid var(--mp-line)}
.mp-series-about h2{font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin:0 0 13px}
.mp-series-about p{font-size:11px;line-height:1.65;margin:0 0 12px}
.mp-archive{padding:50px 0 110px}
.mp-archive-head{max-width:760px;margin-bottom:58px}
.mp-archive-head h1{font-size:clamp(36px,5vw,72px);font-weight:400;letter-spacing:-.04em;line-height:1;margin:10px 0 24px}
.mp-archive-head p{color:#454541}
.mp-basic-page{padding:60px 0 110px;max-width:900px}
.mp-basic-page h1{font-weight:400;font-size:clamp(36px,5vw,68px);letter-spacing:-.035em}
.mp-basic-page a{text-decoration:underline;text-underline-offset:3px}
.mp-empty-hero{aspect-ratio:16/9;background:linear-gradient(135deg,#eee,#ddd)}
@media(max-width:900px){
  .mp-site-header{height:72px}
  .mp-header-inner{grid-template-columns:1fr auto 1fr}
  .mp-header-actions{gap:12px}
  .mp-nav-toggle{display:block;justify-self:end}
  .mp-primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--mp-bg);border-top:1px solid var(--mp-line);border-bottom:1px solid var(--mp-line);padding:22px var(--mp-pad);z-index:20}
  .mp-primary-nav.is-open{display:block}
  .mp-primary-nav ul{display:grid;gap:14px}
  .mp-artwork-layout{grid-template-columns:1fr}
  .mp-artwork-panel{position:static;padding-top:0}
  .mp-artwork-image{min-height:0}
  .mp-artwork-image img{max-height:none;width:100%}
  .mp-section-head{grid-template-columns:1fr;gap:25px}
}
@media(max-width:640px){
  .mp-shell{padding-left:18px;padding-right:18px}
  .mp-back{font-size:0}.mp-back::before{font-size:17px;margin-right:0}
  .mp-brand{font-size:10px;letter-spacing:.38em}
  .mp-brand-logo img,.custom-logo{max-width:52vw;max-height:34px}
  .mp-home-hero{padding-top:0}
  .mp-hero-frame{padding:0;box-shadow:none;background:transparent}
  .mp-hero-image{width:100%}
  .mp-hero-copy{padding:18px 6px 0}
  .mp-how{padding:44px 0 56px}
  .mp-how-grid{grid-template-columns:1fr;gap:28px}
  .mp-step{border-right:0;padding:0 20px}
  .mp-exhibition{padding:60px 0 80px}
  .mp-section-head{margin-bottom:34px}
  .mp-footer-inner{align-items:flex-start;flex-direction:column}
  .mp-artwork-page{padding-top:0}
  .mp-artwork-layout{gap:25px}
  .mp-artwork-panel h1{font-size:19px}
  .mp-detail-row{grid-template-columns:88px 1fr}
}


.mp-test-notice {
    margin: 0 0 24px;
    padding: 14px 16px;
    border: 1px solid currentColor;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* Editable exhibition credits page */
.mp-basic-page .mp-credits-intro{margin:0 0 54px;max-width:760px}
.mp-basic-page .mp-credits-intro p{font-size:clamp(21px,2.6vw,31px);line-height:1.42;letter-spacing:-.018em}
.mp-basic-page .mp-credits-rule{border:0;border-top:1px solid rgba(22,22,19,.18);margin:52px 0}
.mp-basic-page .mp-credit-entry{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:34px;margin:0 0 48px;align-items:start}
.mp-basic-page .mp-credit-entry h2{font-size:clamp(21px,2.25vw,30px);font-weight:400;line-height:1.15;letter-spacing:-.018em;margin:0}
.mp-basic-page .mp-credit-entry p{font-size:17px;line-height:1.72;margin:0;max-width:600px}
.mp-basic-page .mp-credits-closing{font-size:18px;line-height:1.7;margin-top:48px}
@media (max-width:720px){
    .mp-basic-page .mp-credit-entry{grid-template-columns:1fr;gap:12px;margin-bottom:40px}
    .mp-basic-page .mp-credits-intro{margin-bottom:42px}
    .mp-basic-page .mp-credits-rule{margin:42px 0}
}
