:root{--bbcm-teal:#2F7A7A;--bbcm-teal-dark:#2A6A6B;--bbcm-cream:#F2F7F5;--bbcm-yellow:#F7BC45;--bbcm-text:#1F2A2A}.bbcm-campaign,.bbcm-campaign *{box-sizing:border-box}.bbcm-campaign{--bbcm-bg:var(--bbcm-cream);--bbcm-accent:var(--bbcm-yellow);--bbcm-fg:var(--bbcm-teal-dark);--bbcm-copy:var(--bbcm-text);position:relative;overflow:hidden;width:100%;background:var(--bbcm-bg);color:var(--bbcm-copy);border-radius:28px;font-family:"Basis Grotesque Pro",system-ui,sans-serif;box-shadow:0 10px 28px rgba(25,75,73,.08)}.bbcm-preset--dark{--bbcm-bg:#161918;--bbcm-accent:#F7BC45;--bbcm-fg:#fff;--bbcm-copy:#eef5f3}.bbcm-preset--christmas{--bbcm-bg:#F7F2EA;--bbcm-accent:#B84545;--bbcm-fg:#2F685C;--bbcm-copy:#2C3835}.bbcm-preset--clean{--bbcm-bg:#fff;--bbcm-accent:#2F7A7A;--bbcm-fg:#1F2A2A;--bbcm-copy:#4A5A58}.bbcm-campaign__badge{display:inline-flex;width:max-content;padding:7px 11px;margin:0 0 12px;border-radius:999px;background:var(--bbcm-accent);color:#fff;font-size:12px;font-weight:800;letter-spacing:.05em}.bbcm-campaign__headline{color:var(--bbcm-fg);font-family:"Reloceta",Georgia,serif;font-size:clamp(30px,4.4vw,62px);line-height:.98;font-weight:700}.bbcm-campaign__text{margin-top:14px;font-size:16px;line-height:1.5}.bbcm-campaign__text p{margin:0}.bbcm-campaign__cta{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:13px 20px;border-radius:999px;background:var(--bbcm-accent);color:#fff;text-decoration:none;font-family:"Reloceta",Georgia,serif;font-weight:700}.bbcm-campaign__picture,.bbcm-campaign__image{display:block;width:100%;height:100%}.bbcm-campaign__image{object-fit:cover}.bbcm-countdown{display:flex;align-items:center;gap:7px;margin-top:18px;font-variant-numeric:tabular-nums}.bbcm-countdown__item{display:grid;justify-items:center;gap:2px}.bbcm-countdown__item strong{min-width:2.2ch;color:var(--bbcm-accent);font-family:"Reloceta",Georgia,serif;font-size:25px;line-height:1}.bbcm-countdown__item span{font-size:10px;text-transform:uppercase}.bbcm-countdown__sep{color:var(--bbcm-fg);font-size:20px;font-weight:800;transform:translateY(-5px)}.bbcm-campaign--hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:360px}.bbcm-campaign--hero .bbcm-campaign__media{min-height:360px}.bbcm-campaign--hero .bbcm-campaign__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,68px)}.bbcm-campaign--compact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 24px}.bbcm-campaign--compact .bbcm-campaign__headline{font-size:clamp(24px,3vw,36px)}.bbcm-campaign--compact .bbcm-campaign__media{width:120px;height:100px;border-radius:18px;overflow:hidden}.bbcm-campaign--bar{display:flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:0;box-shadow:none}.bbcm-campaign--bar .bbcm-campaign__content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}.bbcm-campaign--bar .bbcm-campaign__badge,.bbcm-campaign--bar .bbcm-countdown,.bbcm-campaign--bar .bbcm-campaign__cta{margin:0}.bbcm-campaign--bar .bbcm-campaign__headline{font-family:"Basis Grotesque Pro",system-ui,sans-serif;font-size:14px;line-height:1.2}.bbcm-campaign--bar .bbcm-countdown__item strong{font-size:16px}.bbcm-campaign--bar .bbcm-countdown__item span{display:none}.bbcm-campaign--bar .bbcm-countdown__sep{font-size:14px;transform:none}.bbcm-campaign--bar .bbcm-campaign__cta{padding:8px 13px;font-family:"Basis Grotesque Pro",system-ui,sans-serif;font-size:12px}.bbcm-campaign--bar .bbcm-campaign__media{display:none}.bbcm-empty-preview{padding:20px;border:1px dashed #bbb;border-radius:12px;text-align:center;color:#666}@media(max-width:767px){.bbcm-campaign--hero{grid-template-columns:1fr}.bbcm-campaign--hero .bbcm-campaign__media{min-height:230px}.bbcm-campaign--hero .bbcm-campaign__content{padding:26px 22px 30px}.bbcm-campaign--compact{grid-template-columns:1fr;padding:18px}.bbcm-campaign--compact .bbcm-campaign__media{width:100%;height:160px;order:-1}.bbcm-campaign--bar{padding:9px 12px}}

/* v1.1 Elementor customization helpers */
.bbcm-campaign__content{
  min-width:0;
}
.bbcm-campaign--hero.bbcm-image--right .bbcm-campaign__content{
  order:1;
}
.bbcm-campaign--hero.bbcm-image--right .bbcm-campaign__media{
  order:2;
}
.bbcm-countdown__item{
  overflow:hidden;
}


/* ==========================================================
   v1.2 – Kampánnyal együtt mentett teljes sablon
   ========================================================== */
.bbcm-campaign.bbcm-use-campaign-template{
  background:var(--bbcm-template-bg, var(--bbcm-bg));
  border-radius:var(--bbcm-template-radius, 28px);
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-campaign__headline{
  color:var(--bbcm-template-headline, var(--bbcm-fg));
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-campaign__text,
.bbcm-campaign.bbcm-use-campaign-template .bbcm-campaign__text p{
  color:var(--bbcm-template-text, var(--bbcm-copy));
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-campaign__badge{
  background:var(--bbcm-template-badge-bg, var(--bbcm-accent));
  color:var(--bbcm-template-badge-text, #fff);
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-campaign__cta{
  background:var(--bbcm-template-cta-bg, var(--bbcm-accent));
  color:var(--bbcm-template-cta-text, #fff);
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-campaign__cta:hover{
  background:var(--bbcm-template-cta-hover-bg, var(--bbcm-template-cta-bg, var(--bbcm-accent)));
  color:var(--bbcm-template-cta-hover-text, var(--bbcm-template-cta-text, #fff));
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-countdown{
  background:var(--bbcm-template-countdown-bg, transparent);
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-countdown__item{
  background:var(--bbcm-template-countdown-item-bg, transparent);
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-countdown__item strong{
  color:var(--bbcm-template-countdown-number, var(--bbcm-accent));
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-countdown__item span{
  color:var(--bbcm-template-countdown-label, var(--bbcm-copy));
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-countdown__sep{
  color:var(--bbcm-template-countdown-sep, var(--bbcm-fg));
}
.bbcm-campaign--hero.bbcm-use-campaign-template{
  min-height:var(--bbcm-template-hero-min-height, 360px);
}
.bbcm-campaign--hero.bbcm-use-campaign-template.bbcm-image--left{
  grid-template-columns:var(--bbcm-template-image-width, minmax(0,1.05fr)) minmax(0,.95fr);
}
.bbcm-campaign--hero.bbcm-use-campaign-template.bbcm-image--right{
  grid-template-columns:minmax(0,.95fr) var(--bbcm-template-image-width, minmax(0,1.05fr));
}
.bbcm-campaign.bbcm-use-campaign-template .bbcm-campaign__content{
  padding:var(--bbcm-template-padding, clamp(28px,5vw,68px));
}
.bbcm-campaign--compact.bbcm-use-campaign-template .bbcm-campaign__content,
.bbcm-campaign--bar.bbcm-use-campaign-template .bbcm-campaign__content{
  padding:0;
}
@media(max-width:767px){
  .bbcm-campaign--hero.bbcm-use-campaign-template,
  .bbcm-campaign--hero.bbcm-use-campaign-template.bbcm-image--left,
  .bbcm-campaign--hero.bbcm-use-campaign-template.bbcm-image--right{
    grid-template-columns:1fr;
  }
}
\n\n/* ==========================================================\n   v1.3 – Stabil képes oszlop / object-fit rendszer\n   ========================================================== */\n.bbcm-campaign__media{\n  position:relative;\n  min-width:0;\n  align-self:stretch;\n  overflow:hidden;\n}\n.bbcm-campaign__picture{\n  position:absolute;\n  inset:0;\n  display:block;\n  width:100%;\n  height:100%;\n}\n.bbcm-campaign__image{\n  display:block;\n  width:100%;\n  height:100%;\n  max-width:none;\n  max-height:none;\n  object-fit:cover;\n  object-position:center center;\n}\n.bbcm-campaign--compact .bbcm-campaign__media{\n  position:relative;\n}\n@media(max-width:767px){\n  .bbcm-campaign--hero .bbcm-campaign__media{\n    width:100%;\n  }\n}\n

/* ==========================================================
   v1.3.1 – Compact képoszlop + CTA transition + teljes widget link
   ========================================================== */

/* CTA hover ne "ugorjon": minden fontos állapot 0.3s alatt vált. */
.bbcm-campaign__cta{
  transition:
    background-color .3s ease,
    color .3s ease,
    border-color .3s ease,
    box-shadow .3s ease,
    filter .3s ease,
    transform .3s ease !important;
}

/* Compact: a második grid oszlop valódi képoszlop legyen.
   Az Elementor "Képes oszlop szélessége" ezt az oszlopot írja felül. */
.bbcm-campaign--compact{
  grid-template-columns:minmax(0,1fr) 120px;
}

.bbcm-campaign--compact .bbcm-campaign__media{
  width:100%;
  max-width:none;
  min-width:0;
}

/* Ha a kampánysablonban mentett képszélességet használjuk,
   Compact esetén is alkalmazzuk. Elementor saját értéke továbbra is felül tudja írni. */
.bbcm-campaign--compact.bbcm-use-campaign-template{
  grid-template-columns:minmax(0,1fr) var(--bbcm-template-image-width,120px);
}

/* Teljes widget kattintható mód */
.bbcm-campaign--clickable{
  cursor:pointer;
}

.bbcm-campaign--clickable:focus-visible{
  outline:2px solid var(--bbcm-accent);
  outline-offset:3px;
}

/* Mobilon maradjon az eredeti egymás alatti Compact layout.
   Elementor mobil responsive selector ezt szükség esetén felülírhatja. */
@media(max-width:767px){
  .bbcm-campaign--compact,
  .bbcm-campaign--compact.bbcm-use-campaign-template{
    grid-template-columns:1fr;
  }

  .bbcm-campaign--compact .bbcm-campaign__media{
    width:100%;
    max-width:none;
  }
}


/* ==========================================================
   v1.4.3 – Badge shadow / CTA hover / countdown separator
   ========================================================== */

/*
 * A CTA Elementor- és kampánypreset-színek között is valóban animáljon.
 * A transition-property direktben fel van sorolva, hogy theme/Elementor
 * globális button transition se tudja kiütni.
 */
.bbcm-campaign .bbcm-campaign__cta{
  transition-property:
    background-color,
    color,
    border-color,
    box-shadow,
    filter,
    transform !important;
  transition-duration:.3s !important;
  transition-timing-function:ease !important;
  will-change:background-color,color,transform,box-shadow;
}

.bbcm-campaign .bbcm-campaign__cta:hover{
  transform:translateY(-2px);
}

/*
 * Countdown kettőspontok:
 * ne a környező theme line-height-ját örököljék.
 * A pontos pozíció Elementorban külön responsive csúszkával állítható.
 */
.bbcm-campaign .bbcm-countdown__sep{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  line-height:1 !important;
  transform:translateY(-5px);
  margin:0;
  padding:0;
}
