/* pratiKO — Override Elementor Kit (caricato dopo elementor/frontend/after_enqueue_styles) */

body.single-product {
  --bg-primary:    #1a1a1a;
  --text-primary:  #e8e4df;
  --text-secondary: rgba(255,255,255,0.5);
  --accent:        #c9b99a;
  --border:        rgba(255,255,255,0.12);
  --border-light:  rgba(255,255,255,0.08);
  --font-display:  'Cormorant Garamond', Georgia, serif;
  --font-body:     'Jost', 'Helvetica Neue', sans-serif;
  --side-padding:  60px;
  --max-width:     1320px;
}

/* ── Header trasparente assoluto sulle pagine prodotto ───────────────────────── */
body.single-product .elementor-location-header {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: transparent !important;
}

/* Testo nav bianco su sfondo scuro */
body.single-product .elementor-location-header .elementor-item,
body.single-product .elementor-location-header .elementor-item:visited {
  color: rgba(255,255,255,0.75) !important;
}
body.single-product .elementor-location-header .elementor-item:hover,
body.single-product .elementor-location-header .elementor-item.elementor-item-active {
  color: #ffffff !important;
}

/* Rimuovi padding-top Bridge che compensa header */
body.single-product { padding-top: 0 !important; }

/* Titolo prodotto */
body.single-product .product-name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 3.2rem !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  color: #e8e4df !important;
  margin: 0 !important;
}

/* Tutti gli elementi body: Jost, non Roboto */
body.single-product .product-subtitle,
body.single-product .attribute-label,
body.single-product .attribute-value,
body.single-product .product-image-bg-text,
body.single-product .spec-label,
body.single-product .spec-value,
body.single-product .section-title,
body.single-product .quantity-label,
body.single-product .accordion-header span,
body.single-product .shipping-info span,
body.single-product .shipping-info a,
body.single-product .qty-btn,
body.single-product .qty-value,
body.single-product .pratiko-var-btn,
body.single-product .mobile-spec-item .spec-label,
body.single-product .mobile-spec-item .spec-value {
  font-family: 'Jost', 'Helvetica Neue', sans-serif !important;
}

/* product-image-bg-text: Cormorant */
body.single-product .product-image-bg-text {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* Bottone aggiungi al carrello */
body.single-product .single_add_to_cart_button,
body.single-product .cart button[type="submit"] {
  font-family: 'Jost', 'Helvetica Neue', sans-serif !important;
  background: #e8e4df !important;
  color: #1a1a1a !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 12px 48px !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.5 !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .cart button[type="submit"]:hover {
  background: #c9b99a !important;
  color: #1a1a1a !important;
}

/* Prezzo */
body.single-product .price,
body.single-product .woocommerce-Price-amount {
  font-family: 'Jost', 'Helvetica Neue', sans-serif !important;
  color: #e8e4df !important;
}

/* WooCommerce qty input */
body.single-product .qty {
  font-family: 'Jost', 'Helvetica Neue', sans-serif !important;
  color: #e8e4df !important;
  background: transparent !important;
}

/* Woo product_meta / SKU */
body.single-product .product_meta { display: none !important; }

/* Express checkout nascosto */
.wcpay-express-checkout-wrapper,
#wcpay-express-checkout-element,
[class*='wcpay-express'] { display: none !important; }

/* WooCommerce notices nascosti */
.woocommerce-notices-wrapper { display: none !important; }

/* ─── pk-gallery: thumbnails galleria prodotto ──────────────────────── */
.pk-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: flex-start;
}
.pk-gal-thumb {
  display: block;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border: 1px solid transparent;
  opacity: .45;
  transition: opacity .2s, border-color .2s;
  flex-shrink: 0;
  cursor: pointer;
}
.pk-gal-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pk-gal-thumb:hover  { opacity: .75; }
.pk-gal-thumb.active { opacity: 1; border-color: #666; }

@media (max-width: 768px) {
  .pk-gal-thumb { width: 56px; height: 56px; }
}

/* ─── pk-cart: add-to-cart personalizzato ──────────────────────────── */
.pk-cart { display: flex; flex-direction: column; gap: 8px; width: 100%; align-items: flex-end; }

.pk-row { display: flex; align-items: stretch; width: 100%; }

/* Qty: sfondo bianco, font nero */
.pk-qty {
  display: flex;
  align-items: center;
  background: #e8e4df;
  border: 1px solid #e8e4df;
  height: 50px;
  flex-shrink: 0;
}
.pk-q {
  background: transparent; border: none; color: #1a1a1a;
  width: 34px; height: 100%;
  cursor: pointer; font-size: 18px;
  display: flex; align-items: center; justify-content: center;
  padding: 0; transition: color .2s;
  font-family: 'Jost', sans-serif; line-height: 1;
}
.pk-q:hover { color: #000; }
.pk-n {
  color: #1a1a1a; font-size: 13px;
  width: 28px; text-align: center; user-select: none;
  border-left: 1px solid rgba(0,0,0,.15); border-right: 1px solid rgba(0,0,0,.15);
  height: 100%; display: flex; align-items: center; justify-content: center;
  font-family: 'Jost', sans-serif;
}

.pk-btn {
  flex: 1;
  background: transparent;
  border: 1px solid #e8e4df;
  border-left: none;
  color: #e8e4df;
  height: 50px;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  cursor: pointer; transition: background .2s, color .2s;
  font-family: 'Jost', sans-serif; white-space: nowrap; padding: 0 20px;
}
.pk-btn:hover { background: #e8e4df; color: #1a1a1a; }
.pk-btn.pk-loading { opacity: .55; cursor: wait; pointer-events: none; }
.pk-btn:disabled { opacity: .55; cursor: not-allowed; }

.pk-sep { opacity: .4; }
.pk-price { font-size: 13px; letter-spacing: 0; font-weight: 400; }

.pk-msg { font-size: 10px; letter-spacing: 1px; text-align: right; min-height: 14px; margin: 0; }
.pk-msg.pk-ok  { color: #7cba7c; }
.pk-msg.pk-err { color: #c87c7c; }

@media (max-width: 768px) {
  .pk-msg { text-align: left; }
}

/* ─── pk-spec-desc: specifiche + descrizione 2 colonne ──────────────────── */
.pk-spec-desc {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 0 48px;
}
.pk-spec-col { display: flex; flex-direction: column; }
.pk-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid #1e1e1e;
  gap: 16px;
}
.pk-spec-lbl { font-size: 11px; color: #888; letter-spacing: .3px; }
.pk-spec-val { font-size: 13px; color: #c8c4be; font-weight: 400; text-align: right; flex-shrink: 0; }
.pk-desc-col { font-size: 13px; line-height: 1.75; color: #888; }
.pk-desc-col p { margin: 0 0 1em; }
.pk-desc-col p:last-child { margin: 0; }

@media (max-width: 768px) {
  .pk-spec-desc { grid-template-columns: 1fr; gap: 24px 0; }
}

/* ─── watermark PRATIKO dietro la strip principale ───────────────────────── */
.elementor-element-6069a8b { position: relative; overflow: hidden; }
@media (max-width: 768px) {
  .elementor-element-6069a8b { overflow: visible !important; }
  .elementor-element-6069a8b::before { display: none; }
}
.elementor-element-6069a8b::before {
  content: 'PRATIKO';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(80px, 16vw, 240px);
  font-weight: 700;
  letter-spacing: 16px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.02);
  white-space: nowrap;
  pointer-events: none;
  font-family: 'Jost', sans-serif;
  z-index: 0;
  user-select: none;
}
.elementor-element-6069a8b img { position: relative; z-index: 1; }

/* ─── pk-related: prodotti correlati ─────────────────────────────────────── */
.pk-related { padding: 40px 0 80px; }
.pk-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.pk-rel-card { display: flex; flex-direction: column; }

/* Strip inclinata -45°, senza sfondo */
.pk-rel-img-link {
  display: block;
  position: relative;
  overflow: hidden;
  height: 180px;
  background: transparent;
  text-decoration: none;
}
.pk-rel-img {
  position: absolute;
  top: 50%; left: 50%;
  width: 82%; height: auto;
  transform: translate(-50%, -50%);
  object-fit: contain;
  display: block;
  transition: transform .4s ease;
}
.pk-rel-img-link:hover .pk-rel-img {
  transform: translate(-50%, -50%) scale(1.05);
}

.pk-rel-info {
  padding: 6px 0 0;
  display: flex; flex-direction: column; gap: 3px;
}
.pk-rel-name {
  font-size: 13px; color: #c8c4be; text-decoration: none;
  font-family: 'Jost', sans-serif; letter-spacing: .3px;
  transition: color .2s;
}
.pk-rel-name:hover { color: #e8e4df; }
.pk-rel-tipo { font-size: 10px; color: #666; letter-spacing: .5px; }

@media (max-width: 768px) {
  .pk-rel-name { font-size: 16px; }
}

.pk-related-label {
  font-size: 13px; letter-spacing: 2px; color: #e8e4df;
  text-transform: uppercase; margin: 0 0 24px;
  font-family: 'Jost', sans-serif;
}

/* ATC sempre visibile sotto il titolo — stile bianco come main cart */
.pk-rel-atc {
  display: flex; align-items: stretch;
  width: 100%; margin-top: 10px;
}
.pk-rel-atc .pk-qty { background: #e8e4df; border-color: #e8e4df; height: 44px; }
.pk-rel-atc .pk-q   { color: #1a1a1a; width: 30px; }
.pk-rel-atc .pk-q:hover { color: #000; }
.pk-rel-atc .pk-n   { color: #1a1a1a; width: 24px; font-size: 12px; border-color: rgba(0,0,0,.15); }
.pk-rel-atc .pk-btn { height: 44px; font-size: 9px; letter-spacing: 1.5px; padding: 0 14px; }

@media (max-width: 600px) {
  .pk-related-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ─── Titolo prodotto principale ────────────────────────────────────────────── */
.elementor-element-cc1a185 .elementor-heading-title {
  font-size: clamp(44px, 4.2vw, 62px) !important;
  line-height: 1 !important;
}

/* ─── FAB carrello — sopra ally (bottom-right) ───────────────────────────────── */
.pmsc-fab {
  position: fixed;
  bottom: 80px;
  right: 20px;
  width: 46px;
  height: 46px;
  background: #1e1e1e;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  color: #e8e4df;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9990;
  transition: background .2s, transform .2s;
  padding: 0;
  box-shadow: 0 4px 16px rgba(0,0,0,.5);
}
.pmsc-fab:hover { background: #2a2a2a; transform: scale(1.06); }
.pmsc-fab svg { flex-shrink: 0; }
.pmsc-fab__badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  background: #e8e4df;
  color: #1a1a1a;
  font-family: 'Jost', sans-serif;
  font-size: 9px;
  font-weight: 600;
  border-radius: 9px;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
}

/* ─── pratiKO Side Cart ──────────────────────────────────────────────────────── */
.pmsc-bk{position:fixed;inset:0;z-index:99998;background:rgba(0,0,0,.25);opacity:0;visibility:hidden;transition:all .3s}
.pmsc-bk.active{opacity:1;visibility:visible}
.pmsc{position:fixed;bottom:24px;right:24px;width:340px;max-height:500px;z-index:99999;background:#1e1e1e;box-shadow:0 8px 40px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);transform:translateY(16px) scale(.96);opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;overflow:hidden}
.pmsc.active{transform:translateY(0) scale(1);opacity:1;visibility:visible}
.pmsc,.pmsc *{font-family:'Jost','Helvetica Neue',sans-serif !important;box-sizing:border-box}
.pmsc__hd{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.pmsc__title{font-size:9px;letter-spacing:3px;color:#666;text-transform:uppercase}
.pmsc__badge{color:#e8e4df;margin-left:5px}
.pmsc__close{background:none;border:none;color:#555;cursor:pointer;font-size:20px;line-height:1;padding:0;transition:color .2s;font-weight:200}
.pmsc__close:hover{color:#e8e4df}
.pmsc__list{flex:1;overflow-y:auto;padding:0 18px;max-height:260px}
.pmsc__list::-webkit-scrollbar{width:2px}
.pmsc__list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1)}
.pmsc__item{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;gap:12px;align-items:flex-start}
.pmsc__img{width:64px;height:46px;object-fit:cover;flex-shrink:0;background:transparent}
.pmsc__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.pmsc__name{font-size:12px;color:#c8c4be;line-height:1.3}
.pmsc__var{font-size:10px;color:#555;letter-spacing:.3px}
.pmsc__row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pmsc__qty{display:flex;align-items:center;background:#e8e4df;height:24px;flex-shrink:0}
.pmsc__qb{background:transparent;border:none;color:#1a1a1a;width:20px;height:100%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}
.pmsc__qb:hover{color:#000}
.pmsc__qv{font-size:10px;color:#1a1a1a;width:18px;text-align:center;border-left:1px solid rgba(0,0,0,.15);border-right:1px solid rgba(0,0,0,.15);line-height:24px}
.pmsc__rm{background:none;border:none;color:#3a3a3a;cursor:pointer;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:0;transition:color .2s}
.pmsc__rm:hover{color:#888}
.pmsc__tot{font-size:11px;color:#c8c4be;flex-shrink:0}
.pmsc__ft{padding:14px 18px 16px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;background:#161616}
.pmsc__sub{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.pmsc__sl{font-size:9px;letter-spacing:2.5px;color:#555;text-transform:uppercase}
.pmsc__sv{font-size:14px;color:#e8e4df;font-weight:300}
.pmsc__cta{display:flex;align-items:center;justify-content:center;width:100%;padding:12px;background:#ffffff;color:#1a1a1a !important;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none !important;border:none;cursor:pointer;transition:background .2s}
.pmsc__cta:hover{background:#e8e4df}
.pmsc__empty{padding:36px 18px;text-align:center}
.pmsc__empty-t{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#444;margin:0 0 6px}
.pmsc__empty-d{font-size:11px;color:#333;line-height:1.6;margin:0}
@media(max-width:480px){.pmsc{bottom:12px;right:12px;left:12px;width:auto;max-height:70vh}}

/* Responsive */
@media (max-width: 1024px) {
  body.single-product .product-name { font-size: 2.6rem !important; }
}
@media (max-width: 768px) {
  body.single-product .product-name { font-size: 2.2rem !important; }
  body.single-product { --side-padding: 24px; }
  body.single-product .single_add_to_cart_button { padding: 12px 24px !important; flex: 1 !important; }
}
@media (max-width: 420px) {
  body.single-product .product-name { font-size: 1.8rem !important; }
}
