/* ═══ Boutique Wizard ═══ */
.bw-container { max-width:900px; margin:0 auto; padding:2rem 0; }

/* ── Buttons (Bringer style: dark bg, white border) ── */
.bw-container button,
.bw-container .bw-btn,
.bw-container .bw-btn-outline { font-family:inherit; line-height:1.4; letter-spacing:0; }

.bw-btn,
button.bw-btn {
    display:inline-flex !important; align-items:center; gap:.5rem;
    padding:.7rem 1.5rem;
    background:rgba(255,255,255,.05) !important;
    border:1px solid rgba(255,255,255,.25) !important;
    border-radius:8px;
    color:#fff !important;
    font-size:.9rem; font-weight:600;
    cursor:pointer;
    transition:all .25s ease;
    text-decoration:none !important;
    white-space:nowrap;
}
.bw-btn:hover,
button.bw-btn:hover {
    background:rgba(255,255,255,.12) !important;
    border-color:rgba(255,255,255,.5) !important;
    color:#fff !important;
}
.bw-btn:disabled { opacity:.4; cursor:not-allowed; }
.bw-btn-outline,
button.bw-btn-outline {
    display:inline-flex !important; align-items:center; gap:.5rem;
    padding:.7rem 1.5rem;
    background:transparent !important;
    border:1px solid rgba(255,255,255,.15) !important;
    border-radius:8px;
    color:rgba(255,255,255,.6) !important;
    font-size:.9rem; font-weight:500;
    cursor:pointer;
    transition:all .25s ease;
}
.bw-btn-outline:hover,
button.bw-btn-outline:hover {
    border-color:rgba(255,255,255,.4) !important;
    color:#fff !important;
}

/* ── Progress ── */
.bw-progress { margin-bottom:2.5rem; }
.bw-steps { display:flex; align-items:center; justify-content:center; gap:0; }
.bw-step { display:flex; flex-direction:column; align-items:center; gap:.4rem; position:relative; z-index:1; }
.bw-step-dot { width:40px; height:40px; border-radius:50%; border:2px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:1rem; color:rgba(255,255,255,.4); transition:all .3s ease; background:rgba(0,0,0,.3); }
.bw-step.active .bw-step-dot { border-color:var(--color-accent); color:var(--color-accent); box-shadow:0 0 20px rgba(var(--color-accent-rgb,255,200,0),.2); }
.bw-step.completed .bw-step-dot { background:var(--color-accent); border-color:var(--color-accent); color:#000; }
.bw-step-label { font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; opacity:.4; white-space:nowrap; }
.bw-step.active .bw-step-label, .bw-step.completed .bw-step-label { opacity:.8; }
.bw-step-line { flex:1; height:2px; background:rgba(255,255,255,.1); min-width:40px; max-width:80px; margin:0 .5rem; margin-bottom:1.2rem; transition:background .3s; }
.bw-step-line.completed { background:var(--color-accent); }

/* ── Alerts ── */
.bw-alert { display:flex; align-items:center; gap:.75rem; padding:.85rem 1.25rem; border-radius:10px; margin-bottom:1.5rem; font-size:.9rem; }
.bw-alert-error { background:rgba(220,53,69,.15); border:1px solid rgba(220,53,69,.3); }
.bw-alert-success { background:rgba(40,167,69,.15); border:1px solid rgba(40,167,69,.3); }
.bw-alert-close { background:none; border:none; color:inherit; cursor:pointer; font-size:1.2rem; opacity:.6; margin-left:auto; }

/* ── Step content ── */
.bw-step-header { text-align:center; margin-bottom:2rem; }
.bw-step-header h3 { margin-bottom:.3rem; }

/* ── Template grid ── */
.bw-template-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-bottom:2rem; }
@media(max-width:768px){ .bw-template-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .bw-template-grid { grid-template-columns:1fr; } }

.bw-template-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:12px; overflow:hidden; cursor:pointer; transition:all .25s ease; position:relative; }
.bw-template-card:hover { border-color:rgba(255,255,255,.2); transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,0,0,.3); }
.bw-template-card.selected { border-color:var(--color-accent); box-shadow:0 0 0 1px var(--color-accent),0 8px 30px rgba(var(--color-accent-rgb,255,200,0),.15); }
.bw-template-card.featured { border-color:rgba(var(--color-accent-rgb,255,200,0),.2); }

.bw-badge-popular { position:absolute; top:.75rem; right:.75rem; z-index:2; background:var(--color-accent); color:#000; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:.2rem .55rem; border-radius:20px; }

.bw-template-thumb { aspect-ratio:16/9; overflow:hidden; background:rgba(255,255,255,.02); }
.bw-template-thumb img { width:100%; height:100%; object-fit:cover; }
.bw-template-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2rem; opacity:.15; }

.bw-template-info { padding:1rem 1.15rem 1.15rem; }
.bw-template-info h5 { margin-bottom:.25rem; font-size:.95rem; }
.bw-template-info p { font-size:.8rem; opacity:.55; margin-bottom:.75rem; line-height:1.5; }
.bw-template-price { display:flex; align-items:baseline; gap:.2rem; }
.bw-price { font-size:1.15rem; font-weight:800; color:var(--color-accent); }
.bw-freq { font-size:.75rem; opacity:.45; }

/* ── Selected template view (replaces grid) ── */
.bw-selected-view { animation:bwFadeIn .3s ease; }
@keyframes bwFadeIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

.bw-btn-back {
    display:inline-flex; align-items:center; gap:.4rem;
    background:none; border:none;
    color:rgba(255,255,255,.5);
    font-size:.85rem; cursor:pointer;
    margin-bottom:1.5rem;
    transition:color .2s;
    padding:0;
}
.bw-btn-back:hover { color:#fff; }

.bw-selected-hero {
    display:flex; align-items:center; gap:1.5rem;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    overflow:hidden;
    margin-bottom:.5rem;
}
.bw-selected-thumb { width:220px; flex-shrink:0; aspect-ratio:16/9; overflow:hidden; background:rgba(255,255,255,.02); }
.bw-selected-thumb img { width:100%; height:100%; object-fit:cover; }
.bw-selected-info { padding:1.25rem 1.5rem 1.25rem 0; }
.bw-selected-info h3 { margin-bottom:.4rem; font-size:1.3rem; }
@media(max-width:600px){
    .bw-selected-hero { flex-direction:column; }
    .bw-selected-thumb { width:100%; }
    .bw-selected-info { padding:1rem 1.25rem 1.25rem; }
}

/* ── Plan selector ── */
.bw-plan-options { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.bw-plan-option { flex:1; min-width:200px; max-width:280px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:1.25rem; cursor:pointer; transition:all .2s; position:relative; text-align:left; }
.bw-plan-option:hover { border-color:rgba(255,255,255,.25); }
.bw-plan-option.selected { border-color:var(--color-accent); background:rgba(var(--color-accent-rgb,255,200,0),.05); }
.bw-plan-badge { position:absolute; top:-.6rem; right:1rem; background:var(--color-accent); color:#000; font-size:.65rem; font-weight:800; padding:.15rem .5rem; border-radius:10px; text-transform:uppercase; }
.bw-plan-name { font-weight:600; margin-bottom:.4rem; }
.bw-plan-price { font-size:1.3rem; font-weight:800; color:var(--color-accent); }
.bw-plan-price span { font-size:.75rem; font-weight:400; opacity:.5; }
.bw-plan-setup { font-size:.78rem; opacity:.5; margin-top:.2rem; }
.bw-plan-features { list-style:none; padding:0; margin:.75rem 0 0; }
.bw-plan-features li { font-size:.8rem; opacity:.6; padding:.15rem 0; display:flex; align-items:center; gap:.4rem; }
.bw-plan-features li i { color:var(--color-accent); font-size:.85rem; }

/* ── Domain search ── */
.bw-domain-search { margin-bottom:1.5rem; }
.bw-search-form { display:flex; gap:.75rem; }
.bw-search-input { flex:1; padding:.85rem 1.25rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:10px; color:inherit; font-size:1rem; outline:none; transition:border-color .2s; }
.bw-search-input:focus { border-color:var(--color-accent); }
.bw-domain-results { display:flex; flex-direction:column; gap:.75rem; margin-bottom:1.5rem; }
.bw-domain-result { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:10px; gap:1rem; flex-wrap:wrap; }
.bw-domain-result.selected { border-color:var(--color-accent); background:rgba(var(--color-accent-rgb,255,200,0),.05); }
.bw-domain-result.unavailable { opacity:.5; }
.bw-domain-name { display:flex; align-items:center; gap:.75rem; }
.bw-badge-free { background:rgba(40,167,69,.2); color:#28a745; font-size:.7rem; font-weight:700; padding:.15rem .5rem; border-radius:6px; text-transform:uppercase; }
.bw-badge-taken { background:rgba(220,53,69,.2); color:#dc3545; font-size:.7rem; font-weight:700; padding:.15rem .5rem; border-radius:6px; }
.bw-domain-pricing { display:flex; align-items:center; gap:.5rem; }
.bw-price-original { text-decoration:line-through; opacity:.4; font-size:.85rem; }
.bw-price-free { font-weight:800; color:var(--color-accent); }
.bw-btn-selected { background:rgba(var(--color-accent-rgb,255,200,0),.15); border:1px solid var(--color-accent); color:var(--color-accent); padding:.4rem 1rem; border-radius:8px; font-size:.85rem; font-weight:600; display:flex; align-items:center; gap:.3rem; }
.bw-domain-selected { display:flex; align-items:center; gap:.75rem; padding:.85rem 1.15rem; background:rgba(var(--color-accent-rgb,255,200,0),.05); border:1px solid rgba(var(--color-accent-rgb,255,200,0),.2); border-radius:10px; margin-bottom:1.5rem; font-size:.9rem; }

/* ── Register form ── */
.bw-register-form { max-width:600px; margin:0 auto; }
.bw-form-row { display:flex; gap:1rem; margin-bottom:1rem; }
@media(max-width:600px){ .bw-form-row { flex-direction:column; } }
.bw-form-group { flex:1; }
.bw-form-group label { display:block; font-size:.82rem; opacity:.7; margin-bottom:.35rem; }
.bw-input { width:100%; padding:.75rem 1rem; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:8px; color:inherit; font-size:.92rem; outline:none; transition:border-color .2s; }
.bw-input:focus { border-color:var(--color-accent); }
.bw-error { color:#dc3545; font-size:.78rem; margin-top:.25rem; display:block; }
.bw-form-note { display:flex; align-items:center; gap:.5rem; font-size:.82rem; opacity:.45; margin-top:1rem; }

/* ── Recap ── */
.bw-recap { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:1.5rem; margin-bottom:2rem; }
.bw-recap-item { display:flex; align-items:center; gap:1rem; padding:.85rem 0; }
.bw-recap-item + .bw-recap-item { border-top:1px solid rgba(255,255,255,.05); }
.bw-recap-sub { padding:.5rem 0 .85rem; opacity:.7; }
.bw-recap-icon { width:38px; height:38px; border-radius:10px; background:rgba(var(--color-accent-rgb,255,200,0),.1); display:flex; align-items:center; justify-content:center; color:var(--color-accent); font-size:1.1rem; flex-shrink:0; }
.bw-recap-details { flex:1; }
.bw-recap-details strong { display:block; font-size:.95rem; }
.bw-recap-plan { font-size:.8rem; opacity:.5; }
.bw-recap-price { text-align:right; font-weight:700; white-space:nowrap; }
.bw-recap-price small { font-weight:400; opacity:.5; }
.bw-recap-divider { height:1px; background:rgba(255,255,255,.1); margin:.5rem 0; }
.bw-recap-total { display:flex; justify-content:space-between; align-items:center; padding-top:.75rem; font-size:1.05rem; }

/* ── Navigation ── */
.bw-nav { display:flex; justify-content:space-between; align-items:center; margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.06); }
.bw-btn-skip { background:none; border:none; color:rgba(255,255,255,.5); cursor:pointer; font-size:.85rem; text-decoration:underline; text-underline-offset:3px; transition:color .2s; }
.bw-btn-skip:hover { color:rgba(255,255,255,.8); }
.bw-empty { text-align:center; padding:3rem; opacity:.5; }
