/* ===== Compra per outfit: look generati da [jeibi_outfits] ===== */
.jb-looks{width:100%;}
.elementor-widget-shortcode:has(> .elementor-widget-container > .jb-looks),.elementor-widget-shortcode:has(> .jb-looks){width:100%!important;max-width:none!important;}
.jb-look{display:flex;flex-direction:column;background:#fff;scroll-margin-top:100px;}
.jb-look--img-right{background:#F7F1E8;}
.jb-look__media{width:100%;display:flex;justify-content:center;align-items:center;}
.jb-look__frame{position:relative;display:block;line-height:0;width:100%;}
.jb-look__img{display:block;width:100%;height:auto;}
.jb-look__placeholder{width:100%;aspect-ratio:3/4;background:#EDE6DC;}
.jb-look__frame--empty .jb-hotspot{display:none;}
.jb-look__info{padding:40px 24px 50px;}
.jb-look__eyebrow{font-family:Poppins,sans-serif;font-size:11px;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:#480909;margin:0 0 8px;line-height:1.2;}
.jb-look__title{font-family:orpheuspro,serif;font-weight:400;font-size:28px;line-height:1.2;color:#222;margin:0 0 10px;}
.jb-pieces{list-style:none;margin:0;padding:0;}
.jb-piece a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #E7E2D9;text-decoration:none;color:#222;}
.jb-piece__name{font-family:Poppins,sans-serif;font-size:15px;font-weight:400;line-height:1.5;flex:1 1 auto;transition:color .2s;}
.jb-piece a:hover .jb-piece__name{color:#480909;}
.jb-piece__price{font-family:Poppins,sans-serif;font-size:14px;font-weight:300;color:#8A8A8A;white-space:nowrap;}
.jb-piece__price del{opacity:.6;margin-right:6px;}
.jb-piece__price ins{text-decoration:none;}

/* Hotspot */
.jb-hotspot{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;display:block;line-height:0;text-decoration:none;z-index:2;}
/* pallino bianco con anello bordeaux: si vede anche su capi e fondali chiari */
.jb-hotspot__dot{display:block;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid #480909;box-sizing:border-box;box-shadow:0 0 0 0 rgba(72,9,9,.45),0 2px 8px rgba(0,0,0,.35);animation:jb-beat 2.2s ease-out infinite;}
@keyframes jb-beat{0%{box-shadow:0 0 0 0 rgba(72,9,9,.45),0 2px 8px rgba(0,0,0,.35)}70%{box-shadow:0 0 0 12px rgba(72,9,9,0),0 2px 8px rgba(0,0,0,.35)}100%{box-shadow:0 0 0 0 rgba(72,9,9,0),0 2px 8px rgba(0,0,0,.35)}}
.jb-hotspot__tip{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%) scale(0);transform-origin:top center;opacity:0;transition:transform .2s,opacity .2s;background:#fff;color:#222;font-family:Poppins,sans-serif;font-size:13px;line-height:1.5;text-align:left;white-space:nowrap;padding:10px 14px;border-radius:6px;box-shadow:0 4px 14px rgba(34,34,34,.18);pointer-events:none;}
.jb-hotspot__tip strong{font-weight:500;}
.jb-hotspot:hover .jb-hotspot__tip,.jb-hotspot:focus .jb-hotspot__tip{transform:translateX(-50%) scale(1);opacity:1;}
.jb-hotspot--flip .jb-hotspot__tip{top:auto;bottom:calc(100% + 8px);transform-origin:bottom center;}
@media (max-width:767px){
	.jb-hotspot__tip{transform:translateX(-50%) scale(1);opacity:1;}
}

/* Tablet: foto centrata, larghezza uniforme, respiro sopra */
@media (min-width:768px) and (max-width:1279px){
	.jb-look{padding:48px 0 0;}
	.jb-look__frame{width:min(100%,560px);}
	.jb-look__img{width:100%;height:auto;}
	.jb-look__info{padding:40px 40px 60px;max-width:640px;margin:0 auto;width:100%;box-sizing:border-box;}
	.jb-look__title{font-size:34px;}
}

/* Desktop: foto ~40vw e testo affiancato, alternati */
@media (min-width:1280px){
	.jb-look{flex-direction:row;justify-content:center;align-items:center;gap:72px;padding:6vh 80px;}
	.jb-look--img-right{flex-direction:row-reverse;}
	.jb-look__media{width:auto;flex:0 0 auto;}
	.jb-look__frame{width:40vw;max-width:720px;}
	.jb-look__img{width:100%;height:auto;}
	.jb-look__info{flex:0 1 440px;max-width:440px;padding:0;}
	.jb-look__eyebrow{font-size:13px;margin-bottom:14px;}
	.jb-look__title{font-size:40px;margin-bottom:16px;}
}
@media (min-width:1680px){
	.jb-look{gap:96px;}
	.jb-look__frame{width:38vw;max-width:800px;}
	.jb-look__info{flex:0 1 480px;max-width:480px;}
	.jb-look__title{font-size:44px;}
}

/* ===== Scheda prodotto: [jeibi_outfit_box] ===== */
.jb-box{display:flex;align-items:center;gap:16px;width:100%;margin:28px 0 0;padding:18px 20px;background:#F7F1E8;border:1px solid #E7E2D9;border-radius:8px;box-sizing:border-box;}
.jb-box__media{flex:0 0 64px;line-height:0;}
.jb-box__img{width:64px;height:80px;object-fit:cover;border-radius:4px;display:block;}
.jb-box__body{flex:1 1 0;min-width:0;}
.jb-box__eyebrow{font-family:Poppins,sans-serif;font-size:11px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:#480909;line-height:1.3;margin:0 0 6px;}
.jb-box__title{font-family:orpheuspro,serif;font-weight:400;font-size:24px;line-height:1.2;color:#222;margin:0 0 4px;overflow-wrap:anywhere;}
.jb-box__text{font-family:Poppins,sans-serif;font-size:14px;font-weight:300;line-height:1.6;color:#7A726B;margin:0 0 8px;}
.jb-box__link{font-family:Poppins,sans-serif;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#480909;text-decoration:none;}
.jb-box__link:hover{color:#3A0707;}
@media (max-width:767px){.jb-box__title{font-size:20px;}.jb-box__text{font-size:13px;}.jb-box__link{font-size:12px;}}

/* ===== Scheda prodotto ===== */
/* descrizione breve: pallino pieno nero, a-capo allineato al testo */
.single-product .woocommerce-product-details__short-description ul,.single-product .elementor-widget-woocommerce-product-short-description ul{list-style:none!important;margin:0 0 4px!important;padding:0 0 0 1.1em!important;}
.single-product .woocommerce-product-details__short-description li,.single-product .elementor-widget-woocommerce-product-short-description li{position:relative;padding:0!important;margin:0 0 6px!important;list-style:none!important;font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:1.6;color:#222;}
.single-product .woocommerce-product-details__short-description li::before,.single-product .elementor-widget-woocommerce-product-short-description li::before{content:''!important;position:absolute;left:-1.1em;top:.9em;top:calc(1lh / 2);transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:#222;border:0!important;margin:0!important;}
.jb-info{list-style:none;margin:0;padding:0;}
.jb-info__row{display:flex;align-items:flex-start;gap:10px;font-family:Poppins,sans-serif;font-size:14px;line-height:1.6;color:#222;margin:0 0 6px;}
.jb-ico{flex:0 0 18px;width:18px;height:18px;margin-top:3px;color:#480909;display:inline-block;}
.jb-ico svg{width:18px;height:18px;display:block;}
.jb-size{margin:0 0 4px;}
.jb-size__label{font-family:Poppins,sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#222;margin:0 0 10px;}
.jb-size__boxes{display:flex;flex-wrap:wrap;gap:8px;}
.jb-size__box{display:inline-block;padding:9px 16px;border:1px solid #222;font-family:Poppins,sans-serif;font-size:14px;line-height:1.2;color:#222;background:#fff;}
/* tendine */
.jb-acc{border-top:1px solid #E7E2D9;}
.jb-acc__item{border-bottom:1px solid #E7E2D9;}
.jb-acc__btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 0;background:none;border:0;cursor:pointer;text-align:left;font-family:Poppins,sans-serif;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#222;transition:color .2s;}
.jb-acc__btn:hover{color:#480909;}
.jb-acc__chev{flex:0 0 10px;width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .3s ease;}
.jb-acc__btn[aria-expanded="true"] .jb-acc__chev{transform:rotate(-135deg);margin-top:4px;}
.jb-acc__body{font-family:Poppins,sans-serif;font-size:14px;font-weight:300;line-height:1.7;color:#5B5B5B;padding:0 0 18px;}
.jb-acc__body p:last-child{margin-bottom:0;}
/* FAQ */
.jb-faq{max-width:820px;margin:0 auto;padding:0 24px;}
.jb-faq__title{font-family:orpheuspro,serif;font-weight:400;font-size:32px;line-height:1.2;color:#222;text-align:center;margin:0 0 28px;}
.jb-acc--faq .jb-acc__btn{text-transform:none;letter-spacing:0;font-size:16px;font-weight:400;padding:18px 0;}
.jb-acc--faq .jb-acc__body{font-size:15px;}
@media (min-width:1280px){.jb-faq__title{font-size:40px;margin-bottom:36px;}}
