/*
Theme Name: Multifazetico Premium
Theme URI: https://multifazetico.com/
Author: Hermes
Description: Cinematic artist theme for Multifazetico — Puerto Rico / Afrobeat / Amapiano.
Version: 1.0.0
Text Domain: multifazetico-premium
*/

:root {
  --bg: #07080c;
  --bg-soft: #0e1017;
  --card: rgba(255,255,255,.06);
  --card-strong: rgba(255,255,255,.1);
  --line: rgba(255,255,255,.12);
  --text: #f4f3ef;
  --muted: rgba(244,243,239,.72);
  --accent: #f5c76b;
  --accent-2: #ff7f50;
  --shadow: 0 20px 60px rgba(0,0,0,.35);
  --radius: 24px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(245,199,107,.16), transparent 30%),
    radial-gradient(circle at 85% 20%, rgba(255,127,80,.14), transparent 24%),
    linear-gradient(180deg, #0b0d12 0%, #06070a 100%);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.site-shell { min-height: 100vh; }
.container { width: min(100% - 32px, var(--max)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(18px);
  background: rgba(6, 7, 10, .72);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  display:flex; align-items:center; justify-content:space-between; gap: 18px;
  padding: 16px 0;
}
.brand {
  display:flex; align-items:center; gap: 14px;
}
.brand-mark {
  width: 44px; height: 44px; border-radius: 14px; overflow:hidden;
  border: 1px solid rgba(255,255,255,.14); box-shadow: var(--shadow);
}
.brand-text { display:flex; flex-direction:column; }
.brand-name {
  font-size: .98rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 800;
}
.brand-tag { color: var(--muted); font-size: .82rem; }
.nav {
  display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap: 10px;
}
.nav a {
  color: var(--muted); font-size: .88rem; padding: 10px 12px; border-radius: 999px;
}
.nav a:hover, .nav a:focus { background: var(--card); color: var(--text); }
.nav .cta {
  background: linear-gradient(135deg, var(--accent), #f0e0b0);
  color: #111; font-weight: 800;
}
.hero {
  position: relative; overflow: hidden; border-bottom: 1px solid var(--line);
}
.hero::before {
  content: ''; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(7,8,12,.94) 0%, rgba(7,8,12,.66) 56%, rgba(7,8,12,.1) 100%),
    url('assets/hero-banner.jpg') center/cover no-repeat;
  transform: scale(1.02);
}
.hero-grid {
  position: relative;
  display:grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items:end;
  padding: 96px 0 60px;
}
.eyebrow {
  display:inline-flex; align-items:center; gap: 10px;
  letter-spacing: .22em; text-transform: uppercase; font-size: .78rem;
  color: var(--accent);
}
.eyebrow::before {
  content: ''; width: 38px; height: 1px; background: var(--accent); opacity: .8;
}
h1, h2, h3, h4 { line-height: 1.05; margin: 0; }
h1 {
  font-size: clamp(3.2rem, 8vw, 7rem);
  letter-spacing: -.06em; margin-top: 16px; max-width: 9ch;
}
.hero-copy p {
  max-width: 63ch; font-size: 1.05rem; color: var(--muted); margin: 18px 0 0;
}
.hero-actions { display:flex; flex-wrap:wrap; gap: 12px; margin-top: 26px; }
.button {
  display:inline-flex; align-items:center; justify-content:center; gap: 10px;
  padding: 14px 20px; border-radius: 999px; border: 1px solid var(--line);
  background: var(--card); color: var(--text); font-weight: 700; box-shadow: var(--shadow);
}
.button:hover { transform: translateY(-1px); background: var(--card-strong); }
.button.primary {
  background: linear-gradient(135deg, var(--accent), #ffdca0);
  color: #111;
}
.hero-panel {
  align-self: stretch;
  display:flex; flex-direction:column; gap: 16px;
}
.card {
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); overflow:hidden;
}
.hero-portrait { padding: 14px; }
.hero-portrait img { border-radius: 18px; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
.hero-note { padding: 18px; }
.kpi-row {
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px;
}
.kpi {
  padding: 16px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid var(--line);
}
.kpi strong { display:block; font-size: 1.1rem; }
.kpi span { display:block; color: var(--muted); font-size: .86rem; margin-top: 4px; }
.section { padding: 86px 0; }
.section.alt { background: rgba(255,255,255,.02); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.section-header { display:flex; justify-content:space-between; gap: 20px; align-items:end; margin-bottom: 26px; }
.section-header p { max-width: 60ch; color: var(--muted); margin: 0; }
.section-title { font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.05em; }
.grid-2 { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.grid-3 { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.grid-4 { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.release-frame {
  position: relative; overflow:hidden; border-radius: 24px; min-height: 380px; background: #111;
  border: 1px solid var(--line);
}
.release-poster { display:block; }
.release-poster img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.release-poster::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.58));
}
.play-badge {
  position:absolute; left:20px; bottom:20px; z-index:1;
  padding: 12px 16px; border-radius: 999px; background: rgba(245,199,107,.92);
  color:#111; font-weight: 800; box-shadow: var(--shadow);
}
.release-copy { padding: 28px; }
.pill {
  display:inline-flex; padding: 8px 12px; border-radius:999px; background: rgba(245,199,107,.16); color: #ffd88a;
  border: 1px solid rgba(245,199,107,.18); font-size: .82rem; letter-spacing: .04em;
}
.list {
  list-style:none; padding:0; margin:0; display:grid; gap: 14px;
}
.list li {
  display:flex; gap: 14px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid var(--line);
}
.list .dot { width: 12px; height: 12px; margin-top: 6px; border-radius: 999px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); flex: 0 0 auto; }
.card-tile {
  display:flex; flex-direction:column; overflow:hidden; border-radius: 22px; border: 1px solid var(--line); background: rgba(255,255,255,.04);
}
.card-tile img { aspect-ratio: 1 / 1; object-fit: cover; width:100%; }
.card-body { padding: 18px; }
.card-body h3 { font-size: 1.12rem; letter-spacing: -.03em; margin-bottom: 8px; }
.card-body p { color: var(--muted); margin: 0 0 14px; font-size: .93rem; }
.card-links { display:flex; gap: 12px; flex-wrap:wrap; }
.small-link { color: var(--accent); font-weight: 700; font-size: .9rem; }
.gallery-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.gallery-item { overflow:hidden; border-radius: 22px; border: 1px solid var(--line); background: rgba(255,255,255,.04); }
.gallery-item img { aspect-ratio: 4/5; object-fit: cover; width:100%; }
.gallery-meta { padding: 16px; }
.gallery-meta strong { display:block; margin-bottom: 4px; }
.gallery-meta span { color: var(--muted); font-size: .9rem; }
.merch-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.merch img { aspect-ratio: 1 / 1; object-fit: cover; }
.footer {
  border-top: 1px solid var(--line); padding: 40px 0 50px; color: var(--muted);
}
.footer-top {
  display:flex; justify-content:space-between; gap: 18px; flex-wrap:wrap; align-items:flex-start;
}
.footer-nav { display:flex; flex-wrap:wrap; gap: 10px; }
.footer-nav a { padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--line); }
.footer a:hover { color: var(--text); }
.footer small { display:block; margin-top: 14px; }
.page-hero { padding: 72px 0 24px; }
.page-title { font-size: clamp(2.4rem, 5vw, 4.6rem); letter-spacing: -.05em; margin-top: 10px; }
.page-intro { color: var(--muted); max-width: 65ch; margin-top: 14px; }
.page-content { padding: 34px 0 90px; }
.wp-content, .entry-content { color: var(--text); }
.wp-content p, .entry-content p { color: var(--muted); }
.woocommerce .site-main { padding: 44px 0 84px; }
.woocommerce .products { display:grid !important; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.woocommerce ul.products li.product {
  float:none !important; width:auto !important; margin:0 !important; background: rgba(255,255,255,.04); border: 1px solid var(--line); padding: 14px !important; border-radius: 22px; color: var(--text);
}
.woocommerce .price { color: var(--accent) !important; }
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  border-radius: 999px !important; background: linear-gradient(135deg, var(--accent), #ffdca0) !important; color:#111 !important; font-weight: 800 !important;
}
@media (max-width: 980px) {
  .hero-grid, .grid-2, .grid-3, .grid-4, .gallery-grid, .merch-grid, .woocommerce .products { grid-template-columns: 1fr 1fr; }
  .hero-grid { padding-top: 68px; }
}
@media (max-width: 720px) {
  .header-inner, .section-header, .footer-top { flex-direction: column; align-items:flex-start; }
  .nav { justify-content:flex-start; }
  .hero-grid, .grid-2, .grid-3, .grid-4, .gallery-grid, .merch-grid, .woocommerce .products { grid-template-columns: 1fr; }
  h1 { font-size: clamp(2.8rem, 14vw, 4.6rem); }
  .kpi-row { grid-template-columns: 1fr; }
}
