/*
Theme Name: Muhcine Ennou
Theme URI: https://muhcine.com/
Author: Muhcine Ennou
Author URI: https://muhcine.com/
Description: Brutalist/archival portfolio theme for a director, CGI artist and photographer. Slide-up index panels for Work, Commercial, Text and About; an enquiry cart for limited-edition prints; Shop and Contact page templates. Converted from the original single-page site.
Version: 1.0.0
Requires at least: 5.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: muhcine-ennou
Tags: portfolio, photography, one-column, custom-colors, editor-style
*/

/* The full design system lives in assets/css/base.css (enqueued first).
   This file holds only WordPress-specific additions and overrides. */

html, body { height: 100%; margin: 0; }

.fh { height: 100vh; height: 100dvh; }
body.admin-bar .fh { height: calc(100vh - 32px); }
@media (max-width: 782px) {
  body.admin-bar .fh { height: calc(100vh - 46px); }
}

/* real imagery inside aspect-ratio wrappers (featured images) */
.fh-media {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--hairline);
  background: #e6e3dd;
}
.fh-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* mini slider slides (server-rendered, JS cycles them) */
.fh-mini-slide { display: none; }
.fh-mini-slide.on { display: block; }

/* accordion body starts collapsed without JS-measured height */
.fh-acc-full-clip { max-height: 0; }

/* nav links may be <a> or <button> */
.fh-links a.fh-link { display: inline-block; }

/* blog index list reuses the text-list styling */
.fh-list-row { color: inherit; }

/* the hidden attribute must always win, even over display:flex rules
   (fixes the enquiry form / thank-you toggling) */
[hidden] { display: none !important; }

/* static index pages (Work / Commercial / Text as standalone pages) */
.fh-page .fh-acc { border-top: 1px solid var(--ink); }
.fh-page .fh-acc-row { padding-left: 0; padding-right: 0; }
.fh-page .fh-acc-row:hover { padding-left: 14px; }
.fh-page .fh-proj { padding-left: 0; padding-right: 0; }
.fh-page .fh-panel-filters { justify-content: flex-start; margin: 0 0 26px; }

/* ---------- full-width layout ----------
   The whole site breathes at 100% — no boxed max-widths on pages,
   panels or text blocks. */
.fh-page,
.fh-page-head,
.fh-panel-pad,
.fh-proj,
.fh-article,
.fh-intro,
.fh-headline,
.fh-sub,
.fh-page-lede,
.fh-about-lead,
.fh-about-text,
.fh-article-body p,
.pp-grid,
.fh-mini-frame,
.fh-mini-foot { max-width: 100%; }

/* extra aspect ratios (vertical video / Instagram reels) */
.ar-9-16 { aspect-ratio: 9 / 16; }

/* Instagram embeds render on white inside the frame */
.fh-embed-insta { background: #fff; }
.fh-embed-insta iframe { background: #fff; }

/* CV rows can be hyperlinks */
a.fh-cv-row { color: inherit; transition: background 0.12s, padding-left 0.15s; }
a.fh-cv-row:hover { background: rgba(20, 20, 19, 0.04); padding-left: 6px; }

/* inline links inside bio / article text */
.fh-about-lead a, .fh-about-text a, .fh-article-body a {
	border-bottom: 1px solid var(--rule);
	transition: border-color 0.15s;
}
.fh-about-lead a:hover, .fh-about-text a:hover, .fh-article-body a:hover {
	border-color: var(--ink);
}

/* no cursor-preview on touch devices — the hint and popup are pointless
   without a hover cursor (JS also skips arming there) */
@media (hover: none), (pointer: coarse) {
	.fh-shop-zoomhint { display: none !important; }
	.fh-shop-pop { display: none !important; }
}

/* accessibility */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute !important;
  word-wrap: normal !important;
}

/* WordPress content essentials */
.alignleft { float: left; margin: 0 20px 12px 0; }
.alignright { float: right; margin: 0 0 12px 20px; }
.aligncenter { display: block; margin: 0 auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-40);
  margin-top: 8px;
}
.sticky { /* required class */ }
.bypostauthor { /* required class */ }
