.oepf-wrapper{border:1px solid #e5e7eb;border-radius:16px;padding:20px;margin:22px 0;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05)}.oepf-heading{margin:0 0 16px;font-size:18px;font-weight:800}.oepf-field{margin-bottom:17px}.oepf-label{display:block;font-weight:800;margin-bottom:8px}.oepf-label small{font-weight:600;color:#666}.oepf-field input[type=text],.oepf-field input[type=date],.oepf-field input[type=time],.oepf-field input[type=file],.oepf-field select,.oepf-field textarea{width:100%;border:1px solid #d7dce3;border-radius:12px;padding:11px 13px;background:#fff}.oepf-field textarea{min-height:100px}.oepf-choice{display:flex;align-items:center;gap:8px;margin:8px 0}.oepf-button-options{display:flex;flex-wrap:wrap;gap:10px}.oepf-button-options input{display:none}.oepf-button-options span{display:inline-flex;align-items:center;border:1px solid #cfd6df;border-radius:999px;padding:9px 15px;cursor:pointer;background:#fff;transition:.2s}.oepf-button-options input:checked+span{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.12);font-weight:800}.oepf-image-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:12px}.oepf-image-options input{display:none}.oepf-image-options span{display:block;border:1px solid #d9dee7;border-radius:14px;overflow:hidden;text-align:center;cursor:pointer;background:#fff;transition:.2s}.oepf-image-options img{display:block;width:100%;height:92px;object-fit:cover}.oepf-image-options em{display:block;font-style:normal;padding:8px;font-size:13px}.oepf-image-options input:checked+span{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.12)}.oepf-upload-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.oepf-preview-item{width:76px;min-height:76px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;font-size:11px}.oepf-preview-item img{width:100%;height:56px;object-fit:cover;display:block}.oepf-preview-item em{font-style:normal;display:block;padding:3px 5px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oepf-total-box{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #eef0f4;margin-top:14px;padding-top:15px;font-size:16px}.oepf-total-box strong{font-size:21px}.oepf-uploaded-files{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.oepf-file-thumb{width:54px;height:54px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;display:inline-flex;background:#fff}.oepf-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}.oepf-file-link{display:inline-block;border:1px solid #e5e7eb;border-radius:999px;padding:5px 10px;background:#f8fafc;font-size:12px}.woocommerce-checkout-review-order .oepf-file-thumb,.woocommerce-cart-form .oepf-file-thumb{width:48px;height:48px}.required{color:#d63638}@media(max-width:600px){.oepf-wrapper{padding:15px}.oepf-image-options{grid-template-columns:repeat(2,1fr)}.oepf-total-box{align-items:flex-start;flex-direction:column}.oepf-file-thumb{width:46px;height:46px}}
.oepf-button-options span{flex-direction:column;align-items:center;justify-content:center;min-width:90px;line-height:1.25}.oepf-button-options span strong{display:block;font-weight:700}.oepf-button-options span small{display:block;margin-top:3px;font-size:11px;color:#16a34a;font-weight:800}.oepf-color-field{width:72px!important;min-height:46px;padding:4px!important;cursor:pointer}.oepf-uploaded-files{margin-top:5px}.mini_cart_item .oepf-uploaded-files{margin-top:6px}.mini_cart_item .oepf-file-thumb{width:42px;height:42px}.woocommerce-cart-form .variation .oepf-uploaded-files,.woocommerce-checkout-review-order .variation .oepf-uploaded-files{display:flex!important}.woocommerce-cart-form .variation .oepf-file-thumb img,.woocommerce-checkout-review-order .variation .oepf-file-thumb img{max-width:100%;height:100%;object-fit:cover}.oepf-type-product_select select{font-weight:600}

/* v1.0.4 frontend refinements */
.oepf-button-options{gap:12px}.oepf-button-options label{display:inline-block;margin:0}.oepf-button-options input{display:none!important}.oepf-button-options label>span{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:120px!important;min-height:58px!important;border:1px solid #cbd5e1!important;border-radius:14px!important;padding:10px 18px!important;background:#fff!important;box-shadow:none!important;line-height:1.2!important}.oepf-button-options label>span strong{font-size:15px!important;color:#111827!important;margin:0!important}.oepf-button-options label>span small{margin-top:6px!important;font-size:12px!important;color:#16a34a!important;font-weight:800!important}.oepf-button-options input:checked+span{border-color:#111827!important;box-shadow:0 0 0 2px rgba(17,24,39,.12)!important;background:#f8fafc!important}.oepf-product-select-search{margin-bottom:10px!important}.oepf-product-select-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.oepf-product-choice{display:block;margin:0!important}.oepf-product-choice input{display:none!important}.oepf-product-choice span{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;border:1px solid #d8dee9;border-radius:14px;padding:8px;background:#fff;cursor:pointer;transition:.18s}.oepf-product-choice img{width:52px;height:52px;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb}.oepf-product-choice strong{display:block;font-size:13px;color:#111827;line-height:1.25}.oepf-product-choice small{display:block;color:#16a34a;font-weight:800;margin-top:3px}.oepf-product-choice input:checked+span{border-color:#111827;box-shadow:0 0 0 2px rgba(17,24,39,.12);background:#f8fafc}.mini_cart_item .variation .oepf-uploaded-files,.woocommerce-mini-cart .variation .oepf-uploaded-files{display:flex!important;gap:6px!important}.mini_cart_item .variation .oepf-file-thumb,.woocommerce-mini-cart .variation .oepf-file-thumb{width:44px!important;height:44px!important;display:inline-flex!important}.mini_cart_item .variation .oepf-file-thumb img,.woocommerce-mini-cart .variation .oepf-file-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}

/* v1.0.5 clean frontend layout fixes */
.oepf-button-options{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:14px!important;
    align-items:flex-start!important;
}
.oepf-button-options label{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:6px!important;
    margin:0!important;
    cursor:pointer!important;
}
.oepf-button-options input{display:none!important;}
.oepf-button-options label .oepf-button-card{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:118px!important;
    min-height:46px!important;
    border:1px solid #cfd8e3!important;
    border-radius:13px!important;
    background:#fff!important;
    padding:10px 16px!important;
    box-shadow:none!important;
}
.oepf-button-options label .oepf-button-card strong{
    font-size:15px!important;
    font-weight:800!important;
    color:#111827!important;
    margin:0!important;
    line-height:1.1!important;
}
.oepf-button-options label .oepf-button-price{
    display:block!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    min-width:0!important;
    min-height:0!important;
    color:#16a34a!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
    text-align:center!important;
}
.oepf-button-options label .oepf-button-price span,
.oepf-button-options label .oepf-button-price bdi,
.oepf-button-options label .oepf-button-price .woocommerce-Price-currencySymbol{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    min-width:0!important;
    min-height:0!important;
    display:inline!important;
    color:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
}
.oepf-button-options input:checked + .oepf-button-card{
    border-color:#111827!important;
    background:#f8fafc!important;
    box-shadow:0 0 0 2px rgba(17,24,39,.08)!important;
}
.oepf-product-select-search{display:none!important;}
.oepf-product-select-options{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:12px!important;
}
.oepf-product-choice{display:block!important;margin:0!important;cursor:pointer!important;}
.oepf-product-choice input{display:none!important;}
.oepf-product-choice .oepf-product-card{
    display:grid!important;
    grid-template-columns:58px 1fr!important;
    gap:12px!important;
    align-items:center!important;
    min-height:78px!important;
    border:1px solid #d8dee9!important;
    border-radius:14px!important;
    background:#fff!important;
    padding:10px!important;
    box-shadow:none!important;
}
.oepf-product-choice .oepf-product-card img{
    width:58px!important;
    height:58px!important;
    object-fit:cover!important;
    border-radius:10px!important;
    border:1px solid #e5e7eb!important;
    background:#f8fafc!important;
}
.oepf-product-choice .oepf-product-info{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:5px!important;
    border:0!important;
    background:transparent!important;
    padding:0!important;
    box-shadow:none!important;
}
.oepf-product-choice .oepf-product-info strong{
    font-size:14px!important;
    line-height:1.25!important;
    color:#111827!important;
    font-weight:800!important;
}
.oepf-product-choice .oepf-product-info small,
.oepf-product-choice .oepf-product-info small span,
.oepf-product-choice .oepf-product-info small bdi,
.oepf-product-choice .oepf-product-info .woocommerce-Price-currencySymbol{
    display:inline!important;
    color:#16a34a!important;
    font-size:12px!important;
    font-weight:800!important;
    border:0!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
}
.oepf-product-choice input:checked + .oepf-product-card{
    border-color:#111827!important;
    background:#f8fafc!important;
    box-shadow:0 0 0 2px rgba(17,24,39,.08)!important;
}
.oepf-upload-hidden{display:none!important;}
.oepf-uploaded-ok{border-color:#bbf7d0!important;background:#f0fdf4!important;}
.oepf-uploading{opacity:.75;}


/* v1.0.6 clean frontend updates */
.oepf-heading{display:none!important;}
.oepf-image-options span:not(:has(em)) img{border-radius:14px;}
.woocommerce-cart-form .oepf-file-thumb,
.woocommerce-checkout-review-order .oepf-file-thumb,
.woocommerce-mini-cart .oepf-file-thumb,
.mini_cart_item .oepf-file-thumb{
    width:36px!important;
    height:36px!important;
    border-radius:7px!important;
}
.woocommerce-cart-form .oepf-uploaded-files,
.woocommerce-checkout-review-order .oepf-uploaded-files,
.woocommerce-mini-cart .oepf-uploaded-files,
.mini_cart_item .oepf-uploaded-files{
    gap:5px!important;
    margin-top:3px!important;
}
.woocommerce-cart-form .oepf-file-thumb img,
.woocommerce-checkout-review-order .oepf-file-thumb img,
.woocommerce-mini-cart .oepf-file-thumb img,
.mini_cart_item .oepf-file-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}


/* v1.0.7 cart/checkout/order thumbnail fixes */
.woocommerce-cart-form .oepf-uploaded-files,
.woocommerce-checkout-review-order .oepf-uploaded-files,
.woocommerce-mini-cart .oepf-uploaded-files,
.mini_cart_item .oepf-uploaded-files,
.woocommerce-order .oepf-uploaded-files,
.woocommerce-order-details .oepf-uploaded-files{display:flex!important;flex-wrap:wrap!important;gap:5px!important;align-items:center!important;margin-top:3px!important;}
.woocommerce-cart-form .oepf-file-thumb,
.woocommerce-checkout-review-order .oepf-file-thumb,
.woocommerce-mini-cart .oepf-file-thumb,
.mini_cart_item .oepf-file-thumb,
.woocommerce-order .oepf-file-thumb,
.woocommerce-order-details .oepf-file-thumb,
.oepf-selected-image-thumb{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;border-radius:6px!important;overflow:hidden!important;display:inline-flex!important;vertical-align:middle!important;}
.woocommerce-cart-form .oepf-file-thumb img,
.woocommerce-checkout-review-order .oepf-file-thumb img,
.woocommerce-mini-cart .oepf-file-thumb img,
.mini_cart_item .oepf-file-thumb img,
.woocommerce-order .oepf-file-thumb img,
.woocommerce-order-details .oepf-file-thumb img,
.oepf-selected-image-thumb img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:cover!important;margin:0!important;}
.oepf-selected-image-meta{display:inline-flex!important;align-items:center!important;gap:7px!important;vertical-align:middle!important;}

/* v1.0.14 Multiple Select as checkbox cards */
.oepf-multi-checkbox-options{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;
    gap:10px!important;
}
.oepf-multi-checkbox-choice{
    display:block!important;
    margin:0!important;
    cursor:pointer!important;
}
.oepf-multi-checkbox-choice input[type="checkbox"]{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
}
.oepf-multi-check-ui{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    border:1px solid #d7dce3!important;
    border-radius:12px!important;
    background:#fff!important;
    padding:10px 12px!important;
    transition:.2s!important;
    min-height:46px!important;
    box-shadow:none!important;
}
.oepf-check-box{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    border:2px solid #cbd5e1!important;
    border-radius:5px!important;
    background:#fff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.oepf-multi-checkbox-choice input[type="checkbox"]:checked + .oepf-multi-check-ui{
    border-color:#111827!important;
    background:#f8fafc!important;
    box-shadow:0 0 0 2px rgba(17,24,39,.08)!important;
}
.oepf-multi-checkbox-choice input[type="checkbox"]:checked + .oepf-multi-check-ui .oepf-check-box{
    border-color:#111827!important;
    background:#111827!important;
}
.oepf-multi-checkbox-choice input[type="checkbox"]:checked + .oepf-multi-check-ui .oepf-check-box:after{
    content:'✓'!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1!important;
}
.oepf-check-label{
    flex:1!important;
    color:#111827!important;
    font-weight:700!important;
    font-size:14px!important;
}
.oepf-multi-check-ui small{
    color:#16a34a!important;
    font-weight:800!important;
    font-size:12px!important;
    white-space:nowrap!important;
}
.oepf-required-checkbox-validator{
    position:absolute!important;
    opacity:0!important;
    width:1px!important;
    height:1px!important;
    pointer-events:none!important;
}
