/*
 * LED Lounge — WooCommerce Shop & Product Page Styling
 * Volledig LED Lounge brandbook: donker, cyan/pink/purple neon
 * Montserrat koppen · Inter body
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Inter:wght@400;500;600&display=swap');

/* ═══════════════════════════════════════════════════════════
   GLOBAL WC BODY OVERRIDES
═══════════════════════════════════════════════════════════ */
body {
    background-color: #080810 !important;
    color: #e8eaf0 !important;
}
.woocommerce,
.woocommerce-page {
    background: transparent;
}

/* ─── Typography ─────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
    font-family: 'Montserrat', sans-serif !important;
    color: #ffffff !important;
    letter-spacing: -.02em;
}
p, li, td, th, label, span, div {
    font-family: 'Inter', sans-serif;
}

/* ═══════════════════════════════════════════════════════════
   SHOP / ARCHIVE LAYOUT
═══════════════════════════════════════════════════════════ */

/* Page title */
.woocommerce-products-header__title,
.page-title,
h1.page-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    font-size: clamp(1.8rem, 4vw, 3rem) !important;
    background: linear-gradient(135deg, #fff 30%, #00CFFF 70%, #9D4EDD 100%);
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    margin-bottom: 32px !important;
}

/* Results count + ordering */
.woocommerce-result-count {
    color: #555 !important;
    font-size: .82rem !important;
}
.woocommerce-ordering select {
    background: #111120 !important;
    border: 1px solid rgba(0,207,255,.2) !important;
    color: #c0c0d8 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: .85rem !important;
}

/* Product grid */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
@media (max-width: 900px) {
    ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
    ul.products { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT CARD (SHOP LOOP)
═══════════════════════════════════════════════════════════ */
ul.products li.product {
    background: #0f0f18 !important;
    border: 1px solid rgba(0,207,255,.1) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease !important;
    position: relative;
}
ul.products li.product:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(0,207,255,.35) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,.55), 0 0 30px rgba(0,207,255,.12) !important;
}

/* Product image */
ul.products li.product a img,
ul.products li.product .woocommerce-loop-product__link img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .5s ease !important;
}
ul.products li.product:hover img {
    transform: scale(1.05) !important;
}

/* Image overlay */
ul.products li.product a.woocommerce-loop-product__link {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
}
ul.products li.product a.woocommerce-loop-product__link::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0; left: 0; right: 0 !important;
    height: 60% !important;
    background: linear-gradient(to top, rgba(8,8,16,.85) 0%, transparent 100%) !important;
    pointer-events: none !important;
}

/* Card body */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
    color: #fff !important;
    padding: 14px 16px 4px !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* Price */
ul.products li.product .price {
    display: block !important;
    padding: 4px 16px 14px !important;
    color: #00CFFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}
ul.products li.product .price .woocommerce-Price-amount {
    color: #00CFFF !important;
}
ul.products li.product .price del {
    color: #444 !important;
    margin-right: 6px !important;
}
ul.products li.product .price ins {
    text-decoration: none !important;
}

/* Add to cart / view button */
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
ul.products li.product .llr-loop-btn {
    display: block !important;
    margin: 0 16px 16px !important;
    padding: 11px 16px !important;
    background: linear-gradient(135deg, #00CFFF, #9D4EDD) !important;
    color: #000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: .78rem !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    box-shadow: 0 4px 16px rgba(0,207,255,.2) !important;
}
ul.products li.product .button:hover,
ul.products li.product .llr-loop-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 24px rgba(0,207,255,.4) !important;
    color: #000 !important;
}

/* Sale badge */
ul.products li.product .onsale {
    background: linear-gradient(135deg, #FF4DDB, #9D4EDD) !important;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: .7rem !important;
    letter-spacing: .06em !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 1 !important;
    top: 12px !important;
    left: 12px !important;
}

/* Star rating */
ul.products li.product .star-rating {
    color: #00CFFF !important;
    padding: 0 16px 8px !important;
}
ul.products li.product .star-rating::before,
ul.products li.product .star-rating span::before {
    color: #00CFFF !important;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE
═══════════════════════════════════════════════════════════ */

/* Layout wrapper */
.woocommerce div.product,
.single-product .woocommerce div.product {
    background: transparent !important;
    padding: 0 !important;
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
    color: #444 !important;
    font-size: .82rem !important;
    margin-bottom: 24px !important;
}
.woocommerce .woocommerce-breadcrumb a {
    color: #00CFFF !important;
    text-decoration: none !important;
}
.woocommerce .woocommerce-breadcrumb a:hover {
    text-decoration: underline !important;
}

/* Product images column */
.woocommerce div.product div.images {
    position: relative !important;
}
.woocommerce div.product div.images img {
    border-radius: 14px !important;
    border: 1px solid rgba(0,207,255,.12) !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child img {
    box-shadow: 0 16px 48px rgba(0,0,0,.5), 0 0 40px rgba(0,207,255,.06) !important;
}
/* Gallery thumbnails */
.woocommerce div.product div.images .flex-control-thumbs li img {
    border-radius: 8px !important;
    border: 2px solid transparent !important;
    transition: border-color .18s !important;
    opacity: .6 !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
    border-color: #00CFFF !important;
    opacity: 1 !important;
}

/* Summary column */
.woocommerce div.product div.summary {
    background: #0d0d18 !important;
    border: 1px solid rgba(0,207,255,.1) !important;
    border-radius: 16px !important;
    padding: 28px !important;
}

/* Product title */
.woocommerce div.product .product_title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    color: #fff !important;
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
}

/* Category in single product */
.woocommerce div.product .posted_in {
    font-size: .78rem !important;
    color: #9D4EDD !important;
    margin-bottom: 12px !important;
    display: block !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}
.woocommerce div.product .posted_in a {
    color: #9D4EDD !important;
    text-decoration: none !important;
}

/* Star rating */
.woocommerce div.product .woocommerce-product-rating {
    margin-bottom: 16px !important;
}
.woocommerce div.product .star-rating {
    color: #00CFFF !important;
}
.woocommerce div.product .star-rating::before,
.woocommerce div.product .star-rating span::before {
    color: #00CFFF !important;
}
.woocommerce div.product .woocommerce-review-link {
    color: #555 !important;
    font-size: .82rem !important;
}

/* Price on single product */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: #00CFFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.6rem !important;
    margin-bottom: 20px !important;
    display: block !important;
}
.woocommerce div.product p.price .woocommerce-Price-amount,
.woocommerce div.product span.price .woocommerce-Price-amount {
    color: #00CFFF !important;
}
.woocommerce div.product p.price small {
    font-size: .75rem !important;
    color: #555 !important;
    font-weight: 400 !important;
    margin-left: 3px !important;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
    color: #8a8fa8 !important;
    font-size: .92rem !important;
    line-height: 1.7 !important;
    margin-bottom: 24px !important;
    border-top: 1px solid rgba(255,255,255,.05) !important;
    padding-top: 18px !important;
}
.woocommerce div.product .woocommerce-product-details__short-description p {
    margin-bottom: 8px !important;
    color: #8a8fa8 !important;
}

/* Quantity */
.woocommerce div.product form.cart .quantity input.qty {
    background: #111120 !important;
    border: 1px solid rgba(0,207,255,.2) !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: .95rem !important;
    padding: 10px 12px !important;
    width: 70px !important;
    text-align: center !important;
}

/* Add to cart button (single product) */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button {
    background: linear-gradient(135deg, #00CFFF, #9D4EDD) !important;
    color: #000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: .88rem !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    box-shadow: 0 6px 24px rgba(0,207,255,.25) !important;
    margin-top: 4px !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(0,207,255,.45) !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 48px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    background: transparent !important;
    border-bottom: 1px solid rgba(0,207,255,.12) !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    margin: 0 4px 0 0 !important;
    padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: #555 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: .82rem !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    padding: 12px 18px !important;
    display: block !important;
    transition: color .18s !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: #00CFFF !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #00CFFF !important;
}

/* Tab panels */
.woocommerce div.product .woocommerce-tabs .panel {
    background: #0d0d18 !important;
    border: 1px solid rgba(0,207,255,.1) !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    padding: 28px !important;
    color: #8a8fa8 !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-size: 1.1rem !important;
    margin-bottom: 16px !important;
    color: #fff !important;
}
.woocommerce div.product .woocommerce-tabs .panel p {
    color: #8a8fa8 !important;
    line-height: 1.7 !important;
}

/* Reviews */
#reviews #comments ol.commentlist li .comment_container {
    background: #111120 !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 10px !important;
    padding: 16px !important;
}
#reviews #comments ol.commentlist li .comment-text p.meta strong {
    color: #fff !important;
}
#reviews #comments ol.commentlist li .comment-text .star-rating {
    color: #00CFFF !important;
}

/* Related products */
.related.products h2,
.up-sells h2,
.cross-sells h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.3rem !important;
    color: #fff !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(0,207,255,.12) !important;
}

/* ═══════════════════════════════════════════════════════════
   NOTICES / MESSAGES
═══════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
    background: #0d0d18 !important;
    border-top: none !important;
    border-left: 4px solid #00CFFF !important;
    border-radius: 0 10px 10px 0 !important;
    color: #c0c0d8 !important;
    padding: 14px 20px !important;
    margin-bottom: 20px !important;
}
.woocommerce-error {
    border-left-color: #FF4DDB !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
    color: #00CFFF !important;
}
.woocommerce-error::before {
    color: #FF4DDB !important;
}
.woocommerce-message a.button,
.woocommerce-notice a.button {
    background: #00CFFF !important;
    color: #000 !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════════════════
   CART & CHECKOUT
═══════════════════════════════════════════════════════════ */
.woocommerce-cart table.cart,
.woocommerce-checkout .woocommerce {
    background: transparent !important;
}
.woocommerce table.shop_table {
    background: #0d0d18 !important;
    border: 1px solid rgba(0,207,255,.1) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border-collapse: separate !important;
}
.woocommerce table.shop_table th {
    background: #111120 !important;
    color: #00CFFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: .75rem !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid rgba(0,207,255,.12) !important;
}
.woocommerce table.shop_table td {
    background: transparent !important;
    color: #c0c0d8 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,.04) !important;
    padding: 14px 16px !important;
    vertical-align: middle !important;
}
.woocommerce table.shop_table .product-name a {
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.woocommerce table.shop_table .product-price .woocommerce-Price-amount,
.woocommerce table.shop_table .product-total .woocommerce-Price-amount {
    color: #00CFFF !important;
    font-weight: 700 !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #0d0d18 !important;
    border: 1px solid rgba(0,207,255,.12) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-size: 1rem !important;
    margin-bottom: 14px !important;
}
/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce .button.checkout-button,
.woocommerce #place_order {
    background: linear-gradient(135deg, #00CFFF, #9D4EDD) !important;
    color: #000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 14px 32px !important;
    transition: all .2s ease !important;
    box-shadow: 0 6px 24px rgba(0,207,255,.25) !important;
    text-transform: uppercase !important;
    font-size: .88rem !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover {
    box-shadow: 0 8px 32px rgba(0,207,255,.45) !important;
    transform: translateY(-2px) !important;
    color: #000 !important;
}

/* Checkout form */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1rem !important;
    color: #00CFFF !important;
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(0,207,255,.12) !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.woocommerce form .form-row label {
    color: #7a7f96 !important;
    font-size: .78rem !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin-bottom: 5px !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
    background: #111120 !important;
    border: 1px solid rgba(0,207,255,.15) !important;
    border-radius: 8px !important;
    color: #e0e0f0 !important;
    padding: 11px 12px !important;
    font-size: .9rem !important;
    transition: border-color .18s !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
    border-color: #00CFFF !important;
    box-shadow: 0 0 0 3px rgba(0,207,255,.1) !important;
    outline: none !important;
}

/* ═══════════════════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════════════════ */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: #111120 !important;
    border: 1px solid rgba(0,207,255,.15) !important;
    color: #7a7f96 !important;
    border-radius: 8px !important;
    margin: 0 3px !important;
    transition: all .18s !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #00CFFF !important;
    color: #000 !important;
    border-color: #00CFFF !important;
}

/* ═══════════════════════════════════════════════════════════
   FLATPICKR CALENDAR GLOBAL (for single product page)
═══════════════════════════════════════════════════════════ */
.flatpickr-calendar {
    background: #13131e !important;
    border: 1px solid rgba(0,207,255,.22) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.7), 0 0 0 1px rgba(0,207,255,.08) !important;
    font-family: 'Inter', sans-serif !important;
    overflow: hidden !important;
}
.flatpickr-months {
    background: linear-gradient(135deg, #0a0a14, #0d1a2e) !important;
    padding: 8px 0 4px !important;
    border-bottom: 1px solid rgba(0,207,255,.12) !important;
}
.flatpickr-month { color: #fff !important; height: 36px !important; }
.flatpickr-current-month {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
    color: #fff !important;
    padding-top: 4px !important;
}
.flatpickr-current-month input.cur-year {
    color: #fff !important;
    font-weight: 600 !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    background: #0d0d18 !important;
    color: #fff !important;
}
.flatpickr-prev-month,
.flatpickr-next-month {
    color: #00CFFF !important;
    fill: #00CFFF !important;
    padding: 8px !important;
    transition: color .15s !important;
}
.flatpickr-prev-month:hover,
.flatpickr-next-month:hover { color: #FF4DDB !important; fill: #FF4DDB !important; }
.flatpickr-prev-month svg,
.flatpickr-next-month svg { fill: inherit !important; }

.flatpickr-weekdays { background: rgba(0,207,255,.04) !important; padding: 6px 0 !important; }
span.flatpickr-weekday {
    color: rgba(0,207,255,.5) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    background: transparent !important;
}
.flatpickr-days { padding: 6px !important; }
.dayContainer { padding: 2px !important; }
.flatpickr-day {
    color: #c0c8d8 !important;
    border-radius: 8px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: .88rem !important;
    margin: 1px !important;
    transition: background .14s, color .14s !important;
    border: 1px solid transparent !important;
}
.flatpickr-day:hover:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay) {
    background: rgba(0,207,255,.12) !important;
    border-color: rgba(0,207,255,.25) !important;
    color: #00CFFF !important;
}
.flatpickr-day.today {
    border-color: rgba(0,207,255,.4) !important;
    color: #00CFFF !important;
}
.flatpickr-day.today:hover {
    background: rgba(0,207,255,.15) !important;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #00CFFF !important;
    border-color: #00CFFF !important;
    color: #0a0a0a !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 10px rgba(0,207,255,.4) !important;
}
.flatpickr-day.inRange {
    background: rgba(0,207,255,.1) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: #00CFFF !important;
}
.flatpickr-day.startRange.endRange {
    border-radius: 8px !important;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: rgba(255,255,255,.15) !important;
    background: transparent !important;
    text-decoration: line-through !important;
    cursor: not-allowed !important;
    border-color: transparent !important;
}
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: rgba(255,255,255,.15) !important;
}
.numInputWrapper { color: #fff !important; }
.numInputWrapper span { border-color: rgba(255,255,255,.1) !important; }
.numInputWrapper span:after {
    border-top-color: #00CFFF !important;
    border-bottom-color: #00CFFF !important;
}
.flatpickr-time input { background: transparent !important; color: #fff !important; }
