
:root{
    --cfp-gold:#b89646;
    --cfp-gold-dark:#8f6c22;
    --cfp-gold-soft:#f4ecd9;
    --cfp-black:#171717;
    --cfp-text:#2b2b2b;
    --cfp-muted:#777;
    --cfp-line:#e9e4da;
    --cfp-bg:#f8f7f3;
    --cfp-white:#fff;
    --cfp-danger:#b42318;
}
.cfp-wrap,
.cfp-wrap *{box-sizing:border-box}
.cfp-wrap{
    direction:rtl;
    width:100%;
    max-width:1120px;
    margin:36px auto;
    padding:0 16px;
    font-family:inherit;
    color:var(--cfp-text);
}
.cfp-card{
    background:var(--cfp-white);
    border:1px solid var(--cfp-line);
    border-radius:26px;
    padding:34px;
    box-shadow:0 18px 55px rgba(0,0,0,.06);
    overflow:hidden;
}
.cfp-header{text-align:center;margin-bottom:34px}
.cfp-brand{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:116px;
    padding:7px 14px;
    border:1px solid rgba(184,150,70,.45);
    border-radius:999px;
    color:var(--cfp-gold-dark);
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
    margin-bottom:10px;
}
.cfp-header h2{
    margin:0 0 10px;
    color:var(--cfp-black);
    font-size:32px;
    font-weight:900;
}
.cfp-header p{
    margin:0 auto;
    max-width:700px;
    color:var(--cfp-muted);
    line-height:2;
}
.cfp-progress{
    position:relative;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    align-items:start;
    margin:10px 0 38px;
    gap:6px;
}
.cfp-progress-line{
    position:absolute;
    top:20px;
    right:10%;
    left:10%;
    height:3px;
    background:#eeeae1;
    border-radius:10px;
    overflow:hidden;
    z-index:0;
}
.cfp-progress-fill{
    display:block;
    width:0;
    height:100%;
    background:linear-gradient(90deg,var(--cfp-gold-dark),var(--cfp-gold));
    transition:width .35s ease;
}
.cfp-step-dot{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px;
    border:0;
    background:transparent;
    font:inherit;
    color:#999;
    cursor:default;
    padding:0;
}
.cfp-step-dot span{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #e3ded4;
    background:#fff;
    font-weight:800;
    transition:.25s ease;
}
.cfp-step-dot small{
    font-size:12px;
    white-space:nowrap;
    transition:.25s ease;
}
.cfp-step-dot.is-active span,
.cfp-step-dot.is-done span{
    border-color:var(--cfp-gold);
    background:var(--cfp-black);
    color:#fff;
    box-shadow:0 7px 18px rgba(0,0,0,.12);
}
.cfp-step-dot.is-active small,
.cfp-step-dot.is-done small{
    color:var(--cfp-black);
    font-weight:800;
}
.cfp-step{
    display:none;
    opacity:0;
    transform:translateX(14px);
}
.cfp-step.is-active{
    display:block;
    animation:cfpStepIn .35s ease forwards;
}
@keyframes cfpStepIn{
    to{opacity:1;transform:translateX(0)}
}
.cfp-step-head{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px 20px;
    border:1px solid var(--cfp-line);
    border-radius:18px;
    background:linear-gradient(135deg,#fff,#fbf8f0);
    margin-bottom:22px;
}
.cfp-step-number{
    flex:0 0 44px;
    width:44px;
    height:44px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--cfp-black);
    color:#fff;
    font-weight:900;
    box-shadow:inset 0 -3px 0 var(--cfp-gold);
}
.cfp-step-head h3{margin:0 0 4px;font-size:20px;color:var(--cfp-black)}
.cfp-step-head p{margin:0;color:var(--cfp-muted);font-size:13px}
.cfp-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.cfp-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.cfp-full{grid-column:1/-1}
.cfp-field label{
    font-size:14px;
    font-weight:800;
    color:#333;
}
.cfp-field em,
.cfp-consent em{
    font-style:normal;
    color:var(--cfp-danger);
}
.cfp-field input,
.cfp-field select,
.cfp-field textarea{
    width:100%;
    border:1px solid #ded8cc;
    border-radius:13px;
    background:#fff;
    color:#222;
    padding:13px 14px;
    font:inherit;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.cfp-field input:focus,
.cfp-field select:focus,
.cfp-field textarea:focus{
    border-color:var(--cfp-gold);
    box-shadow:0 0 0 3px rgba(184,150,70,.13);
}
.cfp-field.is-invalid input,
.cfp-field.is-invalid select,
.cfp-field.is-invalid textarea{
    border-color:var(--cfp-danger);
    background:#fffafa;
}
.cfp-error,
.cfp-consent-error{
    display:none;
    color:var(--cfp-danger);
    font-size:12px;
}
.cfp-field.is-invalid .cfp-error{display:block}
.cfp-swatch-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.cfp-swatch-option{
    position:relative;
    min-height:110px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid #dfd9ce;
    border-radius:16px;
    background:#fff;
    cursor:pointer;
    transition:.22s ease;
    text-align:center;
    padding:14px;
}
.cfp-swatch-option:hover{
    transform:translateY(-2px);
    border-color:var(--cfp-gold);
    box-shadow:0 10px 24px rgba(0,0,0,.06);
}
.cfp-swatch-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.cfp-swatch-option strong{font-size:15px;color:var(--cfp-black)}
.cfp-swatch-option small{font-size:11px;color:#999}
.cfp-checkmark{
    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ddd6c8;
    color:transparent;
    background:#fafafa;
    transition:.2s ease;
}
.cfp-swatch-option:has(input:checked){
    border-color:var(--cfp-gold);
    background:var(--cfp-gold-soft);
}
.cfp-swatch-option input:checked ~ .cfp-checkmark{
    background:var(--cfp-black);
    color:#fff;
    border-color:var(--cfp-black);
}
.cfp-consent{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:22px 0 8px;
    padding:15px 16px;
    border:1px solid var(--cfp-line);
    border-radius:14px;
    background:#fcfbf8;
    line-height:1.9;
    font-size:13px;
}
.cfp-consent input{
    margin-top:7px;
    accent-color:var(--cfp-gold);
}
.cfp-consent.is-invalid{
    border-color:var(--cfp-danger);
    background:#fffafa;
}
.cfp-consent.is-invalid + .cfp-consent-error{display:block}
.cfp-demo-note{
    margin-top:18px;
    padding:13px 15px;
    border-radius:12px;
    background:#f6f3ea;
    color:#6d5a2f;
    font-size:12px;
    line-height:1.9;
    border:1px dashed #d8c699;
}
.cfp-actions{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:26px;
}
.cfp-btn{
    min-height:48px;
    border-radius:13px;
    padding:12px 22px;
    font:inherit;
    font-weight:900;
    cursor:pointer;
    transition:.2s ease;
}
.cfp-btn:hover{transform:translateY(-1px)}
.cfp-btn-primary{
    border:1px solid var(--cfp-black);
    background:linear-gradient(135deg,var(--cfp-black),#2b2b2b);
    color:#fff;
    box-shadow:inset 0 -3px 0 var(--cfp-gold);
}
.cfp-btn-secondary{
    border:1px solid #ddd6c9;
    background:#fff;
    color:var(--cfp-black);
}
.cfp-prev{display:none}
.cfp-finish{display:none;margin-right:auto}
.cfp-complete{
    display:none;
    text-align:center;
    padding:36px 20px 10px;
}
.cfp-complete.is-visible{display:block;animation:cfpStepIn .35s ease forwards}
.cfp-complete-icon{
    width:64px;
    height:64px;
    margin:0 auto 14px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--cfp-black);
    color:#fff;
    font-size:28px;
    box-shadow:inset 0 -4px 0 var(--cfp-gold);
}
.cfp-complete h3{margin:0 0 8px;color:var(--cfp-black)}
.cfp-complete p{margin:0 auto 20px;max-width:620px;color:var(--cfp-muted);line-height:2}
@media(max-width:820px){
    .cfp-wrap{margin:22px auto;padding:0 10px}
    .cfp-card{padding:20px 14px;border-radius:20px}
    .cfp-header h2{font-size:25px}
    .cfp-progress{margin-bottom:28px}
    .cfp-progress-line{top:17px}
    .cfp-step-dot span{width:36px;height:36px;font-size:13px}
    .cfp-step-dot small{font-size:10px}
    .cfp-grid{grid-template-columns:1fr}
    .cfp-full{grid-column:auto}
    .cfp-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cfp-step-head{padding:15px}
    .cfp-step-head h3{font-size:18px}
    .cfp-actions{flex-wrap:wrap}
    .cfp-btn{flex:1 1 140px}
    .cfp-finish{margin-right:0}
}
@media(max-width:480px){
    .cfp-step-dot small{display:none}
    .cfp-progress-line{right:8%;left:8%}
    .cfp-swatch-grid{grid-template-columns:1fr 1fr;gap:10px}
    .cfp-swatch-option{min-height:92px;padding:10px}
}


/* CatalogFlow Pro v1.2.1 — isolated Select compatibility layer.
   These rules are deliberately scoped to .cfp-wrap so they cannot alter other forms. */
.cfp-wrap .cfp-form .cfp-select-shell {
    position: relative;
    width: 100%;
    isolation: isolate;
}

.cfp-wrap .cfp-form .cfp-select-shell::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-left: 2px solid var(--cfp-gold-dark);
    border-bottom: 2px solid var(--cfp-gold-dark);
    transform: translateY(-65%) rotate(-45deg);
    pointer-events: none;
    z-index: 2;
}

.cfp-wrap .cfp-form .cfp-field select.cfp-select {
    display: block;
    width: 100%;
    min-width: 0;
    height: 50px;
    min-height: 50px;
    margin: 0;
    padding: 0 14px 0 46px;
    border: 1px solid #ded8cc;
    border-radius: 13px;
    background: #ffffff;
    background-image: none;
    color: #171717;
    -webkit-text-fill-color: #171717;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 48px;
    opacity: 1;
    direction: rtl;
    text-align: right;
    text-align-last: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    box-shadow: none;
    cursor: pointer;
    color-scheme: light;
}

/* Some themes attach global filters/transforms to native controls. */
.cfp-wrap .cfp-form .cfp-field select.cfp-select:not([multiple]) {
    filter: none;
    transform: none;
    text-indent: 0;
    letter-spacing: normal;
    visibility: visible;
}

.cfp-wrap .cfp-form .cfp-field select.cfp-select:required:invalid,
.cfp-wrap .cfp-form .cfp-field select.cfp-select.cfp-is-placeholder {
    color: #858585;
    -webkit-text-fill-color: #858585;
}

.cfp-wrap .cfp-form .cfp-field select.cfp-select option {
    color: #171717;
    background-color: #ffffff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    direction: rtl;
}

.cfp-wrap .cfp-form .cfp-field select.cfp-select option[value=""] {
    color: #858585;
}

.cfp-wrap .cfp-form .cfp-field select.cfp-select:focus {
    color: #171717;
    -webkit-text-fill-color: #171717;
    border-color: var(--cfp-gold);
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(184,150,70,.16);
}

.cfp-wrap .cfp-form .cfp-field.is-invalid select.cfp-select {
    border-color: var(--cfp-danger);
    background-color: #fffafa;
}

.cfp-wrap .cfp-form .cfp-field select.cfp-select:disabled {
    color: #777777;
    -webkit-text-fill-color: #777777;
    background-color: #f3f3f3;
    cursor: not-allowed;
    opacity: 1;
}

/* Inputs/textarea keep readable placeholders without overriding the rest of the site. */
.cfp-wrap .cfp-form .cfp-field input,
.cfp-wrap .cfp-form .cfp-field textarea {
    color: #171717;
    -webkit-text-fill-color: #171717;
    background-color: #ffffff;
    opacity: 1;
}

.cfp-wrap .cfp-form .cfp-field input::placeholder,
.cfp-wrap .cfp-form .cfp-field textarea::placeholder {
    color: #8a8a8a;
    -webkit-text-fill-color: #8a8a8a;
    opacity: 1;
}

@media (max-width: 480px) {
    .cfp-wrap .cfp-form .cfp-field select.cfp-select,
    .cfp-wrap .cfp-form .cfp-field input,
    .cfp-wrap .cfp-form .cfp-field textarea {
        font-size: 16px;
    }

    .cfp-wrap .cfp-form .cfp-field select.cfp-select {
        height: 50px;
        min-height: 50px;
        line-height: 48px;
    }
}


/* CatalogFlow Pro v1.3.0 — real submission feedback */
.cfp-wrap .cfp-submit-error{
    margin-top:18px;
    padding:13px 15px;
    border:1px solid #efc6c6;
    border-radius:12px;
    background:#fff4f4;
    color:#8f1d1d;
    font-size:13px;
    line-height:1.9;
}
.cfp-wrap .cfp-btn:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}
.cfp-wrap .cfp-btn.is-loading{
    position:relative;
}

.cfp-wrap .cfp-form-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #ece7dc;font-weight:800;color:#171717}
.cfp-wrap .cfp-form-brand img{max-height:44px;width:auto}
.cfp-wrap .cfp-choice-main{display:flex;flex-direction:column;gap:3px}
.cfp-wrap .cfp-choice-price{font-size:11px;color:#8f6c22}
.cfp-wrap .cfp-price-total{margin-top:14px;padding:12px 14px;border:1px solid #dec98e;border-radius:12px;background:#fffaf0;display:flex;align-items:center;justify-content:space-between;gap:12px}

/* v1.9.3: dependent Iran province/city selects */
.cfp-wrap .cfp-form .cfp-city-select:disabled {
    cursor:not-allowed;
    opacity:.68;
    background:#f7f5f0;
}
@media (max-width: 820px) {
    .cfp-wrap .cfp-form .cfp-province-select,
    .cfp-wrap .cfp-form .cfp-city-select {
        width:100%;
        max-width:100%;
        min-width:0;
    }
}

.cfp-swatch-thumb{width:58px;height:58px;border-radius:12px;overflow:hidden;background:#f7f5ef;border:1px solid #e7e0d4;display:flex;align-items:center;justify-content:center}
.cfp-swatch-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cfp-swatch-placeholder{font-size:24px;color:#b7aa8d}.cfp-item-price{color:var(--cfp-gold-dark)!important;font-weight:700}.cfp-stock-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff4d6;color:#7a5711;font-size:11px;font-weight:800}.cfp-stock-note{font-size:10px!important;line-height:1.75;color:#735f37!important;max-width:190px}.cfp-swatch-option.is-backorder{background:#fffdf8;border-style:dashed}
@media(max-width:820px){.cfp-swatch-thumb{width:52px;height:52px}.cfp-stock-note{max-width:none}}
