/* Azb_Loyalty — cart spend box + shared bits */
.azb-loyalty-cart{margin:0;text-align:left}
.checkout-cart-index .cart .totals .checkout-types li{margin:10px 0 15px!important;padding-bottom:0!important}
.checkout-cart-index .cart .totals .checkout-types{margin-bottom:0!important}
.checkout-cart-index .cart .totals .totals-inner{padding-bottom:0}
.azb-loyalty-box{border:1px solid #e8dfe3;border-radius:10px;padding:14px 16px;margin:0;background:#fff8fa}
.azb-loyalty-head{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:4px}
.azb-loyalty-head strong{font-size:15px;color:#2f3338!important}
.azb-loyalty-icon{display:inline-block;width:32px;height:32px;margin-right:5px;vertical-align:middle}
.azb-loyalty-balance{flex-basis:100%;font-size:14px;color:#3a3f47}
.azb-loyalty-balance em{font-style:normal}
.azb-loyalty-earn{margin:6px 0 4px;font-size:15px;color:#2f3338;text-align:center}
.azb-loyalty-earn strong{color:#de2666;font-size:17px}
.azb-loyalty-hint{margin:4px 0 10px;font-size:13px;color:#6f7580}
.azb-loyalty-balance{text-align:center;margin:0 0 12px;font-size:14px;color:#3a3f47}
.azb-loyalty-balance strong{color:#de2666;font-size:16px}
.azb-loyalty-center{text-align:center;margin:8px 0 0}
.azb-loyalty-spend label{display:block;text-align:center;font-size:13px;color:#3a3f47;margin-bottom:6px}
.azb-loyalty-spend input[type=range]{width:100%;display:block;margin:0 0 8px;accent-color:#de2666;cursor:pointer}
.azb-loyalty-slider{display:block;margin:8px 0 12px}
.azb-loyalty-slider input[type=range]{width:100%;display:block;margin-bottom:8px}
.azb-loyalty-slider input[type=range]{flex:1 1 160px;min-width:140px;accent-color:#de2666;cursor:pointer}
.azb-loyalty-slider-value{text-align:center}
.azb-loyalty-slider-value #azb-loyalty-amount{font-size:14px}
.azb-loyalty-slider-value input[type=number]{width:90px;text-align:right;padding:6px 8px;border:1px solid #cfd3d8;border-radius:4px}
.azb-loyalty-slider-value strong{color:#de2666;font-size:16px}
.azb-loyalty-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.azb-loyalty-limits{font-size:12px;color:#6f7580}
.azb-loyalty-applied{display:block;text-align:center;padding:14px 12px;border-radius:8px;background:#fff;border:1px dashed #de2666}
.azb-loyalty-applied-points{display:block}
.azb-loyalty-applied-amount{display:block;color:#de2666;font-weight:700;margin:2px 0 8px}
.azb-loyalty-inline{display:inline;margin:0}
a.azb-loyalty-button,a.azb-loyalty-button-secondary{display:inline-block;line-height:42px;padding:0 22px;border-radius:4px;font-weight:700;font-size:14px;text-decoration:none!important;text-transform:none}
a.azb-loyalty-button span,a.azb-loyalty-button-secondary span{color:inherit;display:inline;padding:0;background:none;line-height:inherit}
a.azb-loyalty-button{background:#de2666;color:#fff!important;border:1px solid #de2666}
a.azb-loyalty-button:hover{background:#b81d52}
a.azb-loyalty-button-secondary{background:#fff;color:#de2666!important;border:1px solid #de2666}
.button.azb-loyalty-button,.button.azb-loyalty-button>span,.button.azb-loyalty-button>span>span{background:#fff!important;color:#de2666!important}
.button.azb-loyalty-button{border:1px solid #de2666!important;border-radius:4px}
.button.azb-loyalty-button:hover,.button.azb-loyalty-button:hover>span,.button.azb-loyalty-button:hover>span>span{background:#fff0f5!important;color:#b81d52!important}
.checkout-cart-index .cart .shipping-form button.button,.checkout-cart-index .cart .shipping-form button.button>span,.checkout-cart-index .cart .shipping-form button.button>span>span,.checkout-cart-index .discount button.button,.checkout-cart-index .discount button.button>span,.checkout-cart-index .discount button.button>span>span{background:#fff!important;background-image:none!important;color:#de2666!important;filter:none!important;text-shadow:none!important}
.checkout-cart-index .cart .shipping-form button.button,.checkout-cart-index .discount button.button{border:1px solid #de2666!important;border-radius:4px}
.checkout-cart-index .cart .shipping-form button.button:hover>span,.checkout-cart-index .cart .shipping-form button.button:hover>span>span,.checkout-cart-index .discount button.button:hover>span,.checkout-cart-index .discount button.button:hover>span>span{background:#fff0f5!important}
/* totals + delivery date boxes share the gradient of the "Promotions et Points fidélité" box */
.checkout-cart-index .cart .totals,.checkout-cart-index .cart .date-estimate-box{background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,#e0e0e0 100%) no-repeat!important;border:1px solid #f6f6f6;padding:15px!important;box-sizing:border-box;border-radius:4px}
.checkout-cart-index .cart .date-estimate-box{margin-bottom:12px}
.button.azb-loyalty-button-secondary{background:#fff;color:#de2666;border:1px solid #de2666}
.button.azb-loyalty-button-secondary span span{color:#de2666}
.azb-loyalty-more{display:inline-block;margin-left:14px;font-size:13px;text-decoration:underline;color:#3a3f47}
.azb-loyalty-guest p{margin:6px 0 12px;font-size:14px}
@media (max-width:640px){.azb-loyalty-box{padding:14px}.azb-loyalty-balance{margin-left:0}}
/* --- programme page (Yotpo-like) --- */
.azb-program-yotpo{max-width:1180px;margin:0 auto;color:#373330;font-family:Lato,Roboto,Arial,sans-serif}
.azb-program-yotpo h1,.azb-program-yotpo h2{font-family:Lato,Roboto,Arial,sans-serif;font-weight:300;color:#222;text-align:center;margin:0}
.azb-program-yotpo h2{font-size:34px;line-height:1.2;margin-bottom:10px}
.azb-program-section{padding:28px 16px}
.azb-program-section>p{text-align:center;max-width:640px;margin:0 auto 22px;font-size:15px;line-height:1.6;color:#404446}
.azb-program-hero{background-size:cover;background-position:center 30%;min-height:300px;display:flex;align-items:center;justify-content:center;padding:28px 16px}
.azb-program-hero-inner{text-align:center;max-width:560px;background:rgba(255,255,255,.55);padding:28px 30px;border-radius:6px}
.azb-program-hero h1{font-size:46px;line-height:1.05;margin-bottom:10px;color:#222}
.azb-program-lead{font-size:15px;line-height:1.55;color:#373330;margin:0 auto 20px;max-width:420px}
.azb-btn{display:inline-block;padding:0 26px;line-height:44px;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-decoration:none!important;border-radius:3px;border:0;cursor:pointer;font-family:Lato,Roboto,Arial,sans-serif;margin:4px 5px}
.azb-btn-dark{background:#222!important;color:#fff!important}.azb-btn-dark:hover{background:#000!important}
.azb-btn-pink{background:#de2666!important;color:#fff!important}.azb-btn-pink:hover{background:#b81d52!important}
.azb-btn-small{line-height:38px;padding:0 20px;font-size:12px}
.azb-btn-outline{background:#fff!important;color:#de2666!important;border:1px solid #de2666}
.azb-btn-outline:hover{background:#fff0f5!important}
.azb-program-footer{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0 34px}
.azb-program-balance{margin:0 0 14px;font-size:16px}
.azb-program-balance-points{font-size:44px;font-weight:700;color:#de2666;line-height:1}
.azb-program-balance em{font-style:normal;color:#555}
.azb-program-pending,.azb-program-tier{display:block;font-size:13px;color:#555;margin-top:4px}
.azb-program-steps{list-style:none;display:flex;gap:20px;justify-content:center;margin:20px 0 0;padding:0;flex-wrap:wrap}
.azb-program-steps li{list-style:none;flex:1 1 220px;max-width:300px;text-align:center;padding:0 10px}
.azb-step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#de2666;color:#fff!important;font-size:20px;font-weight:700;margin:0 auto 12px}
.azb-program-steps li strong{display:block;color:#de2666;text-transform:uppercase;font-size:13px;letter-spacing:1px;margin-bottom:6px}
.azb-program-steps li span{font-size:14px;font-weight:700;color:#373330;line-height:1.5}
.azb-program-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;list-style:none;margin:26px 0 0;padding:0}
.azb-program-card{background:#f5f5f5;border-radius:4px;padding:34px 14px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:150px}
.azb-program-card-icon{width:60px;height:60px;object-fit:contain;margin-bottom:8px}
.azb-program-card strong{font-size:15px;text-transform:uppercase;letter-spacing:.5px;color:#373330}
.azb-program-card span{font-size:12px;color:#373330}
.azb-program-card-action,.azb-program-card-action:hover,.azb-program-card-action:focus{margin-top:10px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff!important;background:#de2666;border:0;border-radius:3px;padding:8px 14px;cursor:pointer;text-decoration:none!important;display:inline-block}
.azb-program-card-action:hover{background:#b81d52}
.azb-program-card-done{margin-top:10px;font-size:12px;color:#2a8a4a;font-weight:700}
.azb-program-use{text-align:center}
.azb-program-examples{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;list-style:none;padding:0;margin:18px 0 22px}
.azb-program-examples li{background:#fff;border:1px dashed #b8b8b8;border-radius:4px;padding:14px 18px;text-align:center;min-width:150px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.azb-program-examples li strong{display:block;font-weight:300;font-size:18px;color:#404446}
.azb-program-examples li span{font-size:11px;color:#777;letter-spacing:1px}
.azb-program-note{font-size:13px;color:#777;max-width:760px;margin:18px auto 0;text-align:center}
.azb-program-vip{background:#dcd9e0;padding:48px 24px;margin:10px 0}
.azb-program-vip h2{font-size:40px;letter-spacing:3px;margin-bottom:24px}
.azb-program-tiers{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.azb-program-tier-card{background:#fff;padding:28px 28px 24px;width:300px;max-width:100%;text-align:center;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#373330;border:2px solid transparent;box-sizing:border-box}
.azb-program-tier-card.is-current{border-color:#de2666}
.azb-program-tier-card img{margin:0 auto 8px}
.azb-program-tier-card strong{font-size:18px;font-weight:700}
.azb-program-tier-threshold{font-weight:700}
.azb-program-tier-card em{color:#de2666;font-style:normal;font-weight:700;margin-top:6px}
.azb-program-next{margin:22px 0 6px;text-align:center;font-size:15px;color:#5b2740}
.azb-program-progress{display:block;width:260px;max-width:100%;height:8px;background:#e6ded9;border-radius:4px;margin:8px auto 0;overflow:hidden}
.azb-progress-inline{width:100%;margin:6px 0 0}
.azb-program-progress span{display:block;height:100%;background:#de2666}
.azb-program-referral{display:flex;gap:40px;align-items:center;padding:24px 16px 30px}
.azb-program-referral-photo{flex:0 0 34%;max-height:230px;overflow:hidden;border-radius:10px}.azb-program-referral-photo img{width:100%;height:230px;object-fit:cover;display:block}
.azb-program-referral-body{flex:1 1 60%;text-align:center}
.azb-program-referral-body h2{font-size:40px;line-height:1.05}
.azb-program-referral-big{font-size:30px;font-weight:300;color:#222;margin:12px 0 14px}
.azb-program-referral-body>p{font-size:14px;line-height:1.6;color:#373330;max-width:440px;margin:0 auto 16px}
.azb-center,.azb-center *{text-align:center}
.azb-program-referral-code{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;align-items:center}
.azb-program-referral-code input{max-width:320px;border:1px solid #ccc;border-radius:20px;padding:9px 14px}
.azb-program-referral-code #azb-referral-code{max-width:130px;font-weight:700;text-align:center;letter-spacing:2px}
.azb-program-footer{text-align:center;font-size:13px;margin:10px 0 30px}
@media (max-width:760px){.azb-program-hero{min-height:340px}.azb-program-hero h1{font-size:40px}.azb-program-referral{flex-direction:column}.azb-program-referral-photo{flex-basis:auto;width:100%}.azb-program-referral-body h2{font-size:40px}.azb-program-vip h2{font-size:30px}.azb-program-section{padding:30px 12px}}
/* --- FAQ (open playful cards) --- */
.azb-faq{list-style:none;max-width:940px;margin:20px auto 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.azb-faq-item{list-style:none;background:#fff;border:1px solid #f0e6ea;border-radius:12px;padding:18px 20px;box-shadow:0 2px 10px rgba(222,38,102,.05)}
.azb-faq-q{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:700;color:#373330;margin-bottom:8px}
.azb-faq-mark{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#de2666;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.azb-faq-a{margin:0;font-size:13px;line-height:1.6;color:#5a5560}
/* --- my points --- */
.azb-account-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:28px}
.azb-account-card{background:#faf7f4;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:4px}
.azb-account-card-main{background:#fff0f5}
.azb-account-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#6f7580}
.azb-account-value{font-size:34px;font-weight:800;color:#de2666;line-height:1.1}
.azb-account-value-small{font-size:20px}
.azb-account-value small{font-size:14px;font-weight:400;color:#3a3f47}
.azb-account-sub{font-size:13px;color:#3a3f47}
.azb-account-card .button{align-self:flex-start;margin-top:8px}
.azb-account-block{margin:0 0 28px}
.azb-account-referral{text-align:left}
.azb-account-referral .azb-program-referral-code{justify-content:flex-start}
.azb-account-referral .azb-program-referral-code #azb-referral-code{max-width:150px}
.azb-modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.5);align-items:center;justify-content:center;padding:16px}
.azb-modal-box{background:#fff;border-radius:12px;max-width:460px;width:100%;padding:24px 26px;position:relative;box-shadow:0 10px 40px rgba(0,0,0,.25);max-height:90vh;overflow:auto}
.azb-modal-close{position:absolute;top:10px;right:14px;border:0;background:none;font-size:26px;line-height:1;color:#999;cursor:pointer}
.azb-modal-box h3{margin:0 0 6px;font-size:20px;color:#2f3338}
.azb-modal-intro{font-size:13px;color:#6f7580;margin:0 0 12px}
.azb-modal-list{list-style:none;padding:0;margin:0 0 14px}
.azb-modal-list li{padding:5px 0}
.azb-modal-list label,.azb-modal-leave{font-size:14px;color:#3a3f47;cursor:pointer}
.azb-modal-leave{display:block;margin:6px 0 16px;padding:12px;border:1px solid #eee;border-radius:8px;background:#faf7f4}
.azb-modal-actions{text-align:center}
.azb-prefs-page{max-width:680px;margin:0 auto;padding:0 12px}
.azb-prefs-card{max-width:620px;margin:10px auto 30px;background:#fff;border:1px solid #eee;border-radius:12px;padding:24px 28px;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.azb-loyalty-preferences .form-list li{padding:6px 0}
.azb-loyalty-preferences .buttons-set{text-align:right;margin-top:16px}
.azb-account-block h2 small{font-size:13px;font-weight:400;color:#6f7580;margin-left:8px}
/* history table */
.azb-account-history{width:100%;border-collapse:collapse;border:1px solid #ece7e9;border-radius:8px;overflow:hidden;font-size:14px}
.azb-account-history thead th{background:#faf3f6;color:#7a6b72;text-align:left;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.3px;padding:10px 14px;border-bottom:1px solid #ece7e9}
.azb-account-history thead th.a-right{text-align:right}
.azb-account-history tbody td{padding:11px 14px;border-bottom:1px solid #f1eef0;vertical-align:middle}
.azb-account-history tbody tr:last-child td{border-bottom:0}
.azb-account-history tbody tr:nth-child(even) td{background:#fcfafb}
.azb-account-history .azb-op{color:#3a3f47}
.azb-account-history .azb-op small{color:#9a9098}
.azb-account-history td.azb-pts{font-weight:700;white-space:nowrap}
.azb-account-history td.azb-pos{color:#2a8a4a}
.azb-account-history td.azb-neg{color:#b81d52}
.azb-status{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:11px;background:#eee;color:#555}
.azb-status-approved{background:#e5f4ea;color:#2a8a4a}
.azb-status-pending{background:#fff3e0;color:#b26a00}
.azb-status-expired,.azb-status-cancelled{background:#f3e6e9;color:#a23}
@media (max-width:640px){
  .azb-account-points .azb-account-history{border:0!important;font-size:13px;display:block}
  .azb-account-points .azb-account-history thead{display:none!important}
  .azb-account-points .azb-account-history tbody{display:block}
  .azb-account-points .azb-account-history tbody tr:nth-child(even) td{background:transparent!important}
  .azb-account-points .azb-account-history tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:3px;border:1px solid #ece7e9;border-radius:10px;margin:0 0 10px;padding:11px 14px;background:#fff;box-sizing:border-box}
  .azb-account-points .azb-account-history td{display:block!important;border:0!important;padding:0!important;background:transparent!important;text-align:left;white-space:normal}
  .azb-account-points .azb-account-history td:before{display:none!important}
  .azb-account-points .azb-account-history td.azb-op{grid-column:1;grid-row:1;min-width:0;font-weight:700;color:#3a3f47;line-height:1.35;overflow-wrap:anywhere}
  .azb-account-points .azb-account-history td.azb-op small{font-weight:400;color:#9a9098}
  .azb-account-points .azb-account-history td.azb-pts{grid-column:2;grid-row:1;text-align:right!important;font-size:15px;align-self:center;white-space:nowrap}
  .azb-account-points .azb-account-history td:nth-child(1){grid-column:1;grid-row:2;color:#9a9098;font-size:12px}
  .azb-account-points .azb-account-history td:nth-child(4){grid-column:2;grid-row:2;text-align:right;align-self:center}
}
.azb-account-referrals{list-style:none;padding:0;margin:10px 0 0;font-size:13px}
@media (max-width:640px){.azb-program-hero{padding:32px 18px}.azb-program-hero h1{font-size:32px}.azb-program-section{padding:24px 0}}

/* --- cart box lives inside .totals: outrank the theme's totals button rules --- */
.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button,.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button>span,.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button>span>span,
.checkout-cart-index .cart .totals .azb-loyalty-cart a.azb-loyalty-button,.checkout-cart-index .cart .totals .azb-loyalty-cart a.azb-loyalty-button span,
.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button-secondary,.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button-secondary>span,.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button-secondary>span>span{background:#fff!important;background-image:none!important;color:#de2666!important;text-shadow:none!important;filter:none!important}
.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button,.checkout-cart-index .cart .totals .azb-loyalty-cart a.azb-loyalty-button,.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button-secondary{border:1px solid #de2666!important;border-radius:4px!important;box-shadow:none!important}
.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button:hover,.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button:hover>span,.checkout-cart-index .cart .totals .azb-loyalty-cart button.azb-loyalty-button:hover>span>span,.checkout-cart-index .cart .totals .azb-loyalty-cart a.azb-loyalty-button:hover,.checkout-cart-index .cart .totals .azb-loyalty-cart a.azb-loyalty-button:hover span{background:#fff0f5!important;color:#b81d52!important}
.checkout-cart-index .cart .totals .azb-loyalty-cart .azb-loyalty-more{color:#3a3f47}

/* typography inside the theme's totals column (its span/p rules are more specific) */
.checkout-cart-index .cart .totals .azb-loyalty-box p,.checkout-cart-index .cart .totals .azb-loyalty-box label,.checkout-cart-index .cart .totals .azb-loyalty-slider-value,.checkout-cart-index .cart .totals .azb-loyalty-applied span,.checkout-cart-index .cart .totals .azb-loyalty-applied-amount{font-size:14px!important;line-height:1.45!important;color:#2f3338}
.checkout-cart-index .cart .totals .azb-loyalty-applied-amount{color:#de2666!important;font-weight:700}
.checkout-cart-index .cart .totals .azb-loyalty-box strong{font-size:17px!important;color:#de2666!important}
.checkout-cart-index .cart .totals .azb-loyalty-head strong{font-size:15px!important;color:#2f3338!important}

/* VIP progress bar — bordered, clearly readable */
.azb-progress-bar{display:block;height:18px;background:#f2ecee;border:1px solid #d9c6cf;border-radius:10px;overflow:hidden;margin:8px 0 4px;max-width:100%}
.azb-progress-bar.azb-progress-wide{width:280px;margin:8px auto 4px}
.azb-progress-bar{position:relative}
.azb-progress-fill{position:absolute;left:0;top:0;height:100%;background:#de2666;border-radius:9px 0 0 9px;transition:width .3s}
.azb-progress-label{position:relative;z-index:1;display:block;text-align:center;font-size:11px;font-weight:700;color:#fff;line-height:18px;text-shadow:0 0 3px rgba(0,0,0,.55),0 1px 1px rgba(0,0,0,.45)}
.azb-progress-pct{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;line-height:1;z-index:2;text-shadow:0 0 3px rgba(0,0,0,.55),0 1px 1px rgba(0,0,0,.45)}
.azb-account-card .azb-progress-bar{width:100%}

/* account page header with actions on the right */
.azb-account-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.azb-account-head h1{margin:0}
.azb-account-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:640px){.azb-account-head-actions{width:100%;justify-content:flex-start}}

.azb-loyalty-hint a{color:#de2666;font-weight:700;text-decoration:underline}
.azb-loyalty-guest .azb-loyalty-earn,.azb-loyalty-guest .azb-loyalty-hint{text-align:center;hyphens:auto}
.azb-loyalty-guest .azb-loyalty-more{margin-left:0}
@media (max-width:640px){.azb-account-block h2 small{display:block;margin-left:0;margin-top:2px}}

/* programme terms page */
.azb-rules{max-width:820px;margin:0 auto;padding:0 14px;color:#3a3f47;font-family:Lato,Roboto,Arial,sans-serif}
.azb-rules .page-title h1{font-weight:300}
.azb-rules-updated{color:#8a8f98;font-size:13px;margin:0 0 22px}
.azb-rules-section{margin:0 0 22px}
.azb-rules-section h2{font-size:18px;color:#de2666;font-weight:700;margin:0 0 8px}
.azb-rules-section ul{margin:0;padding-left:18px}
.azb-rules-section li{font-size:14px;line-height:1.6;margin:0 0 6px}
.azb-rules-back{margin:26px 0 34px}
.azb-program-rules-link{text-align:center;margin:16px 0 0}
.azb-program-rules-link a{font-size:13px;color:#de2666;text-decoration:underline}

.azb-tier-card img,.azb-program-tier img{width:88px;height:88px;display:block;margin:0 auto 6px}

/* fixes-vip-2026-08 */
.azb-program .azb-program-next{display:block;width:auto;max-width:none !important;margin:26px auto 6px !important;text-align:center !important;font-size:15px;color:#5b2740}
.azb-program .azb-program-note{display:block;text-align:center !important;max-width:760px;margin:18px auto 0;font-size:13px;color:#777}
.azb-program .azb-program-tier-card img,.azb-program .azb-tier-medal{width:96px;height:auto;display:block;margin:0 auto 10px}
.azb-program .azb-progress-bar.azb-progress-wide{margin-left:auto;margin-right:auto}
.azb-rules-modal-box{max-width:640px;max-height:82vh;overflow:auto;text-align:left}
.azb-rules-modal-box h3{color:#de2666;margin:0 0 12px}
.azb-rules-acc{border-bottom:1px solid #eee}
.azb-rules-acc summary{cursor:pointer;font-weight:700;color:#de2666;padding:12px 4px;list-style:none;font-size:15px;outline:none}
.azb-rules-acc summary::-webkit-details-marker{display:none}
.azb-rules-acc summary::after{content:'+';float:right;color:#de2666;font-weight:700;font-size:18px;line-height:1}
.azb-rules-acc[open] summary::after{content:'\2013'}
.azb-rules-acc ul{margin:0 0 12px;padding:2px 4px 0 20px}
.azb-rules-acc li{font-size:13px;line-height:1.6;margin:0 0 6px;color:#444}

/* règlement — AZF CMS look recolored to AZB */
.azb-rules{max-width:860px;margin:0 auto;padding:16px;color:#374151;font-family:Lato,Roboto,Arial,sans-serif}
.azb-rules h1{font-size:30px;font-weight:800;letter-spacing:-.01em;line-height:1.15;color:#111827;margin:0 0 8px}
.azb-rules-date{font-size:12px;font-style:italic;color:#6b7280;margin:0 0 28px}
.azb-rules-toc{background:#fdeef4;border:1px solid #f6c9dd;border-radius:10px;padding:14px 24px;margin:0 0 34px}
.azb-rules-toc-label{color:#be185d;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px}
.azb-rules-toc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:2px 20px}
@media(min-width:640px){.azb-rules-toc ul{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.azb-rules-toc ul{grid-template-columns:1fr 1fr 1fr}}
.azb-rules-toc li{margin:0;padding:0;list-style:none}
.azb-rules-toc a{display:flex;align-items:center;gap:8px;color:#374151;text-decoration:none;font-size:14px;padding:5px 0}
.azb-rules-toc a:hover{color:#de2666}
.azb-rules-toc .num{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:#de2666;color:#fff;border-radius:50%;font-size:12px;font-weight:700}
.azb-rules-sec{scroll-margin-top:24px}
.azb-rules-sec h2{font-size:20px;font-weight:700;color:#111827;border-left:4px solid #de2666;padding:6px 0 6px 14px;margin:52px 0 16px;line-height:1.3}
.azb-rules-sec ul{margin:0;padding-left:20px}
.azb-rules-sec li{font-size:14px;line-height:1.65;margin:0 0 8px;color:#374151}
.azb-rules-back{margin:40px 0}

/* fixes 2026-08-23: kill theme p max-width in programme; center referral + uncrop photo */
.azb-program p{max-width:none}
.azb-program .azb-program-referral{max-width:900px;margin:0 auto;gap:30px;justify-content:center;align-items:center}
.azb-program .azb-program-referral-photo{flex:0 0 300px;max-width:300px;max-height:none;overflow:visible;align-self:center}
.azb-program .azb-program-referral-photo img{width:100%;height:auto;display:block;border-radius:10px;object-fit:cover;object-position:center}
.azb-program .azb-program-referral-body{flex:1 1 auto;min-width:0;text-align:center}
.azb-program .azb-program-referral-big{max-width:none;margin:12px auto 14px}
@media (max-width:760px){.azb-program .azb-program-referral-photo{flex-basis:auto;width:100%;max-width:420px}}
.azb-program .azb-program-referral-body>*{text-align:center !important}
.azb-program .azb-program-referral-big{width:100%;text-align:center !important}

/* Cart spend AJAX: one owner for busy state, status and loader. */
.azb-loyalty-cart{position:relative}
.azb-loyalty-status{margin:0 0 10px;padding:9px 12px;border-radius:6px;font-size:13px;line-height:1.4}
.azb-loyalty-status:empty{display:none}
.azb-loyalty-status--success{background:#e8f6ed;color:#256a3c}
.azb-loyalty-status--notice{background:#fff8e5;color:#7a5b00}
.azb-loyalty-status--error{background:#fff0f3;color:#9d183f}
.azb-loyalty-loader{display:none;position:absolute;z-index:3;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border:3px solid rgba(222,38,102,.22);border-top-color:#de2666;border-radius:50%;animation:azb-loyalty-spin .7s linear infinite}
.azb-loyalty-is-busy .azb-loyalty-loader{display:block}
.azb-loyalty-is-busy .azb-loyalty-box{opacity:.48;pointer-events:none}
.azb-loyalty-is-busy button{cursor:wait}
@keyframes azb-loyalty-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.azb-loyalty-loader{animation-duration:1.4s}}

/* account: actions centered under the title rule + history search */
.azb-account-head-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:16px 0 24px;width:100%}
.azb-history-search{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.azb-history-search input{flex:1 1 auto;min-width:0;max-width:420px;padding:8px 12px;border:1px solid #e2d8dd;border-radius:8px;font-size:13px}
.azb-history-search input:focus{outline:none;border-color:#de2666;box-shadow:0 0 0 2px rgba(222,38,102,.12)}
.azb-history-count{color:#9a9098;font-size:12px;font-weight:700;white-space:nowrap}
.azb-history-empty{color:#9a9098;font-size:13px;margin:10px 0}
@media (max-width:640px){.azb-history-search input{max-width:none}}
