/*
Theme Name: Porto Noche Publisher
Theme URI: https://portonoche.ro/
Author: Porto Noche
Author URI: https://portonoche.ro/
Description: Editorial publishing and WooCommerce theme with native Porto Noche Folio 1.4 integration.
Version: 1.4.0
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
License: Proprietary
Text Domain: porto-noche-publisher
Tags: e-commerce, featured-images, translation-ready, full-width-template
*/

:root {
  --pnp-bg: #0e1013;
  --pnp-surface: #13161c;
  --pnp-text: #e5e2dc;
  --pnp-muted: #9c978f;
  --pnp-accent: #c4975d;
  --pnp-border: rgba(255, 255, 255, .1);
}

* { box-sizing: border-box; }
html { margin: 0; background: var(--pnp-bg); }
body { margin: 0; min-width: 320px; background: var(--pnp-bg); color: var(--pnp-text); font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
a { color: inherit; }
img { max-width: 100%; height: auto; }

.pnp-site-shell { min-height: 100vh; display: flex; flex-direction: column; background: var(--pnp-bg); }
.pnp-site-header { position: relative; z-index: 50; border-bottom: 1px solid var(--pnp-border); background: rgba(14, 16, 19, .96); }
.pnp-site-header__inner { width: min(100% - 32px, 1440px); min-height: 82px; margin: 0 auto; display: flex; align-items: center; gap: 32px; }
.pnp-brand { margin-right: auto; text-decoration: none; }
.pnp-brand strong { display: block; font: 400 22px/1.1 Newsreader, Georgia, serif; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.pnp-brand span { display: block; margin-top: 5px; color: var(--pnp-accent); font: 500 10px/1.2 "JetBrains Mono", monospace; letter-spacing: .28em; text-transform: uppercase; }
.pnp-nav { display: flex; align-items: center; gap: 24px; }
.pnp-nav a { color: #b5b0a8; text-decoration: none; font-size: 13px; }
.pnp-nav a:hover, .pnp-nav a:focus-visible { color: #fff; }
.pnp-language-switch { margin-left: auto; display: inline-flex; border: 1px solid var(--pnp-border); border-radius: 2px; overflow: hidden; }
.pnp-language-switch a { padding: 7px 8px; color: #8c887f; text-decoration: none; font: 10px/1 ui-monospace, monospace; }
.pnp-language-switch a[aria-current="true"] { background: var(--pnp-accent); color: #0e1013; }
.pnp-header-action { padding: 11px 16px; border-radius: 2px; background: var(--pnp-accent); color: #0e1013 !important; font-size: 12px !important; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }

.pnp-content { flex: 1; width: min(100% - 32px, 1180px); margin: 0 auto; padding: 56px 0; }
.pnp-content h1, .pnp-content h2, .pnp-content h3 { font-family: Newsreader, Georgia, serif; color: #fff; font-weight: 400; }
.pnp-content a { color: var(--pnp-accent); }
.pnp-entry { padding: clamp(24px, 5vw, 64px); border: 1px solid var(--pnp-border); background: var(--pnp-surface); }
.pnp-entry__title { margin: 0 0 24px; font-size: clamp(34px, 5vw, 64px); }

.pnp-site-footer { border-top: 1px solid var(--pnp-border); padding: 34px 16px; color: #777168; background: #0a0b0d; font-size: 12px; }
.pnp-site-footer__inner { width: min(100%, 1440px); margin: 0 auto; display: flex; justify-content: space-between; gap: 24px; }

/* Folio owns this workspace. The theme supplies no article width, padding or decorative frame. */
body.pnbp-folio-app-page .pnp-folio-canvas,
body.porto-noche-folio-page .pnp-folio-canvas { width: 100%; max-width: none; margin: 0; padding: 0; overflow-x: clip; }
body.pnbp-folio-app-page .pnp-folio-canvas > article,
body.porto-noche-folio-page .pnp-folio-canvas > article { width: 100%; max-width: none; margin: 0; padding: 0; }
body.pnbp-folio-app-page .pnp-folio-canvas .entry-content,
body.porto-noche-folio-page .pnp-folio-canvas .entry-content { width: 100%; max-width: none; margin: 0; padding: 0; }

.woocommerce .pnp-content, .woocommerce-page .pnp-content { color: var(--pnp-text); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--pnp-accent); color: #0e1013; }

@media (max-width: 980px) {
  .pnp-site-header__inner { min-height: 72px; gap: 16px; }
  .pnp-nav { display: none; }
  .pnp-brand strong { font-size: 18px; }
}

@media (max-width: 520px) {
  .pnp-site-header__inner { width: min(100% - 24px, 1440px); }
  .pnp-header-action { padding: 9px 10px; font-size: 10px !important; }
  .pnp-site-footer__inner { flex-direction: column; }
}
