:root{--blp-accent:#bd7f60;--blp-accent-dark:#9f674d;--blp-dark:#20282c;--blp-text:#282522;--blp-muted:#7f736d;--blp-line:#eadfda;--blp-soft:#f8f3f0;--blp-ok:#2e6c48;--blp-err:#9b3535}
.blc-auth-shell,.blc-account-wrap,.blc-portal-guest{font-family:inherit;color:var(--blp-text);box-sizing:border-box}
.blc-auth-shell{max-width:620px;margin:0 auto;padding:20px 0}
.blc-auth-box,.blc-account-card,.blc-portal-guest{background:#fff;border:1px solid var(--blp-line);border-radius:16px;box-shadow:0 12px 32px rgba(65,45,33,.055)}
.blc-auth-box{padding:30px}
.blc-auth-eyebrow{display:block;margin-bottom:7px;color:var(--blp-accent);font-size:10px;font-weight:800;letter-spacing:.15em}
.blc-auth-box h2,.blc-portal-guest h2{margin:0 0 8px;font-size:30px;line-height:1.15}.blc-auth-box>p,.blc-portal-guest p{margin:0 0 22px;color:var(--blp-muted)}
.blc-auth-form{display:grid;gap:13px}.blc-auth-form label{display:grid;gap:6px;font-size:12px;font-weight:700}.blc-auth-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d9ceca;border-radius:9px;background:#fff;box-sizing:border-box;font:inherit;color:var(--blp-text)}
.blc-auth-form input:focus{outline:2px solid rgba(189,127,96,.16);border-color:var(--blp-accent)}
.blc-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.blc-auth-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:8px!important;font-weight:500!important;line-height:1.4}.blc-auth-check input{width:auto!important;min-height:0!important;margin-top:3px}
.blc-public-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--blp-accent);border-radius:9px;background:var(--blp-accent);color:#fff!important;text-decoration:none!important;font-weight:700;cursor:pointer;box-sizing:border-box}.blc-public-btn:hover{background:var(--blp-accent-dark);border-color:var(--blp-accent-dark)}.blc-public-btn-light{background:#fff;color:var(--blp-accent)!important}
.blc-auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--blp-line);font-size:13px}.blc-auth-links a{color:var(--blp-accent);font-weight:700;text-decoration:none}
.blc-public-notice{margin:0 0 18px;padding:11px 13px;border-radius:8px;font-size:13px}.blc-public-error{background:#fff1f1;border:1px solid #efc5c5;color:var(--blp-err)}.blc-public-ok{background:#eef8f2;border:1px solid #c2dfcc;color:var(--blp-ok)}
.blc-portal-guest{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px}.blc-portal-guest-copy{max-width:620px}.blc-portal-guest-copy p{margin-bottom:0}.blc-portal-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.blc-account-wrap{max-width:1180px;margin:0 auto;padding:20px 0}.blc-member-card{display:flex;align-items:stretch;justify-content:space-between;gap:30px;padding:30px;border-radius:18px;background:var(--blp-dark);color:#fff;box-shadow:0 18px 45px rgba(27,33,36,.16)}.blc-member-card span{display:block;font-size:10px;font-weight:800;letter-spacing:.15em;color:#d8c6bd}.blc-member-card h2{margin:5px 0 4px;font:40px/1.05 Georgia,serif;color:#fff}.blc-member-card p{margin:0;color:#d7dadd}.blc-member-card-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:center}.blc-member-card-right strong{font-size:36px;color:#e3b39c}.blc-member-card-right small{color:#d7dadd}.blc-member-card-right code{margin-top:10px;padding:5px 8px;border-radius:6px;background:rgba(255,255,255,.08);color:#fff;font-size:12px}
.blc-account-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.blc-account-kpis article{padding:18px;border:1px solid var(--blp-line);border-radius:12px;background:#fff}.blc-account-kpis b{display:block;font-size:24px}.blc-account-kpis span{display:block;margin-top:3px;color:var(--blp-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.blc-account-card{padding:20px;margin-bottom:14px}.blc-account-card h3{margin:0 0 14px;font-size:20px}.blc-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.blc-progress-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.blc-progress-head h3{margin:2px 0 0}.blc-progress-head>b{font-size:14px;color:var(--blp-accent)}.blc-progress{height:10px;margin-top:14px;border-radius:99px;background:#eee7e3;overflow:hidden}.blc-progress i{display:block;height:100%;border-radius:inherit;background:var(--blp-accent)}
.blc-account-list{display:grid}.blc-account-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #f0e8e4}.blc-account-list>div:last-child{border-bottom:0}.blc-account-list span{min-width:0}.blc-account-list small{display:block;margin-top:3px;color:var(--blp-muted);font-size:11px}.blc-account-list b{white-space:nowrap}.blc-public-muted{color:var(--blp-muted)}
.blc-account-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;color:var(--blp-muted);font-size:12px}.blc-account-footer a,.blc-account-logout{color:var(--blp-accent);font-weight:700;text-decoration:none}.blc-verify-card{max-width:680px;margin:20px auto;padding:28px}.blc-verify-card form{margin:18px 0 12px}
.blc-public-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blc-public-tiers article,.blc-public-card{border:1px solid var(--blp-line);border-radius:14px;padding:24px;background:#fff}.blc-public-tiers h3{font:34px Georgia,serif;color:var(--blp-accent);margin:0}.blc-public-tiers strong{font-size:34px;color:var(--blp-accent)}.blc-public-card h3{font:40px Georgia,serif;color:var(--blp-accent);margin:8px 0}.blc-public-card small{display:block;margin-top:6px;color:#777}.blc-public-card li{display:flex;justify-content:space-between;gap:10px;padding:6px 0}
@media(max-width:760px){.blc-auth-grid,.blc-account-grid,.blc-account-kpis,.blc-public-tiers{grid-template-columns:1fr}.blc-auth-box{padding:22px}.blc-portal-guest,.blc-member-card{flex-direction:column;align-items:stretch}.blc-member-card-right{text-align:left;align-items:flex-start}.blc-portal-actions .blc-public-btn{flex:1}.blc-progress-head{align-items:flex-start;flex-direction:column}.blc-account-footer{align-items:flex-start;flex-direction:column}}
.blc-session-card{max-width:760px;margin:20px auto;padding:28px}.blc-session-card h2{margin:0 0 10px;font-size:28px;line-height:1.2}.blc-session-card p{margin:0 0 12px}.blc-session-card p:last-child{margin-bottom:0}

/* 1.0.3 · public loyalty levels widget */
.blc-levels-widget{--blc-levels-bg:#B97D62;--blc-levels-card:#FBF9F7;--blc-levels-text:#fff;--blc-levels-accent:#B97D62;width:100%;box-sizing:border-box;background:var(--blc-levels-bg);font-family:var(--e-global-typography-text-font-family,inherit);color:var(--blc-levels-text);overflow:hidden}.blc-levels-widget.is-fullwidth{width:100vw;margin-left:calc(50% - 50vw)}.blc-levels-inner{width:min(1320px,calc(100% - 64px));margin:0 auto;padding:78px 0;display:grid;grid-template-columns:minmax(300px,1.08fr) minmax(0,2.7fr);gap:56px;align-items:center;box-sizing:border-box}.blc-levels-intro{min-width:0}.blc-levels-eyebrow{display:block;margin:0 0 18px;font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--blc-levels-text)}.blc-levels-intro h2{max-width:460px;margin:0 0 22px;font-family:var(--e-global-typography-primary-font-family,Georgia,serif);font-size:54px;font-weight:400;line-height:1.02;letter-spacing:-.02em;color:var(--blc-levels-text)}.blc-levels-intro p{max-width:460px;margin:0 0 16px;font-size:16px;line-height:1.55;color:var(--blc-levels-text)}.blc-levels-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}.blc-levels-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:6px;text-decoration:none!important;transition:transform .15s ease,opacity .15s ease;box-sizing:border-box}.blc-levels-btn:hover{transform:translateY(-1px);opacity:.92}.blc-levels-btn.is-primary{background:var(--blc-levels-card);border:1px solid var(--blc-levels-card);color:var(--blc-levels-accent)!important}.blc-levels-btn.is-secondary{background:transparent;border:1px solid rgba(255,255,255,.7);color:var(--blc-levels-text)!important}.blc-levels-cards{display:grid;grid-template-columns:repeat(var(--blc-level-count),minmax(0,1fr));gap:18px;align-items:stretch;min-width:0}.blc-level-card{position:relative;display:flex;flex-direction:column;min-height:590px;padding:36px 30px 28px;border:1px solid rgba(255,255,255,.55);border-radius:14px;background:var(--blc-levels-card);color:#25211f;text-align:center;box-sizing:border-box;box-shadow:0 12px 30px rgba(75,43,26,.05)}.blc-level-card.is-current{outline:3px solid rgba(255,255,255,.9);outline-offset:4px}.blc-current-badge{position:absolute;top:12px;right:12px;padding:5px 8px;border-radius:999px;background:var(--blc-levels-accent);color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em}.blc-level-card h3{margin:0 0 16px;font-family:var(--e-global-typography-primary-font-family,Georgia,serif);font-size:46px;font-weight:400;line-height:1;color:var(--blc-levels-accent)}.blc-level-tagline{min-height:52px;margin:0 0 18px;font-size:10px;font-weight:800;line-height:1.45;letter-spacing:.16em;color:#60483e}.blc-level-discount{display:flex;align-items:flex-end;justify-content:center;gap:9px;margin:0 0 18px;color:var(--blc-levels-accent)}.blc-level-discount span{padding-bottom:5px;font-size:13px}.blc-level-discount strong{font-size:44px;line-height:1;font-weight:700}.blc-level-summary{margin:0 0 7px!important;font-size:14px;line-height:1.45;color:#2b2725}.blc-level-benefits{list-style:none!important;margin:0!important;padding:0!important;font-size:14px;line-height:1.5;color:#2b2725}.blc-level-benefits li{margin:0!important;padding:0!important}.blc-level-footer{margin-top:auto;padding:14px 12px;border-radius:7px;background:#f3ddd3;color:#8a5138}.blc-levels-empty{padding:18px;border:1px solid var(--blp-line);border-radius:10px;background:#fff;color:var(--blp-muted)}
@media(max-width:1180px){.blc-levels-inner{width:min(100% - 42px,1180px);grid-template-columns:1fr;gap:34px;padding:56px 0}.blc-levels-intro{max-width:760px}.blc-levels-intro h2,.blc-levels-intro p{max-width:700px}.blc-levels-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.blc-level-card{min-height:540px}}
@media(max-width:820px){.blc-levels-cards{grid-template-columns:1fr}.blc-level-card{min-height:0}.blc-levels-inner{width:calc(100% - 28px);padding:42px 0}.blc-levels-intro h2{font-size:42px}.blc-levels-actions{gap:10px}.blc-levels-btn{flex:1;min-width:170px}.blc-level-tagline{min-height:0}}

/* Elementor native widget: when the intro is hidden, cards use the whole content width. */
.blc-levels-cards.is-only-cards{grid-column:1/-1}
.blc-levels-inner:has(.blc-levels-cards.is-only-cards){grid-template-columns:1fr}


/* 1.0.5 · Elementor controls + fixed Pe&Pe global typography mapping */
.elementor-widget-bende_loyalty_levels .blc-levels-eyebrow{
  font-family:var(--e-global-typography-accent-font-family,inherit);
  font-size:var(--e-global-typography-accent-font-size,inherit);
  font-weight:var(--e-global-typography-accent-font-weight,inherit);
  text-transform:var(--e-global-typography-accent-text-transform,inherit);
  font-style:var(--e-global-typography-accent-font-style,inherit);
  text-decoration:var(--e-global-typography-accent-text-decoration,inherit);
  line-height:var(--e-global-typography-accent-line-height,inherit);
  letter-spacing:var(--e-global-typography-accent-letter-spacing,inherit);
  word-spacing:var(--e-global-typography-accent-word-spacing,inherit);
}
.elementor-widget-bende_loyalty_levels .blc-levels-intro h2{
  font-family:var(--e-global-typography-primary-font-family,inherit);
  font-size:var(--e-global-typography-primary-font-size,inherit);
  font-weight:var(--e-global-typography-primary-font-weight,inherit);
  text-transform:var(--e-global-typography-primary-text-transform,inherit);
  font-style:var(--e-global-typography-primary-font-style,inherit);
  text-decoration:var(--e-global-typography-primary-text-decoration,inherit);
  line-height:var(--e-global-typography-primary-line-height,inherit);
  letter-spacing:var(--e-global-typography-primary-letter-spacing,inherit);
  word-spacing:var(--e-global-typography-primary-word-spacing,inherit);
}
.elementor-widget-bende_loyalty_levels .blc-levels-intro p{
  font-family:var(--e-global-typography-text-font-family,inherit);
  font-size:var(--e-global-typography-text-font-size,inherit);
  font-weight:var(--e-global-typography-text-font-weight,inherit);
  text-transform:var(--e-global-typography-text-text-transform,inherit);
  font-style:var(--e-global-typography-text-font-style,inherit);
  text-decoration:var(--e-global-typography-text-text-decoration,inherit);
  line-height:var(--e-global-typography-text-line-height,inherit);
  letter-spacing:var(--e-global-typography-text-letter-spacing,inherit);
  word-spacing:var(--e-global-typography-text-word-spacing,inherit);
}
/* CTA and tier footer intentionally use Elementor's native .elementor-button class,
   so Button typography from Site Settings / Theme Style is inherited. */
.elementor-widget-bende_loyalty_levels .blc-levels-btn,
.elementor-widget-bende_loyalty_levels .blc-level-footer{
  text-decoration:none!important;
}
.blc-level-footer.elementor-button{display:block;width:100%;text-decoration:none!important;box-sizing:border-box}

/* 1.0.6 · Newsletter Elementor widget */
.blc-newsletter-widget{width:100%;box-sizing:border-box}
.blc-newsletter-intro{margin:0 0 24px}
.blc-newsletter-eyebrow{display:block;margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.blc-newsletter-intro h2{margin:0 0 10px;font-size:38px;line-height:1.08}
.blc-newsletter-intro p{margin:0;max-width:720px}
.blc-newsletter-form{width:100%}
.blc-newsletter-fields{display:flex;align-items:stretch;gap:10px;width:100%}
.blc-newsletter-fields input{min-width:0;min-height:48px;padding:10px 14px;border:1px solid #d8cbc4;border-radius:6px;background:#fff;box-sizing:border-box;font:inherit;outline:none}
.blc-newsletter-fields input:focus{border-color:#b97d62}
.blc-newsletter-name{flex:0 1 32%}
.blc-newsletter-email{flex:1 1 auto}
.blc-newsletter-button{flex:0 0 auto;min-height:48px;border:1px solid #b97d62;background:#b97d62;color:#fff;cursor:pointer;white-space:nowrap}
.blc-newsletter-button:disabled{opacity:.65;cursor:wait}
.blc-newsletter-consent{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;line-height:1.45;cursor:pointer}
.blc-newsletter-consent input{flex:0 0 auto;margin-top:2px}
.blc-newsletter-message{min-height:18px;margin-top:9px;font-size:12px;font-weight:600}
.blc-newsletter-message.is-success{color:#2f7655}.blc-newsletter-message.is-error{color:#a53636}
.blc-newsletter-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.blc-newsletter-widget.is-stacked .blc-newsletter-fields{flex-direction:column}.blc-newsletter-widget.is-stacked .blc-newsletter-name,.blc-newsletter-widget.is-stacked .blc-newsletter-email{flex:1 1 auto;width:100%}.blc-newsletter-widget.is-stacked .blc-newsletter-button{width:100%}
@media(max-width:767px){.blc-newsletter-fields{flex-direction:column}.blc-newsletter-name,.blc-newsletter-email{width:100%;flex:1 1 auto}.blc-newsletter-button{width:100%}}

/* 1.0.7 · CTA content is managed in CRM; Elementor controls button appearance only. */
.elementor-widget-bende_loyalty_levels .blc-levels-btn,
.elementor-widget-bende_loyalty_levels .blc-level-footer.elementor-button{
  text-decoration:none!important;
}
.elementor-widget-bende_loyalty_levels .blc-levels-btn:hover,
.elementor-widget-bende_loyalty_levels .blc-level-footer.elementor-button:hover{
  opacity:1;
}


/* 1.0.9 · Newsletter button: prevent Elementor/theme accent from forcing pink.
   Keep elementor-button for Theme Style typography, but give BENDE visual defaults higher specificity.
   Elementor widget controls can still override these values. */
.elementor-widget-bende_loyalty_newsletter .blc-newsletter-button.elementor-button{
  background-color:#B97D62;
  border-color:#B97D62;
  color:#fff;
}
.elementor-widget-bende_loyalty_newsletter .blc-newsletter-button.elementor-button:hover,
.elementor-widget-bende_loyalty_newsletter .blc-newsletter-button.elementor-button:focus{
  background-color:#9F674D;
  border-color:#9F674D;
  color:#fff;
}

/* 1.7.35 — temporary public loyalty pause */
.elementor-widget-bende_loyalty_levels .blc-levels-widget.is-paused .blc-levels-btn.is-disabled{
  cursor:default!important;
  pointer-events:none!important;
  opacity:.78!important;
}
.elementor-widget-bende_loyalty_levels .blc-levels-coming-soon{
  min-height:430px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:44px;
  border:1px solid rgba(185,125,98,.28);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  text-align:center;
  box-shadow:0 14px 38px rgba(75,43,26,.05);
  box-sizing:border-box;
}
.elementor-widget-bende_loyalty_levels .blc-levels-coming-soon__eyebrow{
  display:block;
  margin:0 0 14px;
  color:#a36a51;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}
.elementor-widget-bende_loyalty_levels .blc-levels-coming-soon h3{
  margin:0 0 16px;
  color:#b97d62;
  font-family:var(--e-global-typography-primary-font-family,Georgia,serif);
  font-size:clamp(42px,4vw,68px);
  font-weight:400;
  line-height:1;
}
.elementor-widget-bende_loyalty_levels .blc-levels-coming-soon p{
  max-width:520px;
  margin:0 0 24px;
  color:#51443f;
  font-size:15px;
  line-height:1.55;
}
.elementor-widget-bende_loyalty_levels .blc-levels-coming-soon__link.elementor-button{
  min-height:46px;
  padding:12px 22px;
  border:1px solid #b97d62;
  border-radius:6px;
  background:#f3ddd3;
  color:#8a5138;
  text-decoration:none!important;
}
.elementor-widget-bende_loyalty_levels .blc-levels-coming-soon__link.elementor-button:hover{
  background:#b97d62;
  color:#fff;
}
@media(max-width:1180px){
  .elementor-widget-bende_loyalty_levels .blc-levels-coming-soon{min-height:320px}
}
@media(max-width:820px){
  .elementor-widget-bende_loyalty_levels .blc-levels-coming-soon{min-height:260px;padding:32px 22px}
}
