/* USACANDY v2.2. Only etj-* classes are styled; theme typography is inherited. */
.etj-host { position:relative; }
.etj-image-wrap { display:block; width:100%; margin:0 0 1em; line-height:0; }
.etj-image-wrap > img, .etj-image-wrap > picture > img { display:block; margin:0 !important; width:100%; height:auto; }
.etj-overlay {
    --etj-scale:1; --etj-mobile-scale:.9; --etj-actual-scale:var(--etj-scale);
    display:block; position:absolute; inset:0; z-index:9; pointer-events:none;
    overflow:hidden; border-radius:inherit; line-height:1.15;
    container-name:etj-picture; container-type:size;
}
.etj-stack {
    --etj-actual-scale:var(--etj-scale,1);
    position:absolute; z-index:2; display:flex; flex-direction:column;
    gap:var(--etj-gap,6px); width:max-content; max-width:calc(100% - var(--etj-offset,8px) * 2);
    pointer-events:none; line-height:1.15; box-sizing:border-box;
}
.etj-stack--top-left { top:var(--etj-offset,8px); left:var(--etj-offset,8px); align-items:flex-start; }
.etj-stack--top-right { top:var(--etj-offset,8px); right:var(--etj-offset,8px); align-items:flex-end; }
.etj-stack--middle-right { top:50%; right:var(--etj-offset,8px); transform:translateY(-50%); align-items:flex-end; }
.etj-stack--bottom-left { bottom:var(--etj-offset,8px); left:var(--etj-offset,8px); align-items:flex-start; }
.etj-stack--bottom-right { bottom:var(--etj-offset,8px); right:var(--etj-offset,8px); align-items:flex-end; }
.etj-stack--corner-left { top:0; left:0; max-width:100%; }
/* A diagonal corner reserves the upper-left; other labels shift away from it. */
.etj-has-corner-left .etj-stack--top-left { top:calc(122px * var(--etj-actual-scale,1) + var(--etj-gap,6px)); }
.etj-badge {
    display:inline-flex; align-items:center; justify-content:center; gap:.5em;
    width:fit-content; max-width:100%; flex:0 0 auto; padding:.52em .83em;
    color:var(--etj-color,#fff); background:var(--etj-bg,#193b68);
    font-family:inherit; font-size:calc(var(--etj-font,11px) * var(--etj-actual-scale,1)); font-weight:800;
    line-height:1.15; letter-spacing:.015em; text-decoration:none; text-transform:none;
    text-align:center; white-space:normal; overflow-wrap:anywhere; word-break:normal;
    box-sizing:border-box; box-shadow:0 2px 7px rgb(0 0 0 / 10%);
}
.etj-badge--pill { border-radius:999px; }
.etj-badge--rounded { border-radius:7px; }
.etj-badge--square { border-radius:0; }
.etj-copy { display:flex; flex-direction:column; gap:.18em; min-width:0; }
.etj-label { display:block; font:inherit; color:inherit; line-height:1.12; }
.etj-subtitle { display:block; color:inherit; font-size:.8em; font-weight:800; letter-spacing:.07em; line-height:1.14; }
.etj-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:1.8em; height:1.8em; }
.etj-icon-svg { display:block !important; width:100% !important; height:100% !important; max-width:none; color:inherit; overflow:visible; }
.etj-badge.etj-uc {
    position:relative; isolation:isolate; gap:.58em; padding:.62em .88em .65em .65em;
    font-weight:850; letter-spacing:.035em; border:1.5px solid rgb(255 255 255 / 92%);
    background:linear-gradient(145deg,var(--etj-bg),var(--etj-accent,var(--etj-bg)));
    box-shadow:0 2px 0 rgb(17 34 59 / 20%),0 4px 10px rgb(17 34 59 / 13%);
}
.etj-uc .etj-icon { width:2.05em; height:2.05em; padding:.3em; box-sizing:border-box; border-radius:50%; background:rgb(255 255 255 / 13%); }
.etj-uc .etj-copy { text-align:left; }
.etj-badge.etj-badge--ribbon { border-radius:.82em .18em .18em .82em; padding-right:1.05em; border-right-width:3px; }
.etj-badge--ribbon::after { content:""; position:absolute; top:.45em; bottom:.45em; right:.32em; border-right:1px dotted currentColor; opacity:.45; }
.etj-badge.etj-badge--sticker { border-width:2px; border-radius:99px; padding-right:1em; }
.etj-badge.etj-badge--seal {
    width:7em; height:7em; padding:.8em; gap:.38em; flex-direction:column;
    border-radius:50%; border:3px double currentColor;
    box-shadow:0 0 0 3px #fff,0 4px 12px rgb(17 34 59 / 17%);
    background:radial-gradient(circle at 32% 24%,#fff4ca 0%,var(--etj-bg) 43%,var(--etj-accent) 100%);
}
.etj-badge--seal .etj-copy { text-align:center; }
.etj-badge--seal .etj-label { font-size:.9em; letter-spacing:.025em; }
.etj-badge--seal .etj-icon { width:2em; height:2em; padding:0; background:none; }
.etj-badge.etj-badge--corner {
    display:block; position:relative; width:10.8em; height:10.8em; padding:0;
    border:0; border-radius:0; background:transparent; box-shadow:none; overflow:hidden;
}
.etj-corner-band {
    display:flex; align-items:center; justify-content:center; gap:.28em; position:absolute;
    top:1.7em; left:-3.95em; width:16.8em; min-height:4.15em; padding:.42em 3.4em;
    box-sizing:border-box; transform:rotate(-45deg); color:var(--etj-color);
    background:linear-gradient(180deg,color-mix(in srgb, var(--etj-bg) 78%, white) 0%, var(--etj-bg) 52%, var(--etj-accent) 100%);
    border-top:1px solid rgba(255,255,255,.55); border-bottom:1px solid rgba(0,0,0,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 8px 18px rgba(0,0,0,.14);
}
.etj-corner-band::before,
.etj-corner-band::after {
    content:""; position:absolute; z-index:-1; background:linear-gradient(180deg, color-mix(in srgb, var(--etj-accent) 92%, black) 0%, var(--etj-accent) 100%);
}
.etj-corner-band::before {
    left:-.82em; bottom:-.72em; width:1.05em; height:2.7em;
    transform:skewY(18deg); border-bottom-left-radius:.16em;
    box-shadow:inset 1px 0 0 rgba(255,255,255,.08);
}
.etj-corner-band::after {
    right:-.02em; top:-.62em; width:2.9em; height:.92em;
    transform:skewX(-34deg); border-top-right-radius:.16em;
    box-shadow:inset 0 -1px 0 rgba(255,255,255,.1);
}
.etj-corner-band .etj-copy { text-align:center; align-items:center; justify-content:center; gap:.08em; width:100%; }
.etj-corner-band .etj-label,
.etj-corner-band .etj-subtitle {
    display:block; width:100%; text-align:center; color:inherit;
    font-weight:900; letter-spacing:.015em; text-shadow:0 1px 1px rgba(0,0,0,.16);
}
.etj-corner-band .etj-label { font-size:1.08em; line-height:1.02; }
.etj-corner-band .etj-subtitle { font-size:.82em; line-height:1.01; letter-spacing:.045em; }
.etj-corner-band .etj-icon { display:none; }
.etj-badge.etj-badge--image { padding:0; background:transparent; box-shadow:none; border:0; border-radius:0; width:calc(var(--etj-image-width,100px) * var(--etj-actual-scale,1)); }
.etj-badge.etj-badge--image > img.etj-badge-art {
    display:block !important; position:static !important; float:none !important;
    width:100% !important; max-width:100% !important; height:auto !important; max-height:none !important;
    margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
    box-shadow:none !important; opacity:1 !important; transform:none !important; object-fit:contain !important;
}
.etj-inline { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; line-height:1.2; }
.etj-fallback[hidden], .etj-fallback-layer[hidden] { display:none !important; }
.etj-fallback-layer { display:block; position:absolute; z-index:9; pointer-events:none; }
.etj-fallback-host { position:relative; }
@media (max-width:600px) { .etj-overlay .etj-stack { --etj-actual-scale:var(--etj-mobile-scale,.9); } }
@container etj-picture (max-width:220px) {
    .etj-stack { --etj-actual-scale:var(--etj-mobile-scale,.9); }
    .etj-badge.etj-uc { gap:.42em; padding:.42em .7em .46em .5em; }
    .etj-uc .etj-icon { width:1.85em; height:1.85em; }
    .etj-badge.etj-badge--corner { padding:0; font-size:calc(var(--etj-font,11px) * var(--etj-actual-scale,1) * 1.03); }
    .etj-badge.etj-badge--seal { padding:.7em; }
}
@media (forced-colors:active) {
    .etj-badge.etj-uc, .etj-corner-band { border:2px solid CanvasText; background:Canvas; color:CanvasText; box-shadow:none; }
}
@media print { .etj-overlay, .etj-fallback-layer { display:none; } }

/* 2.3: the approved double-stripe ribbon. It is vector artwork, not a tiny rotated label. */
.etj-overlay { --etj-ribbon-width:152px; --etj-ribbon-mobile:132px; }
.etj-stack.etj-fold-stack {
    --etj-ribbon-active:var(--etj-ribbon-width,152px);
    display:block; top:var(--etj-offset,0px); bottom:auto; gap:0;
    width:calc(var(--etj-ribbon-active) * var(--etj-ribbon-factor,1));
    max-width:calc(58% - var(--etj-offset,0px)); height:auto; transform:none;
}
.etj-stack--corner-left.etj-fold-stack { left:var(--etj-offset,0px); right:auto; }
.etj-stack--corner-right.etj-fold-stack { right:var(--etj-offset,0px); left:auto; }
.etj-badge.etj-badge--folded {
    display:block; position:relative; width:calc(164px * var(--etj-ribbon-factor,1)); max-width:100%;
    aspect-ratio:1; height:auto; margin:0; padding:0; border:0; border-radius:0;
    background:none; box-shadow:none; line-height:0; overflow:visible; isolation:isolate;
    color:var(--etj-color,#fff); pointer-events:none;
    filter:drop-shadow(1px 3px 3px rgb(8 22 43 / 12%));
}
.etj-fold-stack > .etj-badge--folded { width:100%; }
.etj-ribbon-svg { display:block !important; width:100% !important; height:auto !important; max-width:100%; overflow:visible; }
.etj-ribbon-svg text { font-family:Arial,Helvetica,sans-serif !important; font-weight:900 !important; letter-spacing:0; text-transform:none; }
/* Matching folded side labels for a second badge in the same corner / inline shortcodes. */
.etj-badge.etj-badge--ribbon {
    border:0; border-radius:5px 1px 1px 5px; padding:.64em .94em .70em;
    border-top:3px solid var(--etj-trim,#ff203c); border-bottom:3px solid var(--etj-trim,#ff203c);
    background:linear-gradient(155deg,var(--etj-bg),var(--etj-accent));
    box-shadow:0 3px 7px rgb(8 22 43 / 12%);
    font-family:Arial,Helvetica,sans-serif; font-weight:800;
}
.etj-badge--ribbon::after { display:none; }
.etj-badge--ribbon .etj-copy { text-align:center; }
.etj-has-corner-left .etj-stack--top-left,
.etj-has-corner-right .etj-stack--top-right { top:calc(var(--etj-ribbon-width,152px) + var(--etj-offset,0px) + var(--etj-gap,6px)); }
@supports (width:1cqw) {
    .etj-overlay .etj-fold-stack { width:min(calc(var(--etj-ribbon-active) * var(--etj-ribbon-factor,1)), 58cqw, 73cqh); }
}
@media (max-width:600px) {
    .etj-overlay .etj-fold-stack { --etj-ribbon-active:var(--etj-ribbon-mobile,132px); }
}
@container etj-picture (max-width:230px) {
    .etj-overlay .etj-fold-stack { --etj-ribbon-active:var(--etj-ribbon-mobile,132px); }
}
@media (forced-colors:active) {
    .etj-badge--folded { forced-color-adjust:none; filter:none; }
}
