/*
Theme Name:        OBJEX Theme
Theme URI:         https://objexlabs.com/
Author:            OBJEX LABS
Author URI:        https://objexlabs.com/
Description:       Tema a blocchi minimale per il negozio WooCommerce di OBJEX LABS: canvas paper con i token del sito (paper, un solo accento ambra, Exo sui titoli, JetBrains Mono su numeri ed etichette, raggio 2px). Non stampa header ne' footer propri: li fornisce il plugin "OBJEX Woo Skin" (objex-woo), che resta l'unico canale per header, footer, skin Woo e i18n EN/IT.
Version:           1.1.0
Requires at least: 6.5
Tested up to:      6.8
Requires PHP:      7.4
Text Domain:       objex-theme
License:           Proprietary
License URI:       https://objexlabs.com/legal/termsofservice
*/

/* ============================================================
   OBJEX THEME: solo il canvas.
   La skin di prodotto/carrello/checkout, l'header e il footer
   arrivano dal plugin objex-woo (assets/objex-woo.css): qui vive
   solo cio' che serve al tema per stare in piedi da solo e per
   incorniciare i template a blocchi (templates/*.html).
   I font Exo e JetBrains Mono sono self-hosted nel plugin: se il
   plugin manca si degrada su system-ui / ui-monospace.
   ============================================================ */

:root{
  --paper:#f9f8f5;
  --ink:#141412;
  --ink-60:rgba(20,20,18,.6);
  --ink-12:rgba(20,20,18,.12);
  --amber:#f39c12;
  --amber-hover:#ffb130;
  --night:#0d0d0c;
  --accent:var(--amber);
  --accent-ink:#a15c00;      /* ambra per TESTO su fondo chiaro, passa WCAG AA */
  --sand:#f4f1ea;
  --radius:2px;
  --sans:'Exo',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{font-family:var(--sans);font-weight:900;letter-spacing:-.02em;line-height:1.05;color:var(--ink)}

a{color:var(--accent-ink)}
a:hover{color:var(--ink)}
a:focus-visible,
button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}

/* contenitore dei template: stesso respiro del sito (7vw + cap 1180px).
   La classe e' la stessa .objx-wrap del plugin: qui ridefinita per
   intero cosi' il tema regge anche senza plugin attivo. */
.objx-wrap{box-sizing:border-box;width:100%;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:7vw;padding-right:7vw}
@media (min-width:1400px){.objx-wrap{padding-left:24px;padding-right:24px}}

/* dentro un nostro contenitore il div.woocommerce non deve
   ri-applicare il suo cap 1180px + 7vw (regola del plugin):
   il respiro lo da' gia' .objx-wrap, altrimenti padding doppio */
.objx-wrap div.woocommerce{max-width:none;padding-left:0;padding-right:0}

/* main dei template: aria sopra e sotto, come le sezioni del sito.
   Il margine alto tiene il contenuto (Carrello, Checkout, pagine
   statiche) ben staccato dalla top bar sticky del plugin. */
.objx-main{margin-top:clamp(48px,8vh,96px);margin-bottom:clamp(48px,8vh,96px)}

/* titolo pagina (Carrello, Checkout, pagine statiche) */
.wp-block-post-title{font-size:clamp(1.9rem,4vw,3.2rem);margin:0 0 18px}

/* kicker mono: stessa grammatica dei "// TITOLO" del sito */
.objx-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 14px}

/* ---------- archivio / fallback (index.html) ---------- */
.objx-loop .wp-block-post-title{font-size:clamp(1.2rem,2vw,1.6rem);margin:26px 0 8px}
.objx-loop .wp-block-post-title a{color:var(--ink);text-decoration:none}
.objx-loop .wp-block-post-title a:hover{color:var(--accent-ink)}
.objx-loop .wp-block-post-excerpt{color:var(--ink-60);line-height:1.55;max-width:62ch}
.wp-block-query-pagination{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:34px}
.wp-block-query-pagination a{color:var(--accent-ink);text-decoration:none}
.wp-block-query-pagination a:hover{color:var(--ink)}
.wp-block-query-pagination .wp-block-query-pagination-numbers .current{color:var(--ink);font-weight:700}

/* ---------- 404 ---------- */
.objx-404{min-height:44vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.objx-404 h1{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 14px;max-width:22ch}
.objx-404 p{color:var(--ink-60);line-height:1.55;max-width:62ch;margin:0 0 10px}
.objx-404-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;
  font-family:var(--mono);font-size:12px;line-height:1;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
  text-decoration:none;color:var(--paper);background:var(--ink);
  padding:14px 22px;border-radius:var(--radius);
  transition:background .2s ease,color .2s ease;
}
.objx-404-cta:hover{background:var(--accent);color:var(--night)}
