/*
Theme Name: Atelier RAF Viewport
Theme URI: https://atelier-raf.art/
Author: NotYouAgain.ai / ChatGPT
Description: iOS-first one-viewport artist portfolio theme for RAF DE WIT with rotating artwork backgrounds, latest-post composition, internal scrolling, lightbox galleries, and web-optimized bundled artwork.
Version: 1.3.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: atelier-raf
Tags: portfolio, art, one-column, custom-background, featured-images
*/

:root{
  --raf-ink:#070707;
  --raf-paper:#f5f1e7;
  --raf-paper-soft:rgba(245,241,231,.70);
  --raf-paper-thin:rgba(245,241,231,.20);
  --raf-shadow:0 18px 70px rgba(0,0,0,.38);
  --raf-display: Didot, "Bodoni 72", "Bodoni 72 Smallcaps", "Hoefler Text", "Iowan Old Style", Baskerville, Georgia, serif;
  --raf-text: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}html{margin:0!important;height:100%;background:var(--raf-ink)}
body{
  margin:0!important;width:100vw;height:100vh;height:100svh;overflow:hidden;
  color:var(--raf-paper);background:var(--raf-ink);font-family:var(--raf-text);
  -webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
}
body.admin-bar .raf-shell{top:32px;height:calc(100svh - 32px)}
@media(max-width:782px){body.admin-bar .raf-shell{top:46px;height:calc(100svh - 46px)}}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.screen-reader-text{position:absolute;left:-9999px}

.raf-bg-rotator{position:fixed;inset:0;z-index:0;overflow:hidden;background:#000}.raf-bg-rotator:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.72)),radial-gradient(circle at 20% 0,rgba(255,255,255,.18),transparent 33%);pointer-events:none}.raf-bg-slide{position:absolute;inset:-6vmax;width:calc(100% + 12vmax);height:calc(100% + 12vmax);object-fit:cover;opacity:0;transform:scale(1.04);filter:saturate(.96) contrast(1.05);transition:opacity 1200ms ease,transform 9000ms linear}.raf-bg-slide.is-active{opacity:1;transform:scale(1.1) rotate(-.65deg)}

.raf-shell{
  position:fixed;z-index:2;inset:0;width:100vw;height:100svh;overflow:hidden;
  padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
  display:grid;gap:clamp(5px,1svh,10px);min-height:0;
  grid-template-rows:clamp(24px,4svh,38px) minmax(0,1fr) clamp(18px,2.5svh,24px);
}

.raf-topbar{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(245,241,231,.30);overflow:hidden}.raf-home{display:inline-flex;align-items:center;gap:.75em;white-space:nowrap;line-height:1;color:var(--raf-paper);font-family:var(--raf-display);font-style:italic;font-weight:900;letter-spacing:-.08em;font-size:clamp(18px,2.6vw,34px);text-shadow:0 2px 18px rgba(0,0,0,.75)}.raf-home small{font-family:var(--raf-text);font-style:normal;font-weight:800;letter-spacing:.13em;text-transform:uppercase;font-size:clamp(8px,1vw,11px);opacity:.78}.raf-nav{display:flex;gap:18px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.14em;opacity:.82}.raf-nav ul,.raf-nav li{display:flex;gap:18px;list-style:none;margin:0;padding:0}

.raf-panel,.raf-feature,.raf-card{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(245,241,231,.36);box-shadow:var(--raf-shadow);background:rgba(0,0,0,.28);isolation:isolate}.raf-panel img,.raf-art-link img,.raf-card img,.raf-feature-image img{width:100%;height:100%;object-fit:cover}.raf-hero img{object-position:center 38%}.raf-panel:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(130deg,transparent 0 55%,rgba(245,241,231,.22) 55.15%,transparent 55.5%),linear-gradient(40deg,transparent 0 64%,rgba(0,0,0,.30) 64.12%,transparent 64.45%);mix-blend-mode:screen}

.raf-hero-title{position:absolute;z-index:4;left:clamp(10px,2.2vw,24px);bottom:clamp(8px,1.7vw,18px);max-width:min(620px,72vw);padding:0;background:transparent;color:var(--raf-paper);text-shadow:0 2px 0 rgba(0,0,0,.95),0 14px 34px rgba(0,0,0,.92)}.raf-hero-title h1{margin:0;font-family:var(--raf-display);font-style:italic;font-weight:900;letter-spacing:-.095em;line-height:.76;font-size:clamp(30px,5vw,72px)}.raf-hero-title p{display:inline-block;margin:.38em 0 0;padding:.28em .55em;background:rgba(245,241,231,.70);color:#070707;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:clamp(8px,1.1vw,12px);font-weight:900;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}

.raf-latest{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,.86fr);gap:clamp(5px,1vw,10px);background:rgba(0,0,0,.18);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:clamp(4px,.8vw,8px);border:1px solid rgba(245,241,231,.26);box-shadow:var(--raf-shadow)}.raf-feature{display:grid;grid-template-rows:minmax(96px,.30fr) minmax(0,1fr)}.raf-eyebrow{position:absolute;z-index:5;top:7px;left:10px;color:var(--raf-paper);font-size:clamp(8px,.9vw,10px);letter-spacing:.22em;text-transform:uppercase;font-weight:900;text-shadow:0 1px 8px #000}.raf-feature-copy{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:clamp(19px,2.5vw,28px) clamp(10px,1.7vw,18px) clamp(7px,1vw,12px);background:rgba(245,241,231,.72);color:#060606;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.raf-feature-copy h2,.raf-card h3{margin:0;font-family:var(--raf-display);font-style:italic;font-weight:900;letter-spacing:-.065em}.raf-feature-copy h2{font-size:clamp(22px,3.9vw,52px);line-height:.84}.raf-feature-copy p{margin:.42em 0 0;max-width:48em;font-size:clamp(10px,1.25vw,15px);line-height:1.15;font-weight:650}.raf-feature-image{min-height:0;overflow:hidden}.raf-cards{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(5px,1vw,10px)}.raf-card a{display:block;width:100%;height:100%}.raf-card h3{position:absolute;z-index:4;top:7px;left:7px;right:7px;padding:4px 6px;background:rgba(245,241,231,.70);color:#070707;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:clamp(14px,1.8vw,25px);line-height:.92}.raf-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.42))}.raf-copyright{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(245,241,231,.34);font-size:clamp(8px,.9vw,10px);letter-spacing:.16em;text-transform:uppercase;opacity:.90;overflow:hidden;white-space:nowrap;background:rgba(0,0,0,.46);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:0 6px}.raf-copyright span:last-child{opacity:.78;overflow:hidden;text-overflow:ellipsis}.raf-copyright a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(245,241,231,.38)}

.raf-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:rgba(0,0,0,.94)}.raf-lightbox.is-open{display:flex}.raf-lightbox img{max-width:96vw;max-height:92svh;width:auto;height:auto;object-fit:contain;box-shadow:0 12px 70px rgba(0,0,0,.82)}.raf-lightbox button{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));border:0;background:var(--raf-paper);color:var(--raf-ink);font-size:18px;font-weight:900;width:42px;height:42px;border-radius:999px}

.entry-shell{position:fixed;z-index:2;inset:0;height:100svh;overflow:auto;-webkit-overflow-scrolling:touch;color:var(--raf-paper);padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.entry-wrap{max-width:920px;margin:0 auto;background:rgba(0,0,0,.66);padding:clamp(18px,4vw,54px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.entry-wrap h1{font-family:var(--raf-display);font-style:italic;font-size:clamp(38px,8vw,106px);line-height:.82;letter-spacing:-.08em;margin:0 0 .3em}.entry-content{font-size:clamp(18px,2vw,23px);line-height:1.42}.entry-content img{margin:1.2em auto;max-height:82svh;width:auto}.entry-content a[href$='.jpg'] img,.entry-content a[href$='.jpeg'] img,.entry-content a[href$='.png'] img,.entry-content a[href$='.webp'] img{cursor:zoom-in}

@media(orientation:portrait) and (max-width:820px){
  .raf-shell{grid-template-rows:clamp(22px,3.7svh,32px) minmax(0,1fr) 18px;gap:5px;padding:max(7px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .raf-home{font-size:clamp(17px,5vw,28px)}.raf-home small,.raf-nav{display:none}.raf-hero-title{max-width:calc(100vw - 32px)}.raf-hero-title h1{font-size:clamp(28px,10.5vw,54px)}.raf-hero-title p{font-size:8px;max-width:calc(100vw - 34px)}
  .raf-latest{grid-template-columns:1fr;grid-template-rows:minmax(0,1.15fr) minmax(0,.85fr)}.raf-feature{grid-template-rows:minmax(54px,.36fr) minmax(0,1fr)}.raf-feature-copy h2{font-size:clamp(25px,9vw,44px)}.raf-feature-copy p{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.raf-cards{grid-template-columns:repeat(4,minmax(112px,1fr));grid-template-rows:1fr;overflow-x:auto;scroll-snap-type:x mandatory}.raf-card{min-width:112px;scroll-snap-align:start}.raf-card h3{font-size:clamp(14px,4.2vw,19px)}.raf-copyright{font-size:7px;letter-spacing:.10em}.raf-copyright span:last-child{display:block}
}
@media(max-height:620px) and (orientation:landscape){.raf-shell{grid-template-rows:24px minmax(0,1fr) 15px;gap:5px}.raf-home{font-size:23px}.raf-home small,.raf-nav{display:none}.raf-hero-title h1{font-size:clamp(30px,5.8vw,52px)}.raf-hero-title p{font-size:8px}.raf-feature-copy p{display:none}.raf-feature-copy h2{font-size:clamp(22px,4.4vw,42px)}}

/* v1.3 — sketched content block: 50% viewport glass panel with article navigation */
.raf-shell{
  grid-template-rows:clamp(24px,4svh,38px) minmax(0,1fr) clamp(18px,2.5svh,24px);
  align-content:stretch;
}
.raf-content-panel{
  position:relative;
  align-self:center;
  width:100%;
  height:50svh;
  min-height:300px;
  max-height:560px;
  min-width:0;
  overflow:hidden;
  display:grid;
  grid-template-rows:clamp(22px,4svh,34px) minmax(0,1fr) clamp(30px,5svh,42px);
  border:1px solid rgba(245,241,231,.34);
  background:linear-gradient(135deg,rgba(245,241,231,.32),rgba(245,241,231,.12) 38%,rgba(0,0,0,.34));
  box-shadow:0 22px 90px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.25);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
}
.raf-content-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 35%,rgba(255,255,255,.06) 65%,transparent),radial-gradient(circle at 12% 0,rgba(255,255,255,.24),transparent 22%);mix-blend-mode:screen;}
.raf-panel-head{position:relative;z-index:2;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(10px,1.6vw,18px);border-bottom:1px solid rgba(245,241,231,.26);color:var(--raf-paper);text-shadow:0 1px 10px rgba(0,0,0,.72)}
.raf-panel-head span{font-size:clamp(9px,1vw,12px);letter-spacing:.25em;text-transform:uppercase;font-weight:950}.raf-panel-head small{font-size:clamp(8px,.9vw,10px);letter-spacing:.16em;text-transform:uppercase;opacity:.76}
.raf-latest{position:relative;z-index:2;border:0;box-shadow:none;background:transparent;padding:clamp(6px,1vw,10px);grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);height:100%}
.raf-feature,.raf-card{background:rgba(0,0,0,.24);border:1px solid rgba(245,241,231,.24);box-shadow:0 10px 36px rgba(0,0,0,.28)}
.raf-feature{grid-template-rows:minmax(72px,.42fr) minmax(0,1fr)}
.raf-feature-copy{background:rgba(245,241,231,.58);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1)}
.raf-read-more{display:inline-block;margin-top:.7em;font-size:clamp(8px,.85vw,10px);letter-spacing:.16em;text-transform:uppercase;font-weight:950;border-bottom:1px solid currentColor}
.raf-cards{overflow:auto;-webkit-overflow-scrolling:touch;padding-right:2px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(116px,1fr);grid-template-rows:none;scrollbar-width:thin}
.raf-card{min-height:116px}.raf-article-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 clamp(10px,1.6vw,18px);border-top:1px solid rgba(245,241,231,.26);background:rgba(0,0,0,.34);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.raf-article-nav a{display:inline-flex;align-items:center;min-height:24px;padding:4px 0;color:var(--raf-paper);font-size:clamp(8px,.9vw,11px);letter-spacing:.16em;text-transform:uppercase;font-weight:850;text-shadow:0 1px 8px rgba(0,0,0,.8);border-bottom:1px solid rgba(245,241,231,.45)}
@media(orientation:portrait) and (max-width:820px){.raf-content-panel{height:50svh;min-height:360px;grid-template-rows:28px minmax(0,1fr) 36px}.raf-latest{grid-template-columns:1fr;grid-template-rows:minmax(0,1.05fr) minmax(0,.95fr)}.raf-cards{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));grid-auto-flow:column;grid-auto-columns:minmax(128px,42vw);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory}.raf-card{min-width:128px;scroll-snap-align:start}.raf-article-nav a{font-size:8px;letter-spacing:.11em}}
@media(max-height:620px) and (orientation:landscape){.raf-content-panel{height:50svh;min-height:220px;grid-template-rows:22px minmax(0,1fr) 28px}.raf-feature{grid-template-rows:minmax(46px,.46fr) minmax(0,1fr)}}
