/* shared brand tokens (mirror design-system-v2) */
:root{
  --lq-page:#095892;--lq-surface:#06314f;--lq-surface-2:#0a3d61;
  --lq-line:rgba(255,255,255,.14);--lq-action:#0061d4;--lq-action-2:#36a9ff;
  --lq-ink:#fff;--lq-muted:#b3cde1;--lq-red:#e2231a;--lq-red-2:#b81910;
}
/* tiles: neutralise lazy-load placeholders + ensure bg images render */
#page-content .tile-inner{background-image:none !important}
#page-content .bg-img{opacity:1}

/* ---- carousel mechanics (drives the reused Owl markup via landing.js) ---- */
.lqc{position:relative}
.lqc .owl-stage-outer{overflow:hidden;position:relative}
.lqc .owl-stage{display:flex;will-change:transform;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.lqc .owl-item{flex:0 0 auto}

/* circular brand arrows (aligned with design-system v2) */
.lqc .owl-nav.side-arrows{display:block;position:absolute;top:0 !important;left:0;right:0;bottom:0;height:auto;pointer-events:none}
.lqc .owl-nav .owl-prev,.lqc .owl-nav .owl-next{position:absolute;top:50%;transform:translateY(-50%);z-index:6;pointer-events:auto}
.lqc .owl-nav .navleftbut,.lqc .owl-nav .navrightbut{
  width:48px;height:48px;padding:0;border:0;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,97,212,.85);box-shadow:0 8px 22px -10px rgba(0,0,0,.7);
  transition:background .2s,transform .2s}
.lqc .owl-nav .navleftbut:hover,.lqc .owl-nav .navrightbut:hover{background:var(--lq-action-2);transform:scale(1.06)}
.lqc .owl-nav svg.icon{width:18px;height:18px;fill:#fff}
.lqc.carousel-standard .owl-nav .navleftbut,.lqc.carousel-standard .owl-nav .navrightbut{width:56px;height:56px}
.lqc.carousel-standard .owl-nav svg.icon{width:22px;height:22px}
.lqc.carousel-standard .owl-nav .owl-prev{left:18px}
.lqc.carousel-standard .owl-nav .owl-next{right:18px}
.lqc.carousel-promotions .owl-nav .owl-prev,.lqc.carousel-gagnants .owl-nav .owl-prev{left:6px}
.lqc.carousel-promotions .owl-nav .owl-next,.lqc.carousel-gagnants .owl-nav .owl-next{right:6px}

/* dots */
.lqc .owl-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.lqc .owl-dots .owl-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.4);transition:background .2s,transform .2s}
.lqc .owl-dots .owl-dot:hover{background:rgba(255,255,255,.7)}
.lqc .owl-dots .owl-dot.active{background:var(--lq-ink);transform:scale(1.15)}

/* ---- hero height (restores what the Owl JS normally sets) ---- */
.for-carousel-standard .carousel-standard{height:50rem;overflow:hidden}
.for-carousel-standard .owl-stage-outer{height:100%;overflow:hidden}
.for-carousel-standard .owl-item .tile,.for-carousel-standard .owl-item .tile-inner,.for-carousel-standard .carousel-text-block{height:100%}
.for-carousel-standard .media-text-with-bg-image{min-height:50rem;height:100%;background-size:cover;background-position:center center;display:flex;flex-direction:column;justify-content:center}
.for-carousel-standard .media-text-with-bg-image>.desktop-content,.for-carousel-standard .media-text-with-bg-image>.mobile-content{width:100%}
/* neutralise the carousel's legacy vertical-centering (top:50%/translateY) so flex centering works on the static banner */
.for-carousel-standard .media-text-with-bg-image .desktop-content{position:static;top:auto;transform:none}
.for-carousel-standard .media-text-with-bg-image .desktop-content .row{width:100%;margin:0}
@media (max-width:767px){.for-carousel-standard .carousel-standard{height:auto}.for-carousel-standard .media-text-with-bg-image{min-height:84vw}}

/* ---- lottery row: white lotto cards + dark progressive cards (reference layout) ---- */
.lq-lottorow{align-items:stretch;padding:2rem 1.4rem;margin-left:0;margin-right:0}
.lq-lottorow [class*="col-"]{display:flex}
.lq-btn{display:inline-block;border:0;border-radius:6px;cursor:pointer;text-decoration:none;
  font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.3rem;text-transform:uppercase;
  letter-spacing:.03em;padding:.7rem 1.4rem;transition:background .18s,color .18s,transform .12s}
.lq-btn--buy{background:var(--lq-red);color:#fff}
.lq-btn--buy:hover{background:var(--lq-red-2);color:#fff;transform:translateY(-1px)}
#page-content a.lq-btn--res{background:#e8eef4;color:#000 !important}
#page-content a.lq-btn--res:hover,#page-content a.lq-btn--res:focus{background:#e8eef4;color:#000 !important;transform:none;box-shadow:none}
/* center the back-to-top icon */
#page-content #return-to-top{display:flex;align-items:center;justify-content:center}
#page-content #return-to-top .fa{margin:0;line-height:1}
/* white lotto card */
.lq-lotto{display:flex;flex-direction:column;width:100%;background:#fff;border-radius:12px;
  padding:1.6rem 1.6rem 1.8rem;box-shadow:0 16px 38px -20px rgba(0,0,0,.55);text-align:center}
.lq-lotto__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border-bottom:1px solid #e6ebf0;padding-bottom:1rem;margin-bottom:.4rem;text-align:left}
.lq-lotto__logo img{max-height:34px;width:auto;display:block}
.lq-lotto__date{color:#5a6b7a;font-family:latoregular,Arial,Helvetica,sans-serif;font-size:1.15rem;line-height:1.25;text-align:right}
.lq-lotto__date strong{color:#0a3d61;font-family:latomedium,Arial,Helvetica,sans-serif}
.lq-lotto__body{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:1.4rem 0}
.lq-lotto__value{color:#06314f;font-family:latoblack,Arial,Helvetica,sans-serif;font-size:3.2rem;line-height:1.02}
.lq-lotto__value--sm{font-size:2.2rem}
.lq-lotto__plus{color:#0a3d61;font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.5rem}
.lq-lotto__classique{color:#06314f;font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em}
.lq-lotto__classique strong{font-family:latoblack,Arial,Helvetica,sans-serif}
.lq-lotto__boule{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-top:.4rem}
.lq-lotto__boule-img{width:44px;height:44px;object-fit:contain}
.lq-lotto__boule-lbl{display:block;color:#5a6b7a;font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em}
.lq-lotto__approx{color:#7a8893;font-size:1.1rem;margin-top:.5rem}
/* force dark text on the white lotto cards (beats site.css generic white-text rules) */
#page-content .lq-lotto__value,#page-content .lq-lotto__value--sm{color:#06314f}
#page-content .lq-lotto__plus{color:#0a3d61}
#page-content .lq-lotto__classique,#page-content .lq-lotto__classique strong{color:#06314f}
#page-content .lq-lotto__date{color:#5a6b7a}
#page-content .lq-lotto__date strong{color:#0a3d61}
#page-content .lq-lotto__boule-lbl{color:#5a6b7a}
#page-content .lq-lotto__approx{color:#7a8893}
.lq-lotto__btns{display:flex;gap:.8rem;justify-content:center;margin-top:1rem}
/* dark progressive column */
.lq-progcol{display:flex;flex-direction:column;gap:1.2rem;width:100%}
.lq-prog{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1rem;padding:1.6rem 1.4rem;min-height:150px;border-radius:12px;text-decoration:none;
  background-color:#0a1430;background-size:cover;background-position:center;overflow:hidden;
  border:1px solid var(--lq-line);box-shadow:0 16px 38px -20px rgba(0,0,0,.6)}
.lq-prog::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,16,40,.55),rgba(6,16,40,.78))}
.lq-prog > *{position:relative;z-index:1}
.lq-prog__logo{max-height:48px;max-width:70%;width:auto;object-fit:contain}
.lq-prog__amount{display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap}
.lq-digit{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:2.3rem;padding:0 .25rem;
  background:#fff;color:#06314f;border-radius:4px;font-family:latoblack,Arial,Helvetica,sans-serif;font-size:1.6rem;
  font-variant-numeric:tabular-nums;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)}
.lq-gap{display:inline-block;width:.5rem}
.lq-cur{color:#fff;font-family:latoblack,Arial,Helvetica,sans-serif;font-size:1.5rem;margin-left:.3rem}
.lq-approx{color:var(--lq-muted);font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.1rem;text-transform:uppercase;letter-spacing:.04em;margin-left:.2rem}
.lq-prog__cta{margin-top:.2rem}
@media (max-width:767px){
  .lq-lottorow [class*="col-"]{margin-bottom:1.2rem}
  .lq-lotto__value{font-size:2.8rem}
}

/* ---- tile background images inside the rebuilt carousels ---- */
#page-content .carousel-gagnants .content-img,#page-content .on-en-parle .content-img{position:relative;overflow:hidden}
#page-content .carousel-gagnants .content-img .tile-inner,#page-content .on-en-parle .content-img .tile-inner{position:absolute;top:0;left:0;right:0;bottom:0;margin:0}
#page-content .carousel-gagnants .bg-img,#page-content .on-en-parle .bg-img{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center}
#page-content .carousel-gagnants .filiale{z-index:2}

/* ---- promotion cards: category header + square image + overlaid eyebrow/title/pill CTA ---- */
.lq-promo{padding:0 6px}
.lq-promo__cat{text-align:center;color:#cfe7ff;font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.4rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .9rem}
.lq-promo__card{position:relative;display:block;aspect-ratio:1/1;border-radius:12px;overflow:hidden;text-decoration:none;border:1px solid var(--lq-line);box-shadow:0 16px 36px -18px rgba(0,0,0,.7)}
.lq-promo__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.lq-promo__card:hover .lq-promo__img{transform:scale(1.06)}
.lq-promo__card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,30,52,0) 40%,rgba(4,30,52,.82) 100%)}
.lq-promo__body{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:1.3rem 1.4rem}
.lq-promo__eyebrow{color:#fff;font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:.05em;opacity:.92}
.lq-promo__title{color:#fff;font-family:latoblack,Arial,Helvetica,sans-serif;font-size:1.85rem;line-height:1.12}
.lq-promo__cta{margin-top:.5rem;display:inline-block;border:2px solid #fff;border-radius:8px;color:#fff;font-family:latomedium,Arial,Helvetica,sans-serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:.04em;padding:.5rem 1.25rem;transition:background .2s,color .2s}
.lq-promo__card:hover .lq-promo__cta{background:#fff;color:#06314f}

/* ---- footer link-lists: accordion on mobile + tablet, columns on desktop ---- */
@media (max-width:1023px){
  footer .link-lists>li{display:block;width:100%;border-bottom:1px solid rgba(255,255,255,.14)}
  footer .link-lists>li>button{position:relative;width:100%;cursor:pointer;text-align:left;padding:1.3rem 4rem 1.3rem 1.6rem}
  footer .link-lists>li>button::after{content:"";position:absolute;right:1.7rem;top:50%;width:.85rem;height:.85rem;margin-top:-.6rem;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform .3s;display:block}
  footer .link-lists>li.open>button::after{transform:rotate(-135deg)}
  footer .link-lists>li>button+ul{display:none !important;overflow:hidden}
  footer .link-lists>li.open>button+ul{display:block !important;padding-bottom:1rem}
}
@media (min-width:1024px){
  footer .link-lists>li{display:inline-block}
  footer .link-lists>li>button{cursor:default}
  footer .link-lists>li>button::after{display:none}
  footer .link-lists>li>button+ul{display:block !important}
}
