/*
Theme Name: Panorama Journal
Theme URI: https://example.com/panorama-journal
Author: ChatGPT
Author URI: https://example.com
Description: A clean, photo-forward WordPress theme inspired by cinematic, single-column articles with full-bleed imagery.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: panorama-journal
Tags: blog, one-column, featured-images, editor-style, custom-logo
*/

/* Keep this tiny to allow child CSS to load fast */
:root{
  --bg: #0d0d0d;
  --bg-alt: #121212;
  --text: #e6e6e6;
  --muted: #a3a3a3;
  --accent: #ffffff;
  --maxw: 760px;
  --radius: 14px;
  --pad: 20px;
}

body{background:var(--bg); color:var(--text); margin:0; font: 400 17px/1.7 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;}
a{color:var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px;}
img{max-width:100%; height:auto; border-radius: var(--radius);}/* Theme toggle: light overrides */
[data-theme="light"]{
  --bg: #ffffff;
  --bg-alt: #f8f8f8;
  --text: #1f1f1f;
  --muted: #666666;
  --accent: #0f0f0f;
}
*{transition: background-color .25s ease, color .25s ease, border-color .25s ease}
figure{margin:2rem 0;}
figcaption{color:var(--muted); font-size:0.9rem; text-align:center}

.container{max-width:var(--maxw); padding:0 var(--pad); margin:0 auto;}
.site-header{position:sticky; top:0; backdrop-filter:saturate(140%) blur(8px); background: color-mix(in oklab, var(--bg) 85%, black 15%); border-bottom:1px solid #1e1e1e; z-index:10}
.site-header .inner{display:flex; align-items:center; gap:16px; padding:12px var(--pad);}
.site-title a{font-weight:700; letter-spacing:0.4px; text-decoration:none; color:var(--text);}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex; gap:16px; list-style:none; padding:0; margin:0}
.primary-nav a{color:var(--text); text-decoration:none; opacity:.85}
.primary-nav a:hover{opacity:1}

.hero{margin:0 auto; max-width:1100px; padding:24px var(--pad) 0}
.hero img{border-radius: 18px;}
.post-header{padding: 12px var(--pad) 0; margin: 0 auto; max-width: var(--maxw);}
.post-title{font-size: clamp(32px, 6vw, 52px); line-height:1.1; margin: 16px 0 8px; letter-spacing:-0.02em}
.meta{color:var(--muted); font-size:.95rem}

.content{margin: 28px auto; max-width: var(--maxw); padding: 0 var(--pad);}
.content p{margin: 1.2rem 0}
.content h2,.content h3{margin-top:2.4rem}
.content blockquote{margin: 1.6rem 0; padding: 1rem 1.2rem; background: #111; border-left: 3px solid #2a2a2a; border-radius: var(--radius)}

.wp-block-image img{border-radius: 18px}
.full-bleed{margin: 2rem calc((100vw - 1100px)/-2);}
@media (max-width: 1200px){ .full-bleed{margin: 1.5rem var(--pad);} }

.tags{margin: 2rem 0; color: var(--muted);}
.tags a{display:inline-block; border:1px solid #2a2a2a; padding:.25rem .6rem; border-radius:999px; margin:.25rem; color:var(--text); text-decoration:none}

.post-nav{display:flex; justify-content:space-between; gap:12px; border-top:1px solid #1e1e1e; padding-top:1rem; margin-top:3rem}
.card{background:#0f0f0f; border:1px solid #1c1c1c; border-radius: var(--radius); padding: 1rem}
.site-footer{border-top:1px solid #1e1e1e; margin-top:4rem; padding:2rem var(--pad); color:var(--muted);}
.screen-reader-text{position:absolute; left:-9999px}

.alignwide{max-width:1100px; margin-left:auto; margin-right:auto}
.alignfull{width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw)}
