/* DESIGN-RC15: Alternatif 4 -- one main carousel + separate, nonduplicated quick cards.
   Standalone semantic layer after RC14. Existing shop/dashboard/payment rules untouched. */
.bf-announcement-shell{min-width:0;position:relative;z-index:1}
.bf-announcement-shell--dashboard{width:100%;padding:clamp(14px,1.7vw,26px) clamp(14px,3.2vw,58px) 0}
.bf-announcement-shell--shop{width:100%;max-width:1440px;margin:auto;padding:22px 28px 0}
.bf-announcements{
  --bf-an-panel:var(--bf-surface);
  --bf-an-soft:var(--bf-soft);
  --bf-an-edge:var(--bf-border);
  --bf-an-ink:var(--bf-ink);
  --bf-an-muted:var(--bf-muted);
  background:var(--bf-an-panel);color:var(--bf-an-ink);border:1px solid var(--bf-an-edge);
  border-radius:20px;padding:clamp(15px,1.65vw,24px);box-shadow:var(--bf-shadow);min-width:0;
}
.bf-announcement-admin-empty{background:var(--bf-surface);border:1px dashed var(--bf-border);border-radius:12px;color:var(--bf-muted);padding:13px 17px;margin:0;font-size:12px}
.bf-announcement-admin-empty a{color:var(--bf-primary);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.bf-announcement-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px;min-width:0}
.bf-announcement-heading-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:11px;background:linear-gradient(145deg,#5e42c6,#a077f9);color:white;box-shadow:0 7px 20px rgba(98,68,200,.19)}
.bf-announcement-heading-icon svg{width:20px;height:20px}
.bf-announcement-heading-text{flex:1;min-width:0}
.bf-announcement-kicker{font-size:9px;letter-spacing:.18em;font-weight:850;color:var(--bf-primary);display:block;line-height:1.1;margin-bottom:2px}
.bf-announcement-heading h2{font-size:clamp(16px,1.3vw,20px);margin:0;line-height:1.25;letter-spacing:-.035em;font-weight:850;color:var(--bf-an-ink)}
.bf-announcement-heading p{margin:1px 0 0;font-size:11px;color:var(--bf-an-muted);line-height:1.45}
.bf-announcement-total{flex:none;display:grid;place-items:center;border-radius:9px;background:var(--bf-primary-tint);color:var(--bf-primary);min-width:29px;height:27px;padding:0 7px;font-size:11px;font-weight:850}
.bf-announcement-tabs{display:flex;flex-wrap:wrap;gap:7px;min-width:0;margin-bottom:13px}
.bf-announcement-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;border:1px solid var(--bf-an-edge);border-radius:10px;padding:7px 12px;cursor:pointer;background:var(--bf-an-soft);color:var(--bf-an-ink);font-weight:780;font-size:11px;line-height:1.25;transition:background-color .16s,border-color .16s}
.bf-announcement-tab svg{width:15px;height:15px;flex:none}
.bf-announcement-tab:hover,.bf-announcement-tab:focus-visible,.bf-announcement-tab.is-active{background:var(--bf-primary-tint);color:var(--bf-primary);border-color:var(--bf-primary)}
.bf-announcement-tab>span:last-child:not(:first-child){border-radius:6px;padding:2px 5px;background:rgba(129,103,210,.12);line-height:1.1;font-size:10px}
.bf-announcement-stage{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.9fr);gap:12px;min-width:0;align-items:stretch}
.bf-announcements:not(.has-quick) .bf-announcement-stage{grid-template-columns:minmax(0,1fr)}
.bf-announcement-main{min-width:0;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;position:relative;background:#3e2799}
.bf-announcement-slides{min-width:0;flex:1;display:flex;flex-direction:column}
.bf-announcement-slide{--bf-an-gradient-a:#37218a;--bf-an-gradient-b:#8551d7;--bf-an-gradient-c:#ab56d8;color:#fff;background:linear-gradient(114deg,var(--bf-an-gradient-a) 0%,var(--bf-an-gradient-b) 66%,var(--bf-an-gradient-c) 100%);padding:clamp(18px,2vw,31px);min-width:0;min-height:230px;flex:1;display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;isolation:isolate;overflow:hidden}
.bf-announcement-slide[hidden],.bf-announcement-quick[hidden],.bf-announcement-dot[hidden]{display:none!important}
.bf-announcement-slide--order{--bf-an-gradient-a:#084954;--bf-an-gradient-b:#117d7e;--bf-an-gradient-c:#439b95}
.bf-announcement-slide--system{--bf-an-gradient-a:#70412c;--bf-an-gradient-b:#a16a37;--bf-an-gradient-c:#c9894b}
.bf-announcement-slide--reminder{--bf-an-gradient-a:#243777;--bf-an-gradient-b:#5456c1;--bf-an-gradient-c:#8460ce}
.bf-announcement-slide::before{content:"";position:absolute;inset-inline-end:-10%;inset-block-end:-85%;width:75%;aspect-ratio:1;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 32px rgba(255,255,255,.035),0 0 0 65px rgba(255,255,255,.025);z-index:-1;pointer-events:none}
.bf-announcement-slide-content{z-index:1;min-width:0;max-width:min(560px,76%)}
.bf-announcement-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:11px}
.bf-announcement-badge{display:inline-flex;align-items:center;gap:5px;border-radius:30px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.16);color:white;padding:5px 9px;font-size:10px;font-weight:780;line-height:1.05}
.bf-announcement-badge svg{width:14px;height:14px;flex:none}
.bf-announcement-badge--high{background:#f4e5ff;color:#38235e;border-color:transparent}
.bf-announcement-slide h3{color:white;font-weight:860;font-size:clamp(19px,1.65vw,29px);letter-spacing:-.045em;margin:0 0 6px;line-height:1.23;overflow-wrap:anywhere}
.bf-announcement-slide .bf-announcement-description{color:#f6f3ff;font-size:clamp(11px,.93vw,14px);line-height:1.5;max-width:50ch;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.bf-announcement-until{color:#faf3ff;font-size:10px;margin:6px 0 11px;opacity:.91;letter-spacing:.01em}
.bf-announcement-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:38px;padding:8px 15px;background:#e3d7ff;color:#25174d;border:1px solid rgba(255,255,255,.25);border-radius:10px;font-size:11px;font-weight:850;max-width:100%;transition:transform .16s,background .16s}
.bf-announcement-cta:hover,.bf-announcement-cta:focus-visible{background:#fff;color:#1a123b;transform:translateY(-1px)}
.bf-announcement-art{display:grid;place-items:center;position:relative;isolation:isolate;width:clamp(95px,19%,175px);height:140px;flex:none;color:#fff;opacity:.95}
.bf-announcement-art svg{width:78%;height:78%;stroke-width:1.4;filter:drop-shadow(0 18px 15px rgba(20,9,65,.15));transform:rotate(-10deg)}
.bf-announcement-art-glow{position:absolute;inset:8%;background:radial-gradient(circle at 45% 45%,rgba(255,255,255,.22),transparent 69%);border-radius:50%;z-index:-1;filter:blur(2px)}
.bf-announcement-art .bf-announcement-thumbnail{width:100%;max-height:140px;height:auto;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(18,10,54,.24));border-radius:10px}
.bf-announcement-controls{display:flex;justify-content:center;align-items:center;gap:12px;padding:7px 14px;background:rgba(16,8,53,.18);color:#f7f0ff;min-height:39px}
.bf-announcement-controls-left{display:flex;align-items:center;gap:8px}
.bf-announcement-arrow,.bf-announcement-play{display:grid;place-items:center;flex:none;min-width:28px;height:27px;padding:0 7px;cursor:pointer;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.13);color:white;font-weight:800}
.bf-announcement-arrow span{font-size:22px;line-height:1}
.bf-announcement-arrow:disabled{opacity:.36;cursor:default}
.bf-announcement-arrow:not(:disabled):hover,.bf-announcement-play:hover{background:rgba(255,255,255,.32)}
.bf-announcement-dots{display:flex;gap:7px;align-items:center;justify-content:center}
.bf-announcement-dot{display:block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.43);border:0;cursor:pointer;padding:0;transition:transform .16s,background .16s}
.bf-announcement-dot.is-active{background:#fff;transform:scale(1.15)}
.bf-announcement-dot:hover{background:#fff}
.bf-announcement-play{position:absolute;inset-inline-end:12px;bottom:7px;font-size:12px}
.bf-announcement-quicklist{display:grid;grid-auto-rows:minmax(0,1fr);gap:12px;min-width:0}
.bf-announcement-quicklist:empty{display:none}
.bf-announcement-play[hidden]{display:none!important}
.bf-announcement-quick{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--bf-an-edge);border-radius:15px;padding:clamp(11px,1.1vw,17px);background:var(--bf-an-soft);min-width:0;min-height:123px}
.bf-announcement-quick--campaign{border-inline-start:3px solid #9873e9}
.bf-announcement-quick--order{border-inline-start:3px solid #32b99d}
.bf-announcement-quick--system{border-inline-start:3px solid #da974e}
.bf-announcement-quick--reminder{border-inline-start:3px solid #709fea}
.bf-announcement-quick-icon{width:37px;height:37px;display:grid;place-items:center;flex:none;border-radius:12px;color:var(--bf-primary);background:var(--bf-primary-tint)}
.bf-announcement-quick--order .bf-announcement-quick-icon{color:#087c6b;background:rgba(19,179,157,.12)}
.bf-announcement-quick--system .bf-announcement-quick-icon{color:#b1711d;background:rgba(217,145,68,.16)}
.bf-announcement-quick--reminder .bf-announcement-quick-icon{color:#6285d7;background:rgba(93,137,233,.14)}
.bf-announcement-quick-icon svg{width:20px;height:20px}
.bf-announcement-quick-body{min-width:0;flex:1}
.bf-announcement-quick-type{display:inline-block;font-size:10px;color:var(--bf-primary);font-weight:850;margin-bottom:2px}
.bf-announcement-quick h3{font-size:clamp(12px,.99vw,15px);font-weight:850;line-height:1.34;margin:0 0 4px;color:var(--bf-an-ink);overflow-wrap:anywhere}
.bf-announcement-quick p{font-size:11px;margin:0;color:var(--bf-an-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.bf-announcement-quick-pick{border:none;background:none;padding:5px 0 1px;min-height:26px;color:var(--bf-primary);font-size:10px;font-weight:850;text-align:start;cursor:pointer}
.bf-announcement-quick-pick:hover{text-decoration:underline;text-underline-offset:3px}
.bf-announcements--compact .bf-announcement-slide{min-height:173px;padding:16px 20px}
.bf-announcements--compact .bf-announcement-quick{min-height:98px;padding:10px}
.bf-announcements--compact .bf-announcement-heading{margin-bottom:10px}
.bf-announcements--compact .bf-announcement-tabs{margin-bottom:10px}
.bf-announcements :is(a,button):focus-visible{outline:3px solid var(--bf-primary);outline-offset:3px}
.bf-announcement-slide :is(a,button):focus-visible,.bf-announcement-controls button:focus-visible{outline:3px solid white;outline-offset:3px}
/* Light/Dim/Night modes all inherit readable semantic tokens from RC13. */
html[data-bf-theme="dark"] .bf-announcement-quick,html[data-bf-theme="dim"] .bf-announcement-quick{background:var(--bf-soft)}
html[data-bf-theme="dark"] .bf-announcement-quick--order .bf-announcement-quick-icon,html[data-bf-theme="dim"] .bf-announcement-quick--order .bf-announcement-quick-icon{color:#78f0d9}
html[data-bf-theme="dark"] .bf-announcement-quick--system .bf-announcement-quick-icon,html[data-bf-theme="dim"] .bf-announcement-quick--system .bf-announcement-quick-icon{color:#ffd39a}
html[data-bf-theme="dark"] .bf-announcement-quick--reminder .bf-announcement-quick-icon,html[data-bf-theme="dim"] .bf-announcement-quick--reminder .bf-announcement-quick-icon{color:#b9d2ff}
html[dir=rtl] .bf-announcement-cta span[aria-hidden="true"],html[dir=rtl] .bf-announcement-quick-pick span[aria-hidden="true"]{display:inline-block;transform:scaleX(-1)}
@media(max-width:1050px){
  .bf-announcement-stage{grid-template-columns:minmax(0,1.55fr) minmax(210px,.92fr)}
  .bf-announcement-art{width:100px;height:116px}
  .bf-announcement-slide-content{max-width:78%}
}
@media(max-width:780px){
  .bf-announcement-stage{grid-template-columns:minmax(0,1fr)}
  .bf-announcement-quicklist{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:9px}
  .bf-announcement-slide{min-height:210px}
  .bf-announcements--compact .bf-announcement-slide{min-height:185px}
  .bf-announcement-shell--shop{padding:15px 17px 0}
}
@media(max-width:520px){
  .bf-announcement-shell--dashboard{padding:13px 13px 0}
  .bf-announcement-shell--shop{padding:13px 13px 0}
  .bf-announcements{padding:13px;border-radius:16px}
  .bf-announcement-heading{gap:9px;margin-bottom:11px}
  .bf-announcement-heading-icon{width:35px;height:35px}
  .bf-announcement-heading h2{font-size:16px}
  .bf-announcement-heading p{font-size:10px}
  .bf-announcement-tabs{gap:5px;margin-bottom:10px}
  .bf-announcement-tab{font-size:10px;padding:6px 8px;min-height:35px;gap:5px}
  .bf-announcement-tab svg{width:13px;height:13px}
  .bf-announcement-slide{min-height:220px;padding:19px 17px;gap:6px}
  .bf-announcement-slide-content{max-width:calc(100% - 72px)}
  .bf-announcement-slide h3{font-size:20px;line-height:1.2}
  .bf-announcement-slide .bf-announcement-description{font-size:11px;-webkit-line-clamp:3}
  .bf-announcement-art{width:76px;height:100px;align-self:center;margin-inline-end:-13px}
  .bf-announcement-art svg{width:90%;height:90%}
  .bf-announcement-badge{font-size:9px;padding:4px 7px}
  .bf-announcement-cta{font-size:10px;min-height:37px;padding:8px 11px}
  .bf-announcement-quicklist{grid-template-columns:minmax(0,1fr)}
  .bf-announcement-quick{min-height:91px;padding:11px}
  .bf-announcement-quick p{-webkit-line-clamp:1}
  .bf-announcement-play{inset-inline-end:9px}
}
@media(max-width:370px){
  .bf-announcement-slide-content{max-width:calc(100% - 53px)}
  .bf-announcement-art{width:57px;height:75px}
  .bf-announcement-slide h3{font-size:18px}
  .bf-announcement-heading p{display:none}
  .bf-announcement-tab{padding:6px}
}
@media(prefers-reduced-motion:reduce){
  .bf-announcements *, .bf-announcements *::before,.bf-announcements *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
  .bf-announcement-slide{border:2px solid CanvasText}
  .bf-announcement-cta,.bf-announcement-badge{border:1px solid CanvasText}
}
