/* LuckyNumber Basket v0.3.53 — scoped WooCommerce Cart Block styling only. */
body.woocommerce-cart{--ln-basket-gold:#f5c768;--ln-basket-line:rgba(211,163,83,.38)}
body.woocommerce-cart .ln-page{max-width:1160px;margin-inline:auto}
body.woocommerce-cart .ln-page-head h1{color:var(--ln-basket-gold);font-weight:900;letter-spacing:-.035em}
body.woocommerce-cart .ln-page-body{background:transparent;border:0;box-shadow:none;padding:0}
body.woocommerce-cart .wp-block-woocommerce-cart{color:#f4f4f4;font-family:inherit}
body.woocommerce-cart .wp-block-woocommerce-cart a{color:var(--ln-basket-gold)}
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar{min-width:0}
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-totals-wrapper{border-color:var(--ln-basket-line)!important}
body.woocommerce-cart .wc-block-cart-items__row{border-bottom:1px solid rgba(255,255,255,.13)!important}
body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name{font-size:18px;font-weight:800;color:#fff;text-decoration:none}
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-formatted-money-amount{color:#f3f3f3}
body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-price{color:var(--ln-basket-gold);font-weight:750}
body.woocommerce-cart .wc-block-cart-items__row img{border-radius:12px;object-fit:cover}
body.woocommerce-cart .wc-block-components-quantity-selector{border:1px solid var(--ln-basket-line)!important;border-radius:12px!important;background:#23201b;color:#fff}
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button{color:#fff!important;background:transparent!important;box-shadow:none!important}
body.woocommerce-cart .wc-block-cart-item__remove-link{color:#d5d5d5!important;text-decoration:underline!important}
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-cart-items{background:#151515;border:1px solid var(--ln-basket-line);border-radius:22px;padding:clamp(14px,3vw,25px)}
body.woocommerce-cart .wc-block-cart__sidebar{height:fit-content}
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-components-totals-footer-item__label,
body.woocommerce-cart .wc-block-components-totals-footer-item__value{color:var(--ln-basket-gold)!important;font-weight:900!important}
body.woocommerce-cart .wc-block-components-totals-footer-item__value{font-size:clamp(22px,3vw,30px)}
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button:not(.is-link){background:linear-gradient(135deg,#ffda76,#ffbb32)!important;color:#15100a!important;border:1px solid #e2aa3b!important;border-radius:14px!important;min-height:55px;font-weight:900!important;text-decoration:none!important}
body.woocommerce-cart .wc-block-components-button .wc-block-components-button__text{color:inherit!important}
body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-components-combobox-control input{background:#242424!important;border:1px solid #70552f!important;border-radius:10px!important;color:#fff!important}
body.woocommerce-cart .wc-block-components-totals-coupon__form{gap:8px}
body.woocommerce-cart .wc-block-components-totals-coupon__form button{min-height:45px}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{background:#151515;border:1px solid var(--ln-basket-line);border-radius:24px;text-align:center;padding:clamp(22px,5vw,44px);max-width:700px;margin:0 auto}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{color:var(--ln-basket-gold)!important;font-size:clamp(18px,3.5vw,26px)!important;font-weight:900!important;line-height:1.16;max-width:18ch;margin:0 auto}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title:before{content:'🛒';display:flex;justify-content:center;align-items:center;margin:0 auto 24px;width:108px;height:108px;background:#302313;border:1px solid #8a652d;border-radius:50%;font-size:52px}
body.woocommerce-cart .ln-basket-empty-action{display:block;width:100%;max-width:400px;margin:24px auto 14px;padding:17px 20px;border-radius:14px;background:linear-gradient(135deg,#e5b94e,#ffcb60);color:#171009!important;text-decoration:none!important;font-weight:900;text-align:center}
body.woocommerce-cart .ln-basket-empty-action:hover{filter:brightness(1.08)}
/* The Cart Block's default new-products and cross-sell add-to-cart UI can bypass lottery ticket selection.
   Keep native product links, but hide direct add-to-cart buttons on the cart page. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button:has(.add_to_cart_button),
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block .wc-block-grid__product-add-to-cart{display:none!important}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2,
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block h2{color:var(--ln-basket-gold);font-weight:850}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:20px 0 0}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{width:auto!important;max-width:none!important;min-width:0;background:#101010;border:1px solid var(--ln-basket-line);border-radius:16px;overflow:hidden;padding:0 0 16px!important;text-align:left}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product img{width:100%;aspect-ratio:1.45;object-fit:cover}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{display:block;padding:0 12px;color:#fff;font-weight:800}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price{color:var(--ln-basket-gold)}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product a{text-decoration:none}
@media(max-width:760px){
 body.woocommerce-cart .ln-page{padding:24px 14px 0!important}
 body.woocommerce-cart .ln-page-body{padding:0!important}
 body.woocommerce-cart .wc-block-cart-items,
 body.woocommerce-cart .wc-block-cart__sidebar{padding:14px;border-radius:18px}
 body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name{font-size:15px}
 body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{padding:20px 14px}
 body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{gap:10px}
 body.woocommerce-cart .wp-block-woocommerce-cart{padding-bottom:16px!important;min-height:0!important}
}


/* v0.3.53: empty basket icon, horizontal competition rail and ticket display. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before{
    content:none!important;display:none!important;background:none!important;
}
body.woocommerce-cart .ln-basket-cart-icon{
    width:88px;height:88px;margin:0 auto 16px;border-radius:50%;
    border:1px solid #8a652d;background:#302313;display:flex;align-items:center;justify-content:center;
}
body.woocommerce-cart .ln-basket-cart-icon svg{width:46px;height:46px;fill:none;stroke:#f5c768;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr.wp-block-separator.is-style-dots,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots{display:none!important}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{
    display:flex!important;flex-wrap:nowrap!important;gap:12px!important;
    overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#76572c transparent;
    padding:2px 2px 12px!important;max-width:100%;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{
    flex:0 0 clamp(170px,65vw,240px)!important;width:clamp(170px,65vw,240px)!important;
    max-width:240px!important;scroll-snap-align:start;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price::after{
    content:" / entry";font-size:.85em;font-weight:500;
}
body.woocommerce-cart .ln-basket-competition-link{
    display:block;margin:12px 12px 0;padding:11px 8px;border-radius:11px;
    border:1px solid #b98836;background:#352611;color:#f5c768!important;
    text-align:center;text-decoration:none!important;font-size:14px;font-weight:800;
}
body.woocommerce-cart .ln-basket-competition-link:hover{background:#483116}
body.woocommerce-cart .ln-basket-ticket-value{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:42px;min-height:42px;margin:6px 0 0;padding:7px 12px;
    border:1px solid #b98836;border-radius:11px;background:#392a17;
    color:#f5c768;font-weight:800;
}
body.woocommerce-cart .wc-block-components-totals-footer-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item__value .wc-block-components-formatted-money-amount{
    color:#f5c768!important;
}
@media(max-width:760px){
 body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products{gap:12px!important}
 body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product{flex-basis:210px!important;width:210px!important}
}

/* Do not flash unfiltered WooCommerce new products before the active rail is built. */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products:not([data-ln-active-loaded]){visibility:hidden}

/* v0.3.91: long ticket numbers must never stretch mobile Cart; checkout is untouched. */
body.woocommerce-cart .wc-block-cart-items__row,body.woocommerce-cart .wc-block-cart-items__row td,body.woocommerce-cart .wc-block-cart-item__product,body.woocommerce-cart .wc-block-components-product-details,body.woocommerce-cart .wc-block-components-product-details__value,body.woocommerce-cart .ln-basket-ticket-value {min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;}
body.woocommerce-cart .wc-block-components-product-details li {min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
body.woocommerce-cart .wc-block-cart-items__row{max-width:100%!important;}

/* v0.3.95: compact ticket number summary; scoped exclusively to Basket (not Checkout). */
body.woocommerce-cart .wc-block-components-product-details__value.ln-basket-ticket-list{display:block!important;max-width:100%!important;min-width:0!important;padding:9px 10px!important;margin:5px 0 0!important;border:1px solid rgba(205,158,78,.34);border-radius:12px;background:#201d19;color:#eae5da!important;overflow:hidden!important;box-sizing:border-box!important;line-height:1.5}
body.woocommerce-cart .ln-basket-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
body.woocommerce-cart .ln-basket-ticket-count{font-size:12px;font-weight:700;color:#e6bb69}
body.woocommerce-cart .ln-basket-ticket-count-inner{display:inline-flex;align-items:center;gap:7px}
body.woocommerce-cart .ln-basket-ticket-count-icon{display:block;flex:0 0 auto;color:#efc16b;filter:drop-shadow(0 0 4px rgba(239,193,107,.14))}
body.woocommerce-cart .ln-basket-ticket-copy{border:1px solid rgba(205,158,78,.5);background:#2f291f;color:#f4c76f;min-width:33px;min-height:33px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;cursor:pointer;font-size:12px}
body.woocommerce-cart .ln-basket-ticket-copy.ln-basket-copy-feedback{color:#62d899}
body.woocommerce-cart .ln-basket-ticket-preview{display:block;background:transparent!important;border:0!important;box-shadow:none!important;color:#f1eee8!important;font:inherit;text-align:left;line-height:1.6;width:100%;max-width:100%;padding:3px 0!important;cursor:pointer;white-space:normal!important;overflow-wrap:anywhere!important}
body.woocommerce-cart .ln-basket-ticket-toggle{display:block;width:100%;background:transparent!important;border:0!important;border-top:1px solid rgba(205,158,78,.23)!important;color:#f2bf62!important;font-size:13px;font-weight:750;text-align:left;padding:10px 0 3px!important;margin-top:7px;cursor:pointer}
body.woocommerce-cart .ln-basket-ticket-all{max-height:240px;overflow:auto;overflow-wrap:anywhere;white-space:normal;font-size:13px;line-height:1.7;color:#e0dad0;padding:10px 8px;margin-top:5px;background:#151412;border-radius:8px;overscroll-behavior:contain}
body.woocommerce-cart .ln-basket-ticket-all[hidden]{display:none!important}

/* v0.3.96: handle WooCommerce Blocks nested ticket metadata without affecting Checkout. */
body.woocommerce-cart .wc-block-components-product-details li[data-ln-ticket-enhanced="1"] .wc-block-components-product-details__value{display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;}

/* v0.3.97 compact summary independent of Woo Blocks metadata tag shape. */
body.woocommerce-cart .ln-basket-ticket-list{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:9px 10px!important;margin:5px 0 0!important;border:1px solid rgba(205,158,78,.34);border-radius:12px;background:#201d19;color:#eae5da!important;overflow:hidden!important;box-sizing:border-box!important;line-height:1.5}

/* v0.3.98: use the available product-details column for the ticket summary.
   Never expand beyond the Cart item or affect Checkout. */
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-details li[data-ln-ticket-enhanced="1"] {
  width:100%!important; max-width:100%!important; min-width:0!important; box-sizing:border-box!important;
}
body.woocommerce-cart .wc-block-components-product-details .ln-basket-ticket-list,
body.woocommerce-cart .wc-block-components-product-details__value.ln-basket-ticket-list {
  width:100%!important; max-width:100%!important; box-sizing:border-box!important;
}

/* v0.3.99: the product metadata column is narrower than the cart row.
   The JS measures actual available space to the row edge; let the summary use it.
   Basket only; do not change any Checkout styles. */
@media (max-width:760px) {
 body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details,
 body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details li,
 body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details__value {
   overflow:visible!important;
 }
 body.woocommerce-cart .ln-basket-ticket-list {
   box-sizing:border-box!important;
   min-width:0!important;
 }
 body.woocommerce-cart .ln-basket-ticket-toggle {
   font-size:12px!important;
 }
}

/* v0.3.100: Label only the per-ticket price in the Basket; never cart totals or checkout. */
body.woocommerce-cart .wc-block-cart-items__row .ln-basket-unit-price::before{content:"Ticket price: ";font-weight:400;color:#d5d0c7;white-space:nowrap;}


/* v0.3.101: Cart Block coupon field and compact coupon heading; cart only. */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input{position:relative;min-width:0}
/* Keep the WooCommerce label available to screen readers but do not paint it over the typed code. */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input > label,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input > .wc-block-components-text-input__label{
 position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
 overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input::placeholder{
 color:#b9b4ac!important;opacity:1!important;
}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button::before,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon-link::before{
 content:'%';display:inline-flex;align-items:center;justify-content:center;
 width:21px;height:21px;flex:0 0 21px;margin-right:9px;
 border:1px solid #bd8d42;border-radius:6px;color:#e9b85e;
 font-size:14px;font-weight:800;line-height:1;vertical-align:middle;
}

/* v0.3.102: Remove excessive empty vertical space after Basket checkout action on phones.
   Keep the fixed bottom menu untouched and the checkout button in document flow. */
@media(max-width:760px){
 body.woocommerce-cart .ln-page{padding-bottom:12px!important;}
 body.woocommerce-cart .ln-page-body{margin-bottom:0!important;min-height:0!important;}
 body.woocommerce-cart .wp-block-woocommerce-cart,
 body.woocommerce-cart .wc-block-cart{min-height:0!important;margin-bottom:0!important;}
}

/* v0.3.103: tighten ONLY the mobile Basket ending, leaving navigation fixed and Checkout untouched. */
@media (max-width:760px) {
  body.woocommerce-cart .ln-page {padding-bottom:0!important; margin-bottom:0!important;}
  body.woocommerce-cart .ln-page-body {padding-bottom:0!important; margin-bottom:0!important;}
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wc-block-cart {padding-bottom:0!important; margin-bottom:0!important; min-height:0!important;}
  body.woocommerce-cart {padding-bottom:42px!important;}
}

/* v0.3.135: add a small ticket icon beside the ticket count; preserve centred Basket heading and wide ticket card. */
body.woocommerce-cart .ln-page-head h1{text-align:center!important;width:100%!important}
@media(max-width:760px){
 body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details,
 body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details li,
 body.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-details__value{overflow:visible!important}
}


/* v0.3.137: make the empty Basket message fit on one line more often across phones.
   Also reduce the empty-cart icon slightly for a cleaner balance. */
body.woocommerce-cart .ln-basket-cart-icon{
  width:76px;height:76px;margin:0 auto 14px;
}
body.woocommerce-cart .ln-basket-cart-icon svg{
  width:38px;height:38px;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{
  max-width:none!important;
  width:100%;
  font-size:clamp(15px,4.8vw,22px)!important;
  line-height:1.08!important;
  letter-spacing:-.02em;
  white-space:nowrap;
}
@media(max-width:390px){
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{
    font-size:clamp(14px,4.45vw,18px)!important;
  }
}

/* v0.3.138: responsive empty basket title only. Keep one line where it fits;
   on very narrow viewports allow a balanced wrap instead of clipping. */
@media (max-width: 359px) {
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    font-size: clamp(12px, 4.1vw, 15px)!important;
    letter-spacing: -.035em;
    white-space: normal;
    overflow-wrap: normal;
    text-wrap: balance;
  }
}
@media (min-width: 360px) and (max-width: 430px) {
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    font-size: clamp(14px, 4.1vw, 18px)!important;
    white-space: nowrap;
  }
}
