/*
Theme Name: CFO Creative Portfolio
Theme URI: https://example.invalid/
Author: Custom Portfolio
Description: Photography portfolio with Customizer homepage, galleries, dark mode, and bilingual strings.
Version: 1.0.6
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: cfo-creative
License: GPL-2.0-or-later
*/
:root{--bg:#fff;--fg:#292929;--muted:#777;--line:#b6b6b6;--accent:#9b3437;--panel:#f4f4f4}body.dark{--bg:#1d1e20;--fg:#f2eee8;--muted:#c0bcb7;--line:#666;--panel:#292a2c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;height:auto}button,input,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1280px;margin:auto;padding:0 28px}.site-header{padding:22px 0;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:22px;min-height:64px}.site-logo{max-height:82px;width:auto;display:block}.site-brand{font-family:Oswald,'Arial Narrow',sans-serif;font-size:clamp(22px,2.7vw,38px);letter-spacing:.045em;font-weight:500;line-height:1.15}.site-brand img{max-height:65px;width:auto}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.primary-nav a,.social-links,.section-heading,.entry-title{font-family:Oswald,'Arial Narrow',sans-serif;letter-spacing:.07em}.primary-nav a{text-transform:uppercase;font-size:14px}.social-links{display:flex;align-items:center;gap:13px}.social-links a{font-size:13px;font-weight:bold}.mode-toggle,.mobile-toggle{border:0;background:none;color:var(--fg);padding:5px}.mobile-toggle{display:none}.hero{position:relative;height:min(57vw,620px);min-height:280px;overflow:hidden;background:#262626}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;background-position:center;background-size:cover}.hero-slide.active{opacity:1}.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#1118;color:white;border:1px solid #fff9;border-radius:50%;width:42px;height:42px;font-size:25px;z-index:2}.hero-arrow.prev{left:22px}.hero-arrow.next{right:22px}.section-heading{display:flex;align-items:center;gap:22px;text-align:center;text-transform:uppercase;font-size:clamp(22px,3vw,34px);margin:48px 0 30px;line-height:1.25}.section-heading:before,.section-heading:after{content:'';height:1px;background:var(--line);flex:1;min-width:10px}.gallery-grid,.post-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.tile img{width:100%;height:250px;object-fit:cover;display:block}.tile figcaption,.post-card h3{text-align:center;font-family:Oswald,'Arial Narrow',sans-serif;font-size:17px;font-weight:400;margin:10px 0}.post-card img{width:100%;height:250px;object-fit:cover}.meta{text-align:center;color:var(--muted);font-size:12px}.about-row{display:grid;grid-template-columns:250px 1fr;gap:30px;align-items:start}.about-row img{width:250px;height:250px;object-fit:cover}.section-block{padding-bottom:16px}.content-area{min-height:45vh}.single-content{max-width:850px;margin:auto}.single-content img{height:auto}.gallery-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-photo-grid.square img{aspect-ratio:1;object-fit:cover;width:100%}.gallery-photo-grid.masonry{columns:3;display:block}.gallery-photo-grid.masonry a{display:block;break-inside:avoid;margin-bottom:12px}.gallery-photo-grid.justified{display:flex;flex-wrap:wrap}.gallery-photo-grid.justified a{flex:1 1 260px}.gallery-photo-grid.justified img{width:100%;height:260px;object-fit:cover}.gallery-photo-grid img{display:block;width:100%}.footer{border-top:1px solid var(--line);margin-top:75px;padding:35px 0;color:var(--muted);font-size:13px;text-align:center}.widget-area{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lightbox{position:fixed;inset:0;background:#000e;display:none;z-index:9999;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:86vh;object-fit:contain}.lightbox button{position:absolute;background:#3339;border:0;color:white;font-size:32px;padding:6px 16px}.lightbox .close{top:12px;right:18px}.lightbox .back{left:10px}.lightbox .forward{right:10px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:15px;top:15px;z-index:10000;background:white;color:black;padding:8px}@media(max-width:950px){.header-inner{flex-wrap:wrap}.primary-nav{order:5;width:100%;display:none}.primary-nav.open{display:block}.primary-nav ul{flex-wrap:wrap}.mobile-toggle{display:block;margin-left:auto}.social-links{margin-left:0}.gallery-grid,.post-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.wrap{padding:0 15px}.gallery-grid,.post-grid,.gallery-photo-grid{grid-template-columns:1fr}.about-row{grid-template-columns:1fr}.hero{height:65vw;min-height:250px}.site-brand{font-size:22px}.social-links{gap:8px}.widget-area{grid-template-columns:1fr}}

/* v1.0.2 — Full-frame, uncropped 2:1 hero. */
.hero {
  width:100%;
  height:max(50vw, calc(100svh - var(--cfo-header-height, 110px)));
  min-height:0;
  overflow:hidden;
  background:var(--bg);
}
.hero-slide {
  position:absolute; inset:0; opacity:0; transition:opacity .65s ease;
  background:none !important; display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.hero-slide.active {opacity:1;}
.hero-slide img {width:100%;height:100%;object-fit:contain;object-position:center;display:block;}
@media(max-width:560px){.hero{height:max(50vw, calc(100svh - var(--cfo-header-height, 110px)));min-height:0;}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;}}

/* v1.0.3 — Discreet 30px translucent white slideshow controls. */
.hero .hero-arrow {
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;min-width:30px;min-height:30px;
  padding:0;border:0;border-radius:7px;
  background:rgba(255,255,255,.5);color:#000;
  font-family:Arial,sans-serif;font-size:30px;font-weight:400;line-height:1;
  box-shadow:none;text-shadow:none;transition:background-color .2s ease;
}
.hero .hero-arrow.prev{left:22px;}
.hero .hero-arrow.next{right:22px;}
.hero .hero-arrow:hover{background:rgba(255,255,255,.75);color:#000;}
.hero .hero-arrow:focus-visible{outline:2px solid #000;outline-offset:3px;}
@media(max-width:560px){.hero .hero-arrow.prev{left:12px;}.hero .hero-arrow.next{right:12px;}}
@media(prefers-reduced-motion:reduce){.hero .hero-arrow{transition:none;}}

/* CFO 1.0.4: social links and mobile modes */
.cfo-social-wrap{position:relative}.cfo-social-items{display:flex;align-items:center;gap:13px}.cfo-social-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:30px;color:var(--fg);transition:opacity .2s ease}.cfo-social-icon:hover{opacity:.55}.cfo-social-toggle{display:none;border:0;background:transparent;color:var(--fg);font-size:23px;cursor:pointer;width:36px;height:36px}.cfo-social-icon:focus-visible,.cfo-social-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:950px){.social-mobile-grouped .cfo-social-toggle{display:inline-flex;align-items:center;justify-content:center}.social-mobile-grouped .cfo-social-items{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:50;background:var(--bg);border:1px solid var(--line);padding:12px;min-width:180px;max-width:min(85vw,300px);flex-wrap:wrap;box-shadow:0 5px 20px #0002}.social-mobile-grouped.social-open .cfo-social-items{display:flex}.social-mobile-visible .cfo-social-items{display:flex;flex-wrap:wrap;gap:7px}.social-links{margin-left:0}}

/* 1.0.5: full-width desktop header, compact monochrome glyphs and customizable palette */
:root{--bg:var(--cfo-bg,#fff);--fg:var(--cfo-fg,#292929);--muted:var(--cfo-muted,#777);--line:var(--cfo-line,#b6b6b6);--panel:var(--cfo-panel,#f4f4f4)}
body.dark{--bg:var(--cfo-dark-bg,#1d1e20);--fg:var(--cfo-dark-fg,#f2eee8);--muted:var(--cfo-dark-muted,#c0bcb7);--line:var(--cfo-dark-line,#666);--panel:var(--cfo-dark-panel,#292a2c)}
.site-header .header-inner{max-width:100%;width:100%;margin:0 auto;flex-wrap:nowrap;min-height:50px}
.site-header{padding:12px 0}.site-header .site-brand{flex:0 1 auto;min-width:0;white-space:nowrap}.site-header .custom-logo-link{flex:0 0 auto}.site-header .custom-logo{max-width:180px;max-height:54px;width:auto;height:auto}.site-header .site-brand img{max-height:54px;width:auto}
.site-header .primary-nav{margin-left:auto;flex:0 0 auto}.site-header .primary-nav ul{gap:clamp(8px,1.2vw,20px);white-space:nowrap}.site-header .social-links{flex:0 0 auto;gap:7px}.cfo-social-items{gap:6px}.cfo-social-icon{width:18px;height:22px;color:var(--cfo-social,#000)}body.dark .cfo-social-icon{color:var(--cfo-social-dark,#fff)}.cfo-social-icon svg{display:block}.site-header .mode-toggle{padding:2px 3px;flex:0 0 auto}
@media(max-width:1100px){.site-header .header-inner{flex-wrap:wrap}.site-header .mobile-toggle{display:block;margin-left:auto}.site-header .primary-nav{order:5;width:100%;display:none}.site-header .primary-nav.open{display:block}.site-header .primary-nav ul{flex-wrap:wrap;white-space:normal}.site-header .site-brand{white-space:normal}.social-links{margin-left:0}}
@media(max-width:560px){.site-header .header-inner{padding-left:12px!important;padding-right:12px!important}.site-header .site-brand{font-size:min(5vw,24px)!important}.social-mobile-visible .cfo-social-items{max-width:45vw;gap:4px}.cfo-social-icon{width:18px}}
