/*
Theme Name: Prime Job
Template: twentytwentyfive
Description: Tema del negozio job.primeworld.it: essenziale, bianco e nero, pagina prodotto in stile moda.
Version: 1.0
Text Domain: prime-job
*/

:root { --pj-nero: #111; --pj-grigio: #6b6b6b; --pj-linea: #d9d9d9; --pj-sfondo: #f4f4f4; }
body { -webkit-font-smoothing: antialiased; }

/* ---------- Testata ---------- */
.pj-testata { border-bottom: 1px solid var(--pj-linea); position: sticky; top: 0; z-index: 50; background: #fff; }
.pj-testata .wp-block-site-title a { text-decoration: none; letter-spacing: .08em; font-weight: 700; }
.pj-testata .wp-block-navigation { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.pj-testata .wp-block-navigation .wp-block-navigation__submenu-container {
  border: 1px solid var(--pj-linea) !important; padding: 10px 0; min-width: 230px; text-transform: none; letter-spacing: 0; }
.pj-testata .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 6px 18px; }
.pj-testata .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pj-avviso { background: var(--pj-nero); color: #fff; font-size: 12px; text-align: center; padding: 7px 12px; letter-spacing: .04em; }

/* ---------- Elenco prodotti ---------- */
.pj-elenco .wc-block-product-template { gap: 28px 12px !important; }
.pj-elenco .wc-block-components-product-image img,
.pj-elenco .wp-block-woocommerce-product-image img { aspect-ratio: 3 / 4; object-fit: contain; background: var(--pj-sfondo); width: 100%; }
.pj-elenco .wp-block-post-title { font-size: 13px !important; font-weight: 400; text-align: left !important; margin: 8px 0 2px !important; }
.pj-elenco .wp-block-post-title a { text-decoration: none; color: var(--pj-nero); }
.pj-elenco .wc-block-components-product-price { font-size: 13px !important; text-align: left !important; font-weight: 600; }
.pj-filtri { font-size: 13px; }
.pj-filtri h3 { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin: 22px 0 8px; }
.pj-filtri .wc-block-product-categories-list { list-style: none; padding-left: 0; }
.pj-filtri .wc-block-product-categories-list ul { list-style: none; padding-left: 14px; }
.pj-filtri .wc-block-product-categories-list a { color: var(--pj-nero); text-decoration: none; line-height: 1.9; }
.pj-filtri .wc-block-product-categories-list-item-count { color: var(--pj-grigio); }

/* ---------- Pagina prodotto (come i negozi di moda) ---------- */
.pj-prodotto { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .9fr); gap: 0 56px; align-items: start; }
.pj-galleria { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.pj-galleria figure { margin: 0; background: var(--pj-sfondo); aspect-ratio: 3 / 4; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.pj-galleria figure:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
.pj-galleria img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.pj-info { position: sticky; top: 90px; padding: 34px 0 40px; }
.pj-info h1 { font-size: 15px !important; font-weight: 400; text-transform: uppercase; letter-spacing: .03em; margin: 0 0 4px; line-height: 1.4; }
.pj-info .wc-block-components-product-price, .pj-info .price { font-size: 15px !important; font-weight: 600; margin-bottom: 26px; }
.pj-info .price small { font-weight: 400; color: var(--pj-grigio); font-size: 12px; }
.pj-marca { font-size: 12px; color: var(--pj-grigio); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }

/* scelte colore e taglia */
.pj-info table.variations { border: 0; margin: 0 0 8px; width: 100%; }
.pj-info table.variations tr { display: block; margin-bottom: 22px; }
.pj-info table.variations th, .pj-info table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.pj-info table.variations th label { font-size: 12px; text-transform: uppercase; font-weight: 400; letter-spacing: .03em; }
.pj-info table.variations select { display: none !important; }
.pj-info .reset_variations { display: none !important; }
.pj-scelte { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 10px; }
.pj-scelte button { background: #fff; border: 1px solid var(--pj-linea); margin: 0 -1px -1px 0; padding: 13px 4px; font-size: 13px; cursor: pointer; color: var(--pj-nero); }
.pj-scelte button:hover { border-color: var(--pj-nero); position: relative; }
.pj-scelte button.scelto { outline: 1px solid var(--pj-nero); outline-offset: -1px; position: relative; font-weight: 600; }
.pj-colori { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pj-colori button { width: 34px; height: 34px; border-radius: 0; border: 1px solid var(--pj-linea); padding: 3px; background: #fff; cursor: pointer; }
.pj-colori button span { display: block; width: 100%; height: 100%; }
.pj-colori button.scelto { border: 1px solid var(--pj-nero); box-shadow: inset 0 0 0 2px #fff; }
.pj-valore { text-transform: none; color: var(--pj-grigio); margin-left: 4px; }

/* logo e quantità */
.pj-logo { border-top: 1px solid var(--pj-linea); padding-top: 18px; margin: 4px 0 20px; font-size: 13px; }
.pj-logo strong { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; font-weight: 400; margin-bottom: 8px; }
.pj-logo input[type=file] { font-size: 12px; width: 100%; margin-bottom: 10px; }
.pj-logo select, .pj-logo textarea { width: 100%; border: 1px solid var(--pj-linea); padding: 9px; font: inherit; margin-bottom: 10px; background: #fff; }
.pj-logo small { color: var(--pj-grigio); display: block; }
.pj-info .woocommerce-variation-add-to-cart, .pj-info form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 8px; }
.pj-info .quantity input { width: 80px; height: 52px; border: 1px solid var(--pj-linea); text-align: center; font-size: 14px; }
.pj-info .single_add_to_cart_button { flex: 1; height: 52px; border-radius: 0 !important; background: var(--pj-nero) !important; color: #fff !important;
  text-transform: uppercase; font-size: 13px !important; letter-spacing: .06em; border: 0; }
.pj-info .single_add_to_cart_button.disabled { opacity: .35; }
.pj-info .woocommerce-variation-price, .pj-info .woocommerce-variation-availability { display: none; }

/* sezioni apribili */
.pj-sezioni { margin-top: 34px; border-top: 1px solid var(--pj-linea); }
.pj-sezioni details { border-bottom: 1px solid var(--pj-linea); }
.pj-sezioni summary { list-style: none; cursor: pointer; padding: 18px 0; font-size: 12px; text-transform: uppercase; letter-spacing: .04em;
  display: flex; justify-content: space-between; }
.pj-sezioni summary::-webkit-details-marker { display: none; }
.pj-sezioni summary::after { content: "+"; font-size: 18px; line-height: 1; }
.pj-sezioni details[open] summary::after { content: "–"; }
.pj-sezioni .corpo { font-size: 13px; line-height: 1.7; padding-bottom: 18px; }
.pj-sezioni table { width: 100%; border-collapse: collapse; }
.pj-sezioni td { border-bottom: 1px solid #eee; padding: 6px 0; }

/* carrello e cassa */
.wc-block-cart .wc-block-components-button, .wc-block-checkout .wc-block-components-button,
.wc-block-mini-cart__footer .wc-block-components-button { border-radius: 0 !important; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; }
.wc-block-cart .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.wc-block-mini-cart__footer-checkout { background: var(--pj-nero) !important; color: #fff !important; }
.wc-block-components-product-details__logo img { max-width: 70px; max-height: 50px; display: block; margin-top: 4px; border: 1px solid #eee; }

@media (max-width: 860px) {
  .pj-prodotto { grid-template-columns: 1fr; }
  .pj-galleria { grid-template-columns: 1fr 1fr; margin: 0 -16px; }
  .pj-info { position: static; padding: 22px 0; }
  .pj-colonna-filtri { display: none; }
}

/* testata su una riga, ricerca come icona */
.pj-testata .wp-block-site-title { white-space: nowrap; }
.pj-testata .wp-block-navigation__container { flex-wrap: nowrap; }
.pj-testata .wp-block-search__button { background: none !important; color: var(--pj-nero) !important; border: 0 !important; padding: 4px !important; }
.pj-testata .wp-block-search__button svg { width: 22px; height: 22px; }
@media (max-width: 1250px) { .pj-testata .wp-block-navigation { font-size: 12px; } .pj-testata .wp-block-navigation__container { gap: 16px !important; } }

/* piede */
.pj-piede { border-top: 1px solid var(--pj-linea); font-size: 13px; }
.pj-piede a { color: var(--pj-nero); text-decoration: none; }
.pj-piede h4 { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.pj-logo { flex-basis: 100%; }

/* colonna destra compatta: deve stare tutta nello schermo, pulsante compreso */
.pj-info { top: 84px; padding-top: 24px; max-height: calc(100vh - 92px); overflow-y: auto; scrollbar-width: thin; }
.pj-info .price { margin-bottom: 18px; }
.pj-info table.variations tr { margin-bottom: 14px; }
.pj-info table.variations td.value { padding-top: 0; }
.pj-colori, .pj-scelte { margin-top: 6px; }
.pj-scelte button { padding: 10px 4px; }
.pj-logo { padding-top: 14px; margin: 0 0 12px; }
.pj-logo .pj-riga { display: flex; gap: 8px; }
.pj-logo .pj-riga > * { flex: 1; margin-bottom: 8px; }
.pj-logo input[type=text] { border: 1px solid var(--pj-linea); padding: 9px; font: inherit; }

/* carrello in stile moda: foto grandi, titoli maiuscoli */
.wc-block-cart .wc-block-cart-item__image img { width: 110px; max-width: none; aspect-ratio: 3 / 4; object-fit: contain; background: var(--pj-sfondo); }
.wc-block-cart .wc-block-cart-item__image { width: 120px; }
.wc-block-cart .wc-block-components-product-name { text-transform: uppercase; font-size: 13px; text-decoration: none; color: var(--pj-nero); }
.wc-block-cart .wc-block-cart__totals-title, .wc-block-cart table.wc-block-cart-items th { font-size: 12px !important; letter-spacing: .06em; }
.wp-block-woocommerce-cart h1, .wp-block-post-title { letter-spacing: .02em; }

/* marchio Prime Workwear in testata */
.pj-marchio { display: block; line-height: 0; }
.pj-marchio img { height: 44px; width: auto; display: block; }
@media (max-width: 860px) { .pj-marchio img { height: 40px; } }

/* ---------- Home: 4 macro categorie ---------- */
.pj-home { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.pj-tessera { position: relative; display: block; color: var(--pj-nero); text-decoration: none; }
.pj-tessera-foto { display: block; aspect-ratio: 3 / 4.4; background: var(--pj-sfondo); overflow: hidden; }
.pj-tessera-foto > img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.pj-mosaico { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; width: 100%; height: 100%; gap: 2px; }
.pj-mosaico img { width: 100%; height: 100%; object-fit: contain; background: #fff; mix-blend-mode: multiply; padding: 8%; transition: transform .6s; }
.pj-tessera:hover img { transform: scale(1.03); }
.pj-tessera-testo { display: block; padding: 16px 18px 28px; }
.pj-tessera-testo strong { display: block; font-size: 18px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.pj-tessera-testo em { display: block; font-style: normal; font-size: 13px; color: var(--pj-grigio); margin: 4px 0 10px; }
.pj-tessera-testo u { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; text-underline-offset: 4px; }
@media (max-width: 900px) { .pj-home { grid-template-columns: 1fr 1fr; } }

/* ---------- Sottocategorie e filtri in alto ---------- */
.pj-chip { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 18px; }
.pj-chip a { border: 1px solid var(--pj-linea); padding: 7px 14px; font-size: 12px; color: var(--pj-nero); text-decoration: none; border-radius: 40px; }
.pj-chip a:hover, .pj-chip a.attivo { border-color: var(--pj-nero); background: var(--pj-nero); color: #fff; }
.pj-filtri-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-top: 1px solid var(--pj-linea); border-bottom: 1px solid var(--pj-linea);
  padding: 10px 0; margin-bottom: 22px; font-size: 13px; position: relative; z-index: 20; }
.pj-filtro { position: relative; }
.pj-filtro summary { list-style: none; cursor: pointer; padding: 6px 26px 6px 12px; border: 1px solid var(--pj-linea); text-transform: uppercase; font-size: 12px; letter-spacing: .04em; position: relative; }
.pj-filtro summary::-webkit-details-marker { display: none; }
.pj-filtro summary::after { content: "⌄"; position: absolute; right: 9px; top: 3px; }
.pj-filtro.attivo summary { border-color: var(--pj-nero); font-weight: 600; }
.pj-opzioni { position: absolute; top: calc(100% + 4px); left: 0; background: #fff; border: 1px solid var(--pj-linea); padding: 12px 16px; min-width: 210px;
  max-height: 340px; overflow-y: auto; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.pj-opzioni label { display: flex; gap: 8px; align-items: center; padding: 4px 0; white-space: nowrap; cursor: pointer; }
.pj-opzioni small { color: var(--pj-grigio); margin-left: auto; padding-left: 12px; }
.pj-ordina { margin-left: auto; border: 1px solid var(--pj-linea); padding: 6px 10px; font: inherit; font-size: 12px; background: #fff; }
.pj-azzera { font-size: 12px; color: var(--pj-nero); }

/* campioni colore con la foto del prodotto */
.pj-colori button.con-foto { width: 52px; height: 64px; padding: 2px; }
.pj-colori button.con-foto img { width: 100%; height: 100%; object-fit: contain; display: block; background: var(--pj-sfondo); mix-blend-mode: multiply; }

/* stesso modello in versione uomo / donna / bambino */
.pj-versioni { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: -12px 0 20px; font-size: 12px; }
.pj-versioni span { color: var(--pj-grigio); text-transform: uppercase; letter-spacing: .04em; margin-right: 4px; }
.pj-versioni a { border: 1px solid var(--pj-linea); padding: 5px 12px; color: var(--pj-nero); text-decoration: none; }
.pj-versioni a:hover { border-color: var(--pj-nero); }
