.alkom-cake-form { width:100%; max-width:100%; flex:1 1 100%; display:block; }
.alkom-cake { --pink:#F28CA5; --dark:#5a2929; width:100%; margin: 0 0 20px; font-family: "Open Sans", sans-serif; }

.alkom-cake__boxes { display:flex; gap:14px; margin-bottom:26px; flex-wrap:nowrap; }
.alkom-cake__box { flex:1 1 0; min-width:0; border:1px solid #f0d4dc; border-radius:10px; padding:8px 14px;
    display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
.alkom-cake__box-label { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#9a8a8a; margin:0; white-space:nowrap; }
.alkom-cake__box-val { font-size:16px; font-weight:600; color:var(--dark); white-space:nowrap; }

.alkom-cake__section-label { display:block; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:#9a8a8a; margin-bottom:12px; }

.alkom-cake__tiers { margin-bottom:24px; }
.alkom-cake__tier-options { display:flex; gap:10px; flex-wrap:wrap; }
.alkom-cake__tier { flex:1 1 70px; border:1px solid #f0d4dc; border-radius:10px; padding:9px 6px; text-align:center; cursor:pointer; transition:.18s; position:relative; }
.alkom-cake__tier input { position:absolute; opacity:0; pointer-events:none; }
.alkom-cake__tier.is-active { border-color:var(--pink); background:#fbeef2; }
.alkom-cake__tier-icon { display:flex; flex-direction:column-reverse; align-items:center; gap:2px; height:46px; justify-content:flex-start; margin-bottom:6px; }
.alkom-cake__tier-icon i { display:block; background:var(--pink); border-radius:2px; }
.alkom-cake__tier-icon i:nth-child(1){ width:30px; height:11px; }
.alkom-cake__tier-icon i:nth-child(2){ width:24px; height:10px; }
.alkom-cake__tier-icon i:nth-child(3){ width:19px; height:9px; }
.alkom-cake__tier-icon i:nth-child(4){ width:14px; height:8px; }
.alkom-cake__tier-name { font-size:13px; color:var(--dark); font-weight:500; }

.alkom-cake__flavors { display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
.alkom-cake__flavor-sel { width:100%; height:36px; border:1px solid #e6cdd5; border-radius:8px; padding:0 14px; font-size:14px !important; color:var(--dark); background:#fff; }

/* Brojevi spratova uz ikonicu selektovane veličine (1 = dole, kao slojevi torte) */
.alkom-cake__tier.is-active .alkom-cake__tier-icon { counter-reset: skn-layer; }
.alkom-cake__tier.is-active .alkom-cake__tier-icon i { position:relative; counter-increment: skn-layer; }
.alkom-cake__tier.is-active .alkom-cake__tier-icon i::after {
    content: counter(skn-layer, upper-roman);
    position:absolute; left:calc(50% + 34px); top:50%; transform:translate(-50%, -50%);
    font-size:10px; line-height:1; font-weight:400; font-style:normal; color:var(--dark); text-align:center;
}

.alkom-cake__weight { margin-bottom:8px; }
.alkom-cake__slider { width:100%; -webkit-appearance:none !important; appearance:none !important; height:8px !important; min-height:0 !important;
    border:0 !important; border-radius:6px !important; background:#fbe3ea !important; outline:none; padding:0 !important; margin:0; }
.alkom-cake__slider::-webkit-slider-thumb { -webkit-appearance:none; width:44px; height:18px; border-radius:5px; background:var(--pink); cursor:pointer; }
.alkom-cake__slider::-moz-range-thumb { width:44px; height:18px; border:0; border-radius:5px; background:var(--pink); cursor:pointer; }
.alkom-cake__weight-minmax { display:flex; justify-content:space-between; font-size:13px; color:#9a8a8a; margin-top:6px; }

.alkom-cake__stats { display:flex; gap:14px; margin:18px 0; }
.alkom-cake__stat { flex:1; border:1px solid #f0d4dc; border-radius:10px; padding:8px 14px;
    display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
.alkom-cake__stat-label { font-size:11px; color:#9a8a8a; text-transform:uppercase; letter-spacing:1px; margin:0; white-space:nowrap; }
.alkom-cake__stat-val { font-size:16px; color:var(--dark); white-space:nowrap; }
.alkom-cake__stat-val b { font-size:18px; }

.alkom-cake__buy { display:flex; gap:14px; align-items:stretch; margin-bottom:6px; }
.alkom-cake__price { flex:1 1 0; min-width:0; border:1px solid var(--pink); border-radius:10px; padding:0 18px;
    display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
.alkom-cake__price-label { font-size:12px; color:#9a8a8a; text-transform:uppercase; letter-spacing:1px; margin:0; white-space:nowrap; }
.alkom-cake__price-val { font-size:18px; color:var(--pink); font-weight:600; white-space:nowrap; }
.alkom-cake__price-val b { font-size:24px; }
.alkom-cake__price-note { display:block; font-size:11px; color:#9a8a8a; margin:0 0 18px 2px; }

.alkom-cake__buy .alkom-cake-submit { flex:1 1 0 !important; width:auto !important; min-width:0 !important; max-width:none !important;
    margin:0 !important; border:0 !important; border-radius:10px !important; background:var(--pink); color:#fff !important;
    font-size:16px; font-weight:600; letter-spacing:.3px; cursor:pointer; transition:.18s; padding:14px 18px !important;
    display:flex; align-items:center; justify-content:center; gap:8px; text-align:center; text-decoration:none !important; }
.alkom-cake__buy .alkom-cake-submit:hover { background:#e96f8c; color:#fff !important; }
.alkom-cake-submit .alkom-call-ico { width:24px; height:24px; flex:0 0 auto; }

@media (max-width:600px){
    /* Boksovi i statistike: labela gore, vrednost dole (da "Po dogovoru" ne izlazi iz okvira) */
    .alkom-cake__boxes { flex-wrap:wrap; }
    .alkom-cake__box { flex:1 1 45%; flex-direction:column; align-items:flex-start; justify-content:center; gap:2px; padding:8px 12px; }
    .alkom-cake__box-label, .alkom-cake__box-val { white-space:normal; }
    .alkom-cake__stat { flex-direction:column; align-items:flex-start; gap:2px; }
    .alkom-cake__stat-label, .alkom-cake__stat-val { white-space:normal; }
    .alkom-cake__price { flex-direction:column; align-items:flex-start; gap:2px; justify-content:center; }
    .alkom-cake__price-label, .alkom-cake__price-val { white-space:normal; }
}

/* ===== Padajuca lista ukusa sa slikom preseka ===== */
/* Native <select> ne prikazuje slike u <option>, pa je zamenjen svojom listom.
   Skriveni input `.alkom-cake__flavor-sel` nosi vrednost, kao i raniji <select>. */
.alkom-flavor { position:relative; }

.alkom-flavor__toggle { display:flex; align-items:center; gap:10px; width:100%; min-height:44px;
    border:1px solid #e6cdd5; border-radius:8px; padding:5px 12px; background:#fff; cursor:pointer;
    text-align:left; font-family:inherit; font-size:14px; color:#9a8a8a; transition:border-color .18s, box-shadow .18s; }
.alkom-flavor__toggle:hover { border-color:var(--pink); }
.alkom-flavor__toggle:focus-visible { outline:none; border-color:var(--pink); box-shadow:0 0 0 3px rgba(242,140,165,.22); }
.alkom-flavor.is-filled .alkom-flavor__toggle { color:var(--dark); font-weight:500; }
.alkom-flavor.is-open .alkom-flavor__toggle { border-color:var(--pink); border-bottom-left-radius:0; border-bottom-right-radius:0; }

.alkom-flavor__thumb { flex:0 0 auto; width:0; height:32px; border-radius:50%; background-size:cover;
    background-position:center; transition:width .18s; }
.alkom-flavor__thumb.has-img { width:32px; box-shadow:0 0 0 1px #f0d4dc; }

.alkom-flavor__label { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.alkom-flavor__arrow { flex:0 0 auto; width:9px; height:9px; margin-left:4px; border-right:2px solid #b9a3a3;
    border-bottom:2px solid #b9a3a3; transform:rotate(45deg) translateY(-2px); transition:transform .18s; }
.alkom-flavor.is-open .alkom-flavor__arrow { transform:rotate(-135deg) translateY(-2px); }

.alkom-flavor__list { position:absolute; z-index:30; left:0; right:0; top:100%; margin:0; padding:0; list-style:none;
    max-height:340px; overflow-y:auto; background:#fff; border:1px solid var(--pink); border-top:0;
    border-radius:0 0 8px 8px; box-shadow:0 12px 28px rgba(90,41,41,.13); overscroll-behavior:contain; }
.alkom-flavor__list[hidden] { display:none; }

.alkom-flavor__opt { display:flex; align-items:center; gap:12px; padding:9px 10px; margin:3px 6px; cursor:pointer;
    background:#fff; border-radius:12px; box-shadow:inset 0 0 0 1px transparent; transition:box-shadow .14s; }
/* Hover i izbor se oznacavaju roze okvirom -- pozadina ostaje bela, da se ne
   vidi razlika prema beloj pozadini same slike preseka. */
.alkom-flavor__opt:hover,
.alkom-flavor__opt:focus { outline:none; box-shadow:inset 0 0 0 2px var(--pink); }
.alkom-flavor__opt.is-selected { box-shadow:inset 0 0 0 2px var(--pink); }

.alkom-flavor__opt-img { flex:0 0 auto; width:52px; height:52px; border-radius:50%; object-fit:cover;
    background:#f7ecef; box-shadow:0 0 0 1px #f0d4dc; }
.alkom-flavor__opt-img.is-empty { display:block; }

.alkom-flavor__opt-text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.alkom-flavor__opt-name { font-size:14px; font-weight:600; color:var(--dark); line-height:1.3; }
.alkom-flavor__opt-desc { font-size:12px; line-height:1.4; color:#8d7b7b;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

@media (max-width: 767px) {
    .alkom-flavor__list { max-height:60vh; }
    .alkom-flavor__opt { padding:10px; gap:10px; }
    .alkom-flavor__opt-img { width:46px; height:46px; }
    .alkom-flavor__opt-desc { -webkit-line-clamp:3; }
}
