/* AFCMall v1.2.3 — Premium badge visual repair and expanded presets */
.pp-badges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:20px 0 6px;
  align-items:stretch;
}
.pp-premium-badge{
  --badge-bg:linear-gradient(135deg,#c9a227 0%,#7f5b12 100%);
  --badge-text:#fff;
  --badge-border:rgba(255,231,160,.7);
  --badge-icon:#fff3c2;
  --badge-shadow:0 14px 30px rgba(0,0,0,.18);
  --badge-radius:18px;
  --badge-icon-bg:rgba(255,255,255,.12);
  --badge-icon-border:rgba(255,255,255,.18);
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  gap:11px;
  min-height:54px;
  max-width:100%;
  padding:9px 16px 9px 10px;
  border:1px solid var(--badge-border);
  border-radius:var(--badge-radius);
  background:var(--badge-bg);
  color:var(--badge-text);
  box-shadow:var(--badge-shadow),inset 0 1px 0 rgba(255,255,255,.2);
  text-decoration:none;
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,filter .28s ease;
}
.pp-premium-badge::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-2;
  opacity:.72;
  background:var(--badge-bg);
}
.pp-premium-badge::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-70%;
  left:-45%;
  width:38%;
  height:240%;
  transform:rotate(24deg) translateX(-260%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transition:transform .85s cubic-bezier(.2,.7,.2,1);
}
.pp-premium-badge:hover{
  transform:translateY(-4px) scale(1.018);
  box-shadow:0 22px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.25);
  filter:saturate(1.08);
}
.pp-premium-badge:hover::after{transform:rotate(24deg) translateX(600%)}
.pp-premium-badge-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:1px solid var(--badge-icon-border);
  border-radius:12px;
  background:var(--badge-icon-bg);
  color:var(--badge-icon);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 6px 16px rgba(0,0,0,.12);
}
.pp-premium-badge-icon svg,.pp-premium-badge-icon img{width:22px;height:22px;object-fit:contain;display:block}
.pp-premium-badge-copy{display:grid;min-width:0;line-height:1.1}
.pp-premium-badge-copy strong{font-size:12px;font-weight:800;letter-spacing:.035em;white-space:normal}
.pp-premium-badge-copy small{margin-top:4px;font-size:10px;line-height:1.35;opacity:.78;white-space:normal}

/* A. Gold Luxury — warm metallic pill */
.pp-badge-gold{
  --badge-bg:linear-gradient(135deg,#f3d77a 0%,#c79a27 34%,#805611 72%,#d5ad43 100%);
  --badge-text:#241705;
  --badge-border:rgba(255,239,177,.95);
  --badge-icon:#402708;
  --badge-icon-bg:linear-gradient(145deg,rgba(255,255,255,.64),rgba(255,255,255,.14));
  --badge-icon-border:rgba(255,248,204,.84);
  --badge-shadow:0 14px 30px rgba(112,73,10,.34),0 0 0 1px rgba(255,225,127,.18);
  --badge-radius:999px;
}
.pp-badge-gold .pp-premium-badge-icon{border-radius:50%}

/* B. Teal Glass — frosted capsule */
.pp-badge-teal{
  --badge-bg:linear-gradient(130deg,rgba(15,122,128,.86),rgba(55,216,201,.46),rgba(5,57,69,.9));
  --badge-text:#f4ffff;
  --badge-border:rgba(147,255,240,.55);
  --badge-icon:#bafff6;
  --badge-icon-bg:rgba(225,255,252,.12);
  --badge-icon-border:rgba(178,255,246,.38);
  --badge-shadow:0 16px 34px rgba(0,82,89,.32),0 0 28px rgba(51,224,205,.12);
  --badge-radius:20px;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.pp-badge-teal .pp-premium-badge-icon{border-radius:10px 18px 10px 18px}

/* C. Sapphire — faceted gem */
.pp-badge-sapphire{
  --badge-bg:linear-gradient(145deg,#86b7ff 0%,#2457c7 28%,#102d75 70%,#4d83ec 100%);
  --badge-text:#fff;
  --badge-border:rgba(179,210,255,.8);
  --badge-icon:#e1edff;
  --badge-icon-bg:rgba(255,255,255,.12);
  --badge-icon-border:rgba(208,226,255,.44);
  --badge-shadow:0 18px 36px rgba(12,45,112,.38),0 0 24px rgba(80,135,246,.18);
  --badge-radius:0;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%);
  padding-left:16px;
  padding-right:20px;
}
.pp-badge-sapphire .pp-premium-badge-icon{transform:rotate(45deg);border-radius:8px}
.pp-badge-sapphire .pp-premium-badge-icon>*{transform:rotate(-45deg)}

/* D. Emerald — refined card with left accent */
.pp-badge-emerald{
  --badge-bg:linear-gradient(135deg,#0c7650 0%,#15966a 48%,#073d2e 100%);
  --badge-text:#f5fff9;
  --badge-border:rgba(119,238,176,.55);
  --badge-icon:#c0ffe0;
  --badge-icon-bg:rgba(222,255,238,.11);
  --badge-icon-border:rgba(175,255,214,.36);
  --badge-shadow:0 16px 32px rgba(3,85,55,.3);
  --badge-radius:14px 28px 14px 28px;
  border-left-width:4px;
}
.pp-badge-emerald .pp-premium-badge-icon{border-radius:50% 50% 50% 12px}

/* E. Plum Aura — asymmetric luxury */
.pp-badge-plum{
  --badge-bg:radial-gradient(circle at 15% 10%,rgba(238,183,255,.32),transparent 32%),linear-gradient(135deg,#7e348f,#3f174e 68%,#a15fb0);
  --badge-text:#fff7ff;
  --badge-border:rgba(228,176,244,.58);
  --badge-icon:#f2c9ff;
  --badge-icon-bg:rgba(255,255,255,.1);
  --badge-icon-border:rgba(246,207,255,.32);
  --badge-shadow:0 18px 38px rgba(91,32,107,.36),0 0 28px rgba(194,100,218,.12);
  --badge-radius:30px 12px 30px 12px;
}
.pp-badge-plum .pp-premium-badge-icon{border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.05),inset 0 1px rgba(255,255,255,.18)}

/* F. Pearl Light — bright premium */
.pp-badge-pearl{
  --badge-bg:linear-gradient(145deg,#fffefb,#eee8d9 48%,#fff 100%);
  --badge-text:#2c3443;
  --badge-border:rgba(202,178,117,.72);
  --badge-icon:#9a7020;
  --badge-icon-bg:linear-gradient(145deg,#fff,#e9dfc8);
  --badge-icon-border:rgba(190,160,90,.45);
  --badge-shadow:0 15px 34px rgba(61,51,31,.18),0 0 0 3px rgba(255,255,255,.38);
  --badge-radius:18px;
}
.pp-badge-pearl::before{inset:4px;border:1px solid rgba(166,139,76,.18);border-radius:calc(var(--badge-radius) - 4px);background:transparent}
.pp-badge-pearl .pp-premium-badge-icon{border-radius:10px}

/* G. Outline Minimal — editorial outline */
.pp-badge-outline{
  --badge-bg:rgba(255,255,255,.035);
  --badge-text:#fff;
  --badge-border:rgba(255,255,255,.52);
  --badge-icon:#fff;
  --badge-icon-bg:transparent;
  --badge-icon-border:rgba(255,255,255,.35);
  --badge-shadow:0 10px 24px rgba(0,0,0,.11);
  --badge-radius:12px;
  border-style:dashed;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.pp-badge-outline .pp-premium-badge-icon{border-radius:8px}

/* H. Crystal Glass */
.pp-badge-glass{
  --badge-bg:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.055));
  --badge-text:#fff;
  --badge-border:rgba(255,255,255,.42);
  --badge-icon:#fff;
  --badge-icon-bg:rgba(255,255,255,.12);
  --badge-icon-border:rgba(255,255,255,.32);
  --badge-shadow:0 20px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.28);
  --badge-radius:22px;
  backdrop-filter:blur(22px) saturate(1.25);
  -webkit-backdrop-filter:blur(22px) saturate(1.25);
}

/* I. Metallic Chrome */
.pp-badge-metallic{
  --badge-bg:linear-gradient(120deg,#f8fafc 0%,#9ca7b5 20%,#f4f7fa 42%,#697687 66%,#dfe5ec 100%);
  --badge-text:#111827;
  --badge-border:rgba(255,255,255,.92);
  --badge-icon:#1f2937;
  --badge-icon-bg:linear-gradient(145deg,#fff,#8d98a7);
  --badge-icon-border:rgba(255,255,255,.72);
  --badge-shadow:0 16px 34px rgba(30,41,59,.3),inset 0 0 0 1px rgba(17,24,39,.08);
  --badge-radius:14px;
}
.pp-badge-metallic .pp-premium-badge-icon{border-radius:4px 14px 4px 14px}

/* J. Royal Navy */
.pp-badge-royal{
  --badge-bg:linear-gradient(135deg,#071a38,#123b72 55%,#071a38);
  --badge-text:#fff7dc;
  --badge-border:rgba(233,198,102,.75);
  --badge-icon:#ffd978;
  --badge-icon-bg:rgba(224,180,63,.12);
  --badge-icon-border:rgba(255,220,127,.5);
  --badge-shadow:0 18px 38px rgba(2,14,35,.38),0 0 0 1px rgba(222,178,61,.12);
  --badge-radius:18px 18px 6px 18px;
  border-bottom-width:3px;
}

/* K. Aurora animated gradient */
.pp-badge-aurora{
  --badge-bg:linear-gradient(120deg,#743ad5,#d53a9d,#23d5ab,#2387d5);
  --badge-text:#fff;
  --badge-border:rgba(255,255,255,.48);
  --badge-icon:#fff;
  --badge-icon-bg:rgba(255,255,255,.13);
  --badge-icon-border:rgba(255,255,255,.28);
  --badge-shadow:0 18px 40px rgba(75,35,160,.3);
  --badge-radius:999px;
  background-size:300% 300%;
  animation:afcBadgeAurora 7s ease infinite;
}
@keyframes afcBadgeAurora{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}
.pp-badge-aurora .pp-premium-badge-icon{border-radius:50%}

/* L. Ribbon */
.pp-badge-ribbon{
  --badge-bg:linear-gradient(135deg,#b71c3a,#7e1027 68%,#d54b67);
  --badge-text:#fff;
  --badge-border:rgba(255,176,190,.55);
  --badge-icon:#ffdce3;
  --badge-icon-bg:rgba(255,255,255,.12);
  --badge-icon-border:rgba(255,255,255,.25);
  --badge-shadow:0 16px 34px rgba(92,8,28,.32);
  --badge-radius:0;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,10px 50%);
  padding-left:20px;
  padding-right:24px;
}
.pp-badge-ribbon .pp-premium-badge-icon{border-radius:50%}

@media(max-width:600px){
  .pp-badges{gap:9px}
  .pp-premium-badge{width:100%;min-height:52px}
  .pp-premium-badge-copy strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .pp-premium-badge,.pp-premium-badge::after{transition:none!important}
  .pp-badge-aurora{animation:none!important}
}

/* AFCMall v1.2.4 — compact, resizable badge and configurable copy */
.pp-premium-badge{
  --badge-title-size:10.5px;
  --badge-description-size:8.5px;
  --badge-icon-size:28px;
  --badge-padding-x:10px;
  --badge-padding-y:6px;
  --badge-gap:7px;
  --badge-min-height:38px;
  --badge-max-width:100%;
  gap:var(--badge-gap);
  min-height:var(--badge-min-height);
  max-width:var(--badge-max-width);
  width:auto;
  padding:var(--badge-padding-y) var(--badge-padding-x);
}
.pp-premium-badge-icon{
  flex:0 0 var(--badge-icon-size);
  width:var(--badge-icon-size);
  height:var(--badge-icon-size);
  border-radius:max(8px,calc(var(--badge-icon-size) * .34));
}
.pp-premium-badge-icon svg,
.pp-premium-badge-icon img{
  width:66%;
  height:66%;
  max-width:34px;
  max-height:34px;
}
.pp-premium-badge-copy strong{font-size:var(--badge-title-size)}
.pp-premium-badge-copy small{font-size:var(--badge-description-size)}

/* A. Micro — extremely economical */
.pp-badge-size-micro{
  --badge-title-size:9px;
  --badge-description-size:7px;
  --badge-icon-size:21px;
  --badge-padding-x:7px;
  --badge-padding-y:3px;
  --badge-gap:4px;
  --badge-min-height:28px;
  --badge-radius:999px;
}
.pp-badge-size-micro .pp-premium-badge-icon{border-width:0;box-shadow:none;background:rgba(255,255,255,.1)}

/* B. Compact — default in v1.2.4 */
.pp-badge-size-compact{
  --badge-title-size:10.5px;
  --badge-description-size:8.5px;
  --badge-icon-size:27px;
  --badge-padding-x:10px;
  --badge-padding-y:5px;
  --badge-gap:6px;
  --badge-min-height:37px;
}

/* C. Standard — keeps the previous spacious presentation */
.pp-badge-size-standard{
  --badge-title-size:12px;
  --badge-description-size:10px;
  --badge-icon-size:34px;
  --badge-padding-x:16px;
  --badge-padding-y:9px;
  --badge-gap:11px;
  --badge-min-height:54px;
}

/* D. Custom values are injected safely as CSS variables by PHP. */
.pp-badge-size-custom{min-height:var(--badge-min-height)}

.pp-badge-content-title_only{justify-content:center}
.pp-badge-content-icon_only{
  justify-content:center;
  gap:0;
  padding-left:var(--badge-padding-y);
  padding-right:var(--badge-padding-y);
  width:var(--badge-min-height);
  min-width:var(--badge-min-height);
}
.pp-badge-content-icon_only .pp-premium-badge-icon{flex-basis:var(--badge-icon-size)}

.pp-badge-wrap-nowrap .pp-premium-badge-copy strong,
.pp-badge-wrap-nowrap .pp-premium-badge-copy small{white-space:nowrap}
.pp-badge-wrap-wrap .pp-premium-badge-copy strong,
.pp-badge-wrap-wrap .pp-premium-badge-copy small{white-space:normal;overflow-wrap:anywhere}
.pp-badge-wrap-ellipsis .pp-premium-badge-copy{overflow:hidden}
.pp-badge-wrap-ellipsis .pp-premium-badge-copy strong,
.pp-badge-wrap-ellipsis .pp-premium-badge-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-badge-wrap-auto .pp-premium-badge-copy strong,
.pp-badge-wrap-auto .pp-premium-badge-copy small{white-space:nowrap}

@media(max-width:600px){
  .pp-premium-badge{
    width:auto;
    min-height:var(--badge-min-height);
    max-width:min(100%,var(--badge-max-width));
  }
  .pp-badge-wrap-auto .pp-premium-badge-copy strong,
  .pp-badge-wrap-auto .pp-premium-badge-copy small{white-space:normal;overflow-wrap:anywhere}
  .pp-badge-size-standard{
    --badge-title-size:11px;
    --badge-description-size:9px;
    --badge-icon-size:31px;
    --badge-padding-x:12px;
    --badge-padding-y:7px;
    --badge-gap:8px;
    --badge-min-height:46px;
  }
}
