.pfm-container{margin:16px 0; padding:25px 50px; border:1px solid #eee; border-radius:8px; position:relative; overflow:hidden;}
.pfm-container::before{content:''; position:absolute; top:-2px; left:-2px; right:-2px; bottom:-2px; border-radius:8px; opacity:0; pointer-events:none; z-index:0;}
.pfm-container.animate-highlight::before{animation:pfm-highlight 3s ease-out;}
@keyframes pfm-highlight{
    0%{opacity:0; box-shadow:0 0 0 0 rgba(0,103,255,0), inset 0 0 0 0 rgba(0,103,255,0);}
    30%{opacity:1; box-shadow:0 0 20px 2px rgba(0,103,255,0.3), inset 0 0 20px 2px rgba(0,103,255,0.1);}
    50%{box-shadow:0 0 15px 1px rgba(0,103,255,0.2), inset 0 0 15px 1px rgba(0,103,255,0.08);}
    100%{opacity:0; box-shadow:0 0 0 0 rgba(0,103,255,0), inset 0 0 0 0 rgba(0,103,255,0);}
}
.pfm-container > *{position:relative; z-index:1;}

/* Title above and left-aligned */
.pfm-title-wrap{text-align:left; margin-bottom:20px;}
.pfm-a-title{font-weight:600; font-size:1.2em; margin:0;}

/* A chips - vertical layout with icon first, text below */
.pfm-a-line{display:flex; justify-content:flex-start; margin-bottom:20px;}
.pfm-a-chips{display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-start;}
.pfm-a-chip{display:flex; flex-direction:column; align-items:center; gap:6px; padding:10px; border:1px solid #ccc; border-radius:8px; background:#fff; cursor:pointer; width:100px; transition:all 0.2s;}
.pfm-a-chip-icon{display:flex; align-items:center; justify-content:center;}
.pfm-a-chip .pfm-a-thumb{width:48px; height:48px; border-radius:6px; object-fit:cover; display:block;}
.pfm-a-chip-text{font-size:0.9em; color:#000; text-align:center;}
.pfm-a-chip:hover{background:#f5f5f5; border-color:#999;}
.pfm-a-chip:hover .pfm-a-chip-text{color:#0067FF;}
.pfm-a-chip.active{ border-color:#0067FF; background:#0067FF; }
.pfm-a-chip.active .pfm-a-thumb{ outline:1px solid rgba(255,255,255,.3); outline-offset:0; border-radius:6px; }
.pfm-a-chip.active .pfm-a-chip-text{ color:#fff; }

/* B and C chips - 4 in a row, same size */
.pfm-b-wrap,.pfm-c-wrap{display:flex; flex-direction:column; gap:8px; margin:12px 0;}
.pfm-b-label,.pfm-c-label{font-weight:500; margin-bottom:4px;}
.pfm-b-chips,.pfm-c-chips{display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; padding:4px 0;}
.pfm-b-chips:has(.pfm-b-select-dropdown),.pfm-c-chips:has(.pfm-c-select-dropdown){display:block; grid-template-columns:none; gap:0;}
.pfm-b-chip,.pfm-c-chip{padding:16px; border:1px solid #ccc; border-radius:6px; background:#fff; cursor:pointer; transition:all 0.2s; font-size:0.95em; color:#000; text-align:center; width:100%; box-sizing:border-box; display:flex; align-items:center; justify-content:center; white-space:normal;}
.pfm-b-chip:hover,.pfm-c-chip:hover{background:#f5f5f5; border-color:#999; color:#0067FF;}
.pfm-b-chip.active,.pfm-c-chip.active{border-color:#0067FF; background:#0067FF; color:#fff;}
.pfm-b-select-dropdown,.pfm-c-select-dropdown{width:100%; min-height:40px; padding:8px 12px; border:1px solid #ccc; border-radius:6px; font-size:0.95em; box-sizing:border-box;}

/* Dividers */
.pfm-divider{height:1px; background:#eee; margin:16px 0;}

/* Price highlighted */
.pfm-price{margin-top:12px; font-size:1.7em; font-weight:600; color:#0067FF; padding:8px 0;}

/* Divider below price */
.pfm-price-divider{height:1px; background:#eee; margin:16px 0;}

/* Qty and Add to cart wrapper */
.pfm-qty-wrap{margin-top:12px; display:flex; align-items:flex-end; justify-content:flex-start; gap:12px;}
.pfm-qty{display:flex; align-items:center; gap:6px;}
.pfm-qty label{font-size:0.9em;}
.pfm-qty input[type="number"]{width:60px; padding:4px 6px; font-size:0.9em;}
#pfm-add-to-cart{margin-top:0;}
#pfm-add-to-cart:disabled{cursor:not-allowed;}

/* Loader animation */
.pfm-loader{display:inline-block; width:20px; height:20px; border:3px solid rgba(0,103,255,0.3); border-top-color:#0067FF; border-radius:50%; animation:pfm-spin 0.8s linear infinite; margin-left:8px; vertical-align:middle;}
@keyframes pfm-spin{to{transform:rotate(360deg);}}

.pfm-feedback{margin-top:8px;}

.pfm-external-thumbs{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.pfm-external-thumbs .pfm-thumb-btn{border:1px solid #ddd; background:#fff; padding:2px; border-radius:6px; cursor:pointer;}
.pfm-external-thumbs .pfm-thumb-btn img{width:64px; height:64px; object-fit:cover; border-radius:4px; display:block;}
