/* Scheda prodotto WooCommerce — vedi woocommerce/single-product.php.
   Palette e misure riprese 1:1 da scheda-prodotto.html. */

.ept-prod{background:#F0F4F8;}
.ept-prod *{box-sizing:border-box;}
.ept-prod img{display:block;max-width:100%;}
.ept-prod a{text-decoration:none;color:inherit;}

/* ── TOP BAR ── */
.ept-prod-topbar{
	background:#0E2E4B;padding:0 48px;
	display:flex;align-items:center;justify-content:space-between;height:52px;
}
.ept-prod-breadcrumb{
	display:flex;align-items:center;gap:6px;
	font-size:.8125rem;color:rgba(255,255,255,.5);flex-wrap:wrap;
}
.ept-prod-breadcrumb a{color:rgba(255,255,255,.5);transition:color 150ms;}
.ept-prod-breadcrumb a:hover{color:#fff;}
.ept-prod-sep{color:rgba(255,255,255,.2);}
.ept-prod-crumb-mid{color:rgba(255,255,255,.7);}
.ept-prod-crumb-cur{color:#fff;font-weight:600;}
.ept-prod-topactions{display:flex;gap:10px;flex-shrink:0;}
.ept-prod-topact{
	display:inline-flex;align-items:center;gap:7px;height:32px;
	padding:0 14px;border-radius:8px;font-size:.8125rem;font-weight:600;
	cursor:pointer;text-decoration:none;
	transition:background 150ms;white-space:nowrap;
}
.ept-prod-topbar .ept-prod-topact--a{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;}
.ept-prod-topbar .ept-prod-topact--a:hover{background:rgba(255,255,255,.2);}
.ept-prod-topbar .ept-prod-topact--b{background:#fff;border:none;color:#134169;}
.ept-prod-topbar .ept-prod-topact--b:hover{background:rgba(255,255,255,.9);}

/* Anonimo/libera-vendita: un link secco al posto del breadcrumb a più
   voci — niente "Prodotti"/categoria (porterebbero a pagine B2B), solo
   "torna al negozio". Sempre visibile, anche da mobile: per lui è l'unico
   modo di uscire dalla scheda prodotto (non ha i bottoni Catalogo/Ordine
   veloce, B2B-only). */
.ept-prod-back{display:inline-flex;align-items:center;gap:7px;font-size:.875rem;font-weight:600;transition:color 150ms;}
/* selettore più specifico di ".ept-prod a" (color:inherit) qui sopra,
   altrimenti quella regola vince e il link eredita il colore testo scuro
   del tema invece del bianco voluto — nero su sfondo blu, illeggibile
   (bug reale, stesso identico pattern già preso per .ept-course-hero-cta
   e .ept-course-poster-download nel template Corsi/Eventi). */
.ept-prod a.ept-prod-back,.ept-prod a.ept-prod-back:hover{color:rgba(255,255,255,.8);}
.ept-prod a.ept-prod-back:hover{color:#fff;}

/* ── NOTICES (es. "Prodotto aggiunto al carrello") ── */
.ept-prod-notices{max-width:1200px;margin:20px auto 0;padding:0 48px;display:flex;flex-direction:column;gap:8px;}
.ept-prod-notice{
	background:#fff;color:#1C2221;
	border-radius:12px;border:1px solid #EBEFEF;border-left:4px solid #00A19B;
	padding:14px 20px;font-size:.9375rem;line-height:1.5;
	box-shadow:0 1px 6px rgba(19,65,105,.05);
}
.ept-prod-notice--error{border-left-color:#D9534F;}
.ept-prod-notice a{color:#134169;font-weight:700;}

/* ── PRODUCT MAIN ── */
.ept-prod-main{
	max-width:1200px;margin:0 auto;padding:40px 48px;
	display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;
}

/* ── GALLERY ── */
.ept-prod-gallery-main{
	background:#fff;border-radius:20px;
	aspect-ratio:1/1;overflow:hidden;position:relative;
	box-shadow:0 2px 20px rgba(19,65,105,.08);
	display:flex;align-items:center;justify-content:center;
}
.ept-prod-gallery-main img{width:100%;height:100%;object-fit:contain;transition:opacity 250ms cubic-bezier(0.16,1,0.3,1);}
.ept-prod-gallery-badges{
	position:absolute;top:16px;left:16px;right:16px;
	display:flex;align-items:flex-start;justify-content:space-between;
	pointer-events:none;
}
.ept-gbadge{display:inline-flex;align-items:center;gap:6px;border-radius:100px;padding:5px 12px;font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.ept-gbadge--brevetto{background:#0E2E4B;color:#fff;}
.ept-gbadge--starter{background:#E68A3B;color:#fff;}
.ept-prod-thumbs{display:flex;gap:10px;margin-top:14px;}
.ept-prod-thumb{
	width:72px;height:72px;border-radius:12px;overflow:hidden;
	background:#fff;border:2px solid #EBEFEF;padding:0;
	cursor:pointer;flex-shrink:0;
	transition:border-color 150ms;
	display:flex;align-items:center;justify-content:center;
}
.ept-prod-thumb.active,.ept-prod-thumb:hover{border-color:#134169;}
.ept-prod-thumb img{width:100%;height:100%;object-fit:contain;padding:6px;}

/* ── PRODUCT INFO ── */
.ept-prod-eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#00A19B;margin:0 0 10px;}
.ept-prod-title{font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;color:#1C2221;margin:0 0 10px;line-height:1.1;}
.ept-prod-shortdesc{font-size:1rem;color:#4E5655;line-height:1.6;margin:0 0 20px;}
.ept-prod-shortdesc p{margin:0;}
.ept-prod-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.ept-prod-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(0,161,155,.12);border-radius:100px;padding:5px 12px;font-size:.8125rem;font-weight:600;color:#134169;}
.ept-prod-pill svg{flex-shrink:0;}

/* Prezzo — non presente nel mockup originale (scheda-prodotto.html non
   mostra mai un prezzo), aggiunto perché necessario per un vero flusso
   di acquisto. Si aggiorna in base alla variante scelta. */
.ept-prod-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.ept-prod-price .ept-price-orig{font-size:1.125rem;color:#A0ABAB;text-decoration:line-through;}
.ept-prod-price .ept-price-disc{font-size:1.75rem;font-weight:700;color:#1C2221;}
.ept-prod-price .ept-price-tax-note{font-size:.875rem;font-weight:500;color:#A0ABAB;}

/* Variant selector */
.ept-variant-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.ept-variant-label{font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#A0ABAB;}
.ept-variant-selected{font-size:.875rem;font-weight:600;color:#134169;}
.ept-variant-btns{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.ept-variant-btn{
	display:inline-flex;align-items:center;gap:8px;
	height:38px;padding:0 16px;border-radius:100px;
	border:2px solid #EBEFEF;background:#fff;
	font-size:.875rem;font-weight:600;
	color:#4E5655;cursor:pointer;
	transition:border-color 150ms,background 150ms,color 150ms;
}
.ept-variant-btn:hover{border-color:#134169;color:#134169;}
.ept-variant-btn.active{border-color:#134169;background:#134169;color:#fff;}

/* Pallino colore (quando il nome variante combacia con un colore noto, vedi
   eptamed_variant_swatch_color() in inc/woocommerce-helpers.php) — bordo
   sempre visibile anche per lo swatch bianco su sfondo bianco del pulsante.
   Anello più marcato quando la variante è selezionata, per restare leggibile
   anche quando il pulsante passa a sfondo navy pieno. */
.ept-variant-swatch{
	width:16px;height:16px;border-radius:50%;flex-shrink:0;
	border:1px solid rgba(28,34,33,.18);
	box-shadow:0 0 0 2px #fff;
}
.ept-variant-note{
	display:block;margin-top:2px;font-size:.6875rem;font-weight:500;
	opacity:.75;
}
.ept-variant-btn.active .ept-variant-swatch{
	box-shadow:0 0 0 2px #134169;
}

/* Cart row */
.ept-cart-row{display:flex;align-items:center;gap:10px;margin-bottom:28px;}
.ept-qty-ctrl{display:inline-flex;align-items:center;border:1.5px solid #EBEFEF;border-radius:12px;overflow:hidden;background:#fff;flex-shrink:0;}
.ept-qty-btn{width:40px;height:46px;background:none;border:none;cursor:pointer;font-size:1.1rem;color:#134169;display:flex;align-items:center;justify-content:center;transition:background 150ms;}
.ept-qty-btn:hover{background:#EFF2F5;}
.ept-qty-val{width:44px;text-align:center;font-size:1rem;font-weight:700;color:#1C2221;border:none !important;outline:none !important;box-shadow:none !important;background:none;-moz-appearance:textfield;}
.ept-qty-val:focus,.ept-qty-val:focus-visible{border:none !important;outline:none !important;box-shadow:none !important;}
.ept-qty-val::-webkit-outer-spin-button,.ept-qty-val::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ept-btn-add-cart{
	flex:1;height:46px;border-radius:12px;
	background:#134169;color:#fff;
	font-size:.9375rem;font-weight:700;
	border:none;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	transition:background 150ms;
}
.ept-btn-add-cart:hover{background:#0E2E4B;}
.ept-btn-wishlist{
	width:46px;height:46px;border-radius:12px;flex-shrink:0;
	background:#fff;border:1.5px solid #EBEFEF;cursor:pointer;
	display:flex;align-items:center;justify-content:center;color:#A0ABAB;
	transition:border-color 150ms,color 150ms,background 150ms;
}
.ept-btn-wishlist:hover,.ept-btn-wishlist.active{border-color:#E8A4B8;color:#E8A4B8;background:#FFF6F9;}

/* Meta grid */
.ept-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:20px;border-top:1px solid #EBEFEF;}
.ept-meta-item{display:flex;align-items:center;gap:10px;}
.ept-meta-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0;background:rgba(0,161,155,.12);display:grid;place-items:center;color:#134169;}
.ept-meta-label{font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#A0ABAB;margin:0 0 2px;}
.ept-meta-value{font-size:.9375rem;font-weight:600;color:#1C2221;margin:0;}

/* ── TRUST BAR ── */
.ept-trust-bar{background:#0E2E4B;padding:20px 48px;}
.ept-trust-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-around;gap:24px;flex-wrap:wrap;}
.ept-trust-item{display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:600;color:rgba(255,255,255,.85);white-space:nowrap;}
.ept-trust-icon{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);}

/* ── TABS ── */
.ept-tabs-section{background:#F0F4F8;}
.ept-tabs-nav{background:#fff;border-bottom:1px solid #EBEFEF;}
.ept-tabs-nav-inner{max-width:1200px;margin:0 auto;padding:0 48px;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;}
.ept-tabs-nav-inner::-webkit-scrollbar{display:none;}
.ept-tab-btn{
	display:inline-flex;align-items:center;gap:7px;
	height:56px;padding:0 20px;
	border:none;background:none;
	font-size:.875rem;font-weight:500;color:#4E5655;
	cursor:pointer;white-space:nowrap;flex-shrink:0;
	border-bottom:2px solid transparent;
	transition:color 150ms,border-color 150ms;
}
.ept-tab-btn:hover{color:#134169;}
.ept-tab-btn.active{color:#134169;font-weight:700;border-bottom-color:#134169;}
.ept-tabs-content{max-width:1200px;margin:0 auto;padding:40px 48px;}
.ept-tab-panel{display:none;}
.ept-tab-panel.active{display:block;}
.ept-tab-panel-card{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 1px 6px rgba(19,65,105,.05);}
.ept-tab-panel-card h3{font-size:1.125rem;font-weight:700;margin:0 0 14px;color:#1C2221;}
.ept-tab-panel-card p{font-size:.9375rem;line-height:1.7;color:#4E5655;margin:0 0 12px;}
.ept-tab-panel-card p:last-child{margin:0;}
.ept-tab-panel-card table{width:100%;border-collapse:collapse;font-size:.9rem;}
.ept-tab-panel-card th{text-align:left;padding:10px 14px;background:#EFF2F5;font-weight:700;font-size:.8125rem;color:#134169;}
.ept-tab-panel-card td{padding:10px 14px;border-bottom:1px solid #EBEFEF;color:#4E5655;}
.ept-tab-panel-card tr:last-child td{border-bottom:none;}

/* ── RELATED ── */
.ept-related-section{background:#F0F4F8;padding:40px 48px 64px;}
.ept-related-inner{max-width:1200px;margin:0 auto;}
.ept-related-eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#00A19B;margin:0 0 6px;}
.ept-related-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;}
.ept-related-title{font-size:1.75rem;font-weight:700;margin:0;}
.ept-related-link{font-size:.875rem;font-weight:700;color:#134169;}
.ept-related-link:hover{color:#00A19B;}
.ept-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;}
.ept-related-card{
	display:block;background:#fff;border-radius:16px;overflow:hidden;
	box-shadow:0 1px 6px rgba(19,65,105,.06);cursor:pointer;
	transition:box-shadow 180ms,transform 180ms;
}
.ept-related-card:hover{box-shadow:0 6px 24px rgba(19,65,105,.12);transform:translateY(-2px);}
.ept-related-card-img{height:160px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ept-related-card-img img{width:100%;height:100%;object-fit:contain;}
.ept-related-card-body{padding:14px 16px 18px;}
.ept-related-card-family{font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#A0ABAB;margin:0 0 4px;}
.ept-related-card-name{font-size:.9375rem;font-weight:700;color:#1C2221;margin:0;}

@media(max-width:900px){
	.ept-prod-main{grid-template-columns:1fr;gap:28px;padding:24px;}
	.ept-prod-topbar,.ept-trust-bar,.ept-tabs-nav-inner,.ept-tabs-content,.ept-related-section{padding-left:24px;padding-right:24px;}
	.ept-prod-topbar{padding:0 20px;}
	/* Bug reale (segnalato dal cliente 2026-10-04): la riga miniature
	   (.ept-prod-thumbs, fino a 6 miniature da 72px fisse + gap) è più
	   larga dello schermo su mobile. Essendo .ept-prod-gallery una cella
	   della grid sopra senza min-width:0, il browser allargava l'INTERA
	   colonna (e quindi la pagina) per contenerla invece di tagliarla —
	   stesso identico problema "flex/grid min-width:auto implicito" già
	   documentato altrove in questo file per .ept-shop-filtertabs/
	   .ept-shop-topbar-right. min-width:0 sulla cella risolve l'overflow di
	   pagina; overflow-x:auto sulle miniature le rende scorrevoli invece di
	   restringersi/sparire. */
	.ept-prod-gallery{min-width:0;}
	.ept-prod-thumbs{overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
	.ept-prod-thumbs::-webkit-scrollbar{display:none;}
	.ept-prod-thumb{flex-shrink:0;}
}
@media(max-width:600px){
	/* Breadcrumb tolto da mobile (richiesta esplicita 2026-10-04) — solo
	   per il B2B approvato, l'unico per cui questo markup viene stampato
	   (restano comunque i bottoni Catalogo/Ordine veloce a fare da
	   navigazione). L'anonimo/libera-vendita non ha mai questo markup: usa
	   ".ept-prod-back", un link singolo sempre visibile (vedi PHP). */
	.ept-prod-breadcrumb{display:none;}
	.ept-prod-topbar{justify-content:flex-start;}

	.ept-meta-grid{grid-template-columns:1fr;}
	.ept-related-grid{grid-template-columns:1fr 1fr;}

	/* Trust bar scura: da flex+space-around (spaziatura imprevedibile
	   quando le voci vanno a capo in ordine diverso) a griglia 2 colonne
	   fissa, stessa riga/colonna per tutti — richiesta esplicita
	   2026-10-04, "allineiamo bene quelle voci". */
	.ept-trust-inner{display:grid;grid-template-columns:1fr 1fr;justify-content:normal;gap:16px;}
	.ept-trust-item{white-space:normal;}
}

.ept-thick{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.ept-thick-wedge{display:block;flex:none;}
.ept-thick-wedge polygon{fill:#1E9BD7;}
