/*
Theme Name: Flavor Starter Theme Child
Theme URI: https://datendirekt.de
Description: Flavor Starter Theme Child with WooCommerce Landing Pages
Author: DataDirekt
Template: flavor-starter-theme
Version: 1.2.0
Text Domain: flavor-starter-theme-child
*/

/* ==========================================================================
   LANDING PAGE - FULL WIDTH FIX
   ========================================================================== */

body.ll-landing-active .site-main,
body.ll-landing-active .page-content,
body.ll-landing-active .entry-content,
body.ll-landing-active .elementor-location-single,
body.ll-landing-active #content,
body.ll-landing-active .content-area,
body.ll-landing-active .site-content,
body.ll-landing-active .landing-page-content,
body.ll-landing-active .woocommerce-product-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.ll-landing-active .woocommerce-breadcrumb,
body.ll-landing-active .woocommerce-products-header,
body.ll-landing-active .related.products,
body.ll-landing-active .up-sells,
body.ll-landing-active .woocommerce-tabs {
    display: none !important;
}

/* ==========================================================================
   WOOCOMMERCE NOTICES
   
   The "added to cart" message is suppressed via PHP on the cart page
   to prevent the flash caused by FluidCheckout's auto-dismiss.
   
   These styles are kept for error/info messages that may still appear.
   ========================================================================== */

/* Hide messages on product/landing pages (redirect handles feedback) */
body.single-product .woocommerce-message,
body.ll-landing-active .woocommerce-message,
body.single-product .woocommerce-notices-wrapper .woocommerce-message,
body.ll-landing-active .woocommerce-notices-wrapper .woocommerce-message {
    display: none !important;
}

/* Error messages should always be visible */
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ==========================================================================
   EMPTY CART PAGE STYLING
   ========================================================================== */

/* Center the empty cart message */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .woocommerce-info {
    text-align: center;
    max-width: 500px;
    margin: 60px auto !important;
    padding: 40px 30px !important;
    background: #f8f9fa;
    border: none !important;
    border-radius: 12px;
    font-size: 18px;
    color: #555;
}

/* Style the empty cart icon (if FluidCheckout shows one) */
.woocommerce-cart .cart-empty::before,
.woocommerce-cart .wc-empty-cart-message::before {
    display: block !important;
    font-size: 48px;
    margin-bottom: 15px;
    opacity: 0.5;
}

/* Center the "Return to shop" button */
.woocommerce-cart .return-to-shop,
.woocommerce-cart .wc-forward {
    text-align: center;
    margin: 30px auto;
    display: block;
}

.woocommerce-cart .return-to-shop a.button,
.woocommerce-cart a.wc-forward {
    display: inline-block;
    background: #05889A;
    color: #fff;
    padding: 15px 40px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s ease;
}

.woocommerce-cart .return-to-shop a.button:hover,
.woocommerce-cart a.wc-forward:hover {
    background: #046d7a;
}

/* FluidCheckout specific empty cart styling */
.fc-cart-empty-wrapper,
.fc-wrapper .cart-empty {
    text-align: center;
    max-width: 500px;
    margin: 60px auto;
}

/* Center the entire empty cart container */
.woocommerce-cart .woocommerce {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 50vh;
    justify-content: center;
}

/* ==========================================================================
   CART & CHECKOUT PAGE NOTICES - OPTIONAL STYLING
   
   These styles are optional - remove if you want default WooCommerce styling.
   Note: Do NOT add display:block !important or visibility:visible !important
   ========================================================================== */

body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message {
    background: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
    padding: 15px 20px;
    border-radius: 8px;
    margin: 0 0 20px 0;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
}

body.woocommerce-cart .woocommerce-message a,
body.woocommerce-checkout .woocommerce-message a {
    color: #155724;
    font-weight: 600;
    text-decoration: underline;
}

body.woocommerce-cart .woocommerce-message a:hover,
body.woocommerce-checkout .woocommerce-message a:hover {
    color: #0d3d16;
}

body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info {
    background: #e7f3ff;
    border: 1px solid #b6d4fe;
    color: #084298;
    padding: 15px 20px;
    border-radius: 8px;
    margin: 0 0 20px 0;
}

body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
    background: #f8d7da;
    border: 1px solid #f5c2c7;
    color: #842029;
    padding: 15px 20px;
    border-radius: 8px;
    margin: 0 0 20px 0;
}

/* ==========================================================================
   CART & CHECKOUT PAGE - HIDE TITLE AND REMOVE SPACING
   ========================================================================== */

/* Hide page titles on cart and checkout */
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart h1.wp-block-post-title,
body.woocommerce-cart .woocommerce-page-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout h1.wp-block-post-title,
body.woocommerce-checkout .woocommerce-page-title {
    display: none !important;
}

/* Remove all spacing/padding that creates gaps */
body.woocommerce-cart .site-main,
body.woocommerce-cart #content,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout #content,
body.woocommerce-checkout .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.woocommerce-cart .entry-content,
body.woocommerce-cart .page-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .page-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ==========================================================================
   CART & CHECKOUT PAGE STYLES
   ========================================================================== */

/* Main container layout */
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Hide sidebar on cart and checkout */
body.woocommerce-cart .widget-area,
body.woocommerce-cart .sidebar,
body.woocommerce-cart aside,
body.woocommerce-checkout .widget-area,
body.woocommerce-checkout .sidebar,
body.woocommerce-checkout aside#secondary {
    display: none !important;
}

/* Cart table styling */
.woocommerce-cart-form,
.woocommerce table.shop_table {
    width: 100%;
    margin-bottom: 30px;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 15px;
}

/* Cart totals box */
.cart_totals,
.wc-block-cart__sidebar {
    background: #f9f9f9;
    padding: 25px;
    border-radius: 8px;
}

/* Proceed to checkout button */
.wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button,
a.checkout-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background: #5047f7 !important;
    color: white !important;
    padding: 15px 30px !important;
    border-radius: 8px !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: background 0.3s !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce a.checkout-button:hover,
a.checkout-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background: #4038d9 !important;
    color: white !important;
}

/* Place order button */
#place_order,
.woocommerce #place_order {
    background: #5047f7 !important;
    color: white !important;
    padding: 18px 35px !important;
    border-radius: 8px !important;
    border: none !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 20px !important;
}

#place_order:hover {
    background: #4038d9 !important;
}

/* ==========================================================================
   LANDING PAGE BASE STYLES
   ========================================================================== */

.ll-landing-page {
    font-family: 'Manrope', sans-serif;
    color: #0c0c13;
    line-height: 1.6;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.ll-landing-page * {
    box-sizing: border-box;
}

.ll-landing-page .container {
    max-width: 1410px;
    margin: 0 auto;
    padding: 0 1rem;
    width: 100%;
}

@media (min-width: 640px) {
    .ll-landing-page .container {
        padding: 0 1.5rem;
    }
}

@media (min-width: 1024px) {
    .ll-landing-page .container {
        padding: 0 2rem;
    }
}

.ll-landing-page .ll-landing-section {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding-left: 0;
    padding-right: 0;
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */

.ll-landing-page .hero-section {
    position: relative;
    padding: 5rem 0 4rem;
    overflow: hidden;
}

@media (min-width: 768px) {
    .ll-landing-page .hero-section {
        padding: 6rem 0;
    }
}

.ll-landing-page .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #eff6ff 0%, #e0e7ff 50%, #f3e8ff 100%);
    z-index: -1;
}

.ll-landing-page .hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .ll-landing-page .hero-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.ll-landing-page .hero-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.ll-landing-page .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #f1f1f1;
    color: #0c0c13;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.144px;
    width: fit-content;
}

.ll-landing-page .hero-badge svg {
    width: 16px;
    height: 16px;
}

.ll-landing-page .hero-title {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.8px;
    color: #0c0c13;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .ll-landing-page .hero-title {
        font-size: 64px;
        letter-spacing: -1.92px;
    }
}

.ll-landing-page .hero-title-gradient {
    background: linear-gradient(90deg, #736CF9 0%, #5047f7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ll-landing-page .hero-description {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: -0.192px;
    color: #3d3d42;
    max-width: 700px;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .ll-landing-page .hero-description {
        font-size: 18px;
        letter-spacing: -0.216px;
    }
}

.ll-landing-page .hero-benefits {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 640px) {
    .ll-landing-page .hero-benefits {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ll-landing-page .hero-benefit {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.ll-landing-page .hero-benefit-icon {
    background: #fafafa;
    border: 1px solid rgba(143,143,146,0.15);
    padding: 0.5rem;
    border-radius: 9999px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ll-landing-page .hero-benefit-icon svg {
    width: 20px;
    height: 20px;
    color: #5047f7;
}

.ll-landing-page .hero-benefit-title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    color: #0c0c13;
    margin: 0 0 0.25rem 0;
    padding: 0;
}

.ll-landing-page .hero-benefit-subtitle {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0;
    padding: 0;
}

.ll-landing-page .hero-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem;
}

@media (min-width: 640px) {
    .ll-landing-page .hero-cta-buttons {
        flex-direction: row;
    }
}

.ll-landing-page .hero-cta-primary {
    background: #5047f7;
    color: white !important;
    padding: 0.75rem 2rem;
    border-radius: 9999px;
    border: 1px solid #4941e1;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 0.5px 4px rgba(0,0,0,0.25);
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.ll-landing-page .hero-cta-primary:hover {
    background: #4038d9;
    color: white !important;
}

.ll-landing-page .hero-cta-secondary {
    background: #fafafa;
    color: #0c0c13 !important;
    padding: 0.75rem 2rem;
    border-radius: 9999px;
    border: 1px solid rgba(143,143,146,0.15);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.ll-landing-page .hero-cta-secondary:hover {
    border-color: #5047f7;
    color: #5047f7 !important;
}

.ll-landing-page .hero-trust {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(143,143,146,0.15);
    flex-wrap: wrap;
}

.ll-landing-page .hero-trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ll-landing-page .hero-trust-item svg {
    width: 20px;
    height: 20px;
}

.ll-landing-page .hero-trust-text {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.192px;
    color: #0c0c13;
}

.ll-landing-page .hero-trust-dot {
    width: 6px;
    height: 6px;
    background: #0c0c13;
    border-radius: 9999px;
}

.ll-landing-page .hero-image-wrapper {
    position: relative;
}

.ll-landing-page .hero-image {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
}

.ll-landing-page .hero-image img {
    width: 100%;
    height: auto;
    min-height: 400px;
    object-fit: cover;
    display: block;
}

.ll-landing-page .hero-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(30, 58, 138, 0.2) 0%, transparent 100%);
}

.ll-landing-page .hero-floating-card {
    position: absolute;
    bottom: -1.5rem;
    left: -1.5rem;
    background: white;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
    border: 1px solid rgba(243,244,246,1);
    max-width: 300px;
    display: none;
}

@media (min-width: 1024px) {
    .ll-landing-page .hero-floating-card {
        display: block;
    }
}

.ll-landing-page .hero-floating-card-content {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ll-landing-page .hero-floating-icon {
    background: rgba(127,120,255,0.15);
    padding: 0.75rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ll-landing-page .hero-floating-icon svg {
    width: 24px;
    height: 24px;
    color: #5047f7;
}

.ll-landing-page .hero-floating-title {
    font-size: 16px;
    font-weight: 600;
    color: #0c0c13;
    margin: 0 0 0.25rem 0;
    padding: 0;
}

.ll-landing-page .hero-floating-subtitle {
    font-size: 14px;
    color: #5c5c61;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   FEATURES SECTION
   ========================================================================== */

.ll-landing-page .features-section {
    padding: 4rem 0;
    background: white;
}

@media (min-width: 768px) {
    .ll-landing-page .features-section {
        padding: 6rem 0;
    }
}

.ll-landing-page .section-header {
    text-align: center;
    max-width: 48rem;
    margin: 0 auto 4rem;
}

.ll-landing-page .section-badge {
    display: inline-block;
    background: #f1f1f1;
    color: #0c0c13;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.144px;
    margin-bottom: 1.5rem;
}

.ll-landing-page .section-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.64px;
    color: #0c0c13;
    margin: 0 0 1.5rem 0;
    padding: 0;
}

@media (min-width: 768px) {
    .ll-landing-page .section-title {
        font-size: 48px;
        letter-spacing: -0.96px;
    }
}

.ll-landing-page .section-description {
    font-size: 18px;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: -0.216px;
    color: #3d3d42;
    margin: 0;
    padding: 0;
}

.ll-landing-page .features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 3rem;
}

@media (min-width: 768px) {
    .ll-landing-page .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ll-landing-page .features-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.ll-landing-page .feature-card {
    background: #fafafa;
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid rgba(143,143,146,0.15);
}

.ll-landing-page .feature-icon {
    width: 48px;
    height: 48px;
    background: rgba(127,120,255,0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.ll-landing-page .feature-icon svg {
    width: 24px;
    height: 24px;
    color: #5047f7;
}

.ll-landing-page .feature-title {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.216px;
    color: #0c0c13;
    margin: 0 0 0.75rem 0;
    padding: 0;
}

.ll-landing-page .feature-description {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

.ll-landing-page .data-points-section {
    background: linear-gradient(135deg, rgba(127,120,255,0.15) 0%, rgba(218,216,255,0.15) 100%);
    border: 1px solid rgba(143,143,146,0.15);
    border-radius: 24px;
    padding: 2rem;
    margin-top: 4rem;
}

@media (min-width: 768px) {
    .ll-landing-page .data-points-section {
        padding: 3rem;
    }
}

.ll-landing-page .data-points-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .ll-landing-page .data-points-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.ll-landing-page .data-points-title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.288px;
    color: #0c0c13;
    margin: 0 0 1rem 0;
    padding: 0;
}

.ll-landing-page .data-points-description {
    font-size: 16px;
    letter-spacing: -0.192px;
    color: #3d3d42;
    line-height: 1.6;
    margin: 0 0 1.5rem 0;
    padding: 0;
}

.ll-landing-page .data-sample-cards {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ll-landing-page .data-point {
    background: white;
    padding: 1rem;
    border-radius: 6px;
    border: 1px solid rgba(143,143,146,0.24);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.ll-landing-page .data-point-text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0;
    padding: 0;
}

.ll-landing-page .data-point-value {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.168px;
    color: #0c0c13;
    text-align: right;
    margin: 0;
    padding: 0;
}

.ll-landing-page .data-sample-image {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
}

.ll-landing-page .data-sample-image img {
    width: 100%;
    height: auto;
    min-height: 300px;
    object-fit: cover;
    display: block;
}

/* ==========================================================================
   PRICING SECTION
   ========================================================================== */

.ll-landing-page .pricing-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, rgba(127,120,255,0.15) 0%, rgba(218,216,255,0.15) 100%);
}

@media (min-width: 768px) {
    .ll-landing-page .pricing-section {
        padding: 6rem 0;
    }
}

.ll-landing-page .pricing-card-wrapper {
    max-width: 42rem;
    margin: 0 auto;
}

.ll-landing-page .pricing-card {
    position: relative;
    background: white;
    border-radius: 24px;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
    overflow: hidden;
    border: 2px solid #5047f7;
}

.ll-landing-page .pricing-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(90deg, #736CF9 0%, #5047f7 100%);
    color: white;
    padding: 0.5rem 1.5rem;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.168px;
    border-bottom-left-radius: 8px;
}

.ll-landing-page .pricing-content {
    padding: 2rem;
}

@media (min-width: 768px) {
    .ll-landing-page .pricing-content {
        padding: 3rem;
    }
}

.ll-landing-page .package-title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.288px;
    color: #0c0c13;
    margin: 0 0 0.5rem 0;
    padding: 0;
}

.ll-landing-page .package-subtitle {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0 0 1.5rem 0;
    padding: 0;
}

.ll-landing-page .price-wrapper {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.ll-landing-page .price {
    font-size: 48px;
    font-weight: 500;
    letter-spacing: -1.44px;
    color: #0c0c13;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .ll-landing-page .price {
        font-size: 64px;
        letter-spacing: -1.92px;
    }
}

.ll-landing-page .price-old {
    font-size: 24px;
    letter-spacing: -0.288px;
    color: #5c5c61;
    text-decoration: line-through;
    margin: 0;
    padding: 0;
}

.ll-landing-page .savings {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.168px;
    color: #5047f7;
    margin: 0;
    padding: 0;
}

.ll-landing-page .price-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #5047f7;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.ll-landing-page .price-tag svg {
    width: 16px;
    height: 16px;
}

.ll-landing-page .price-tag-text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.168px;
    margin: 0;
    padding: 0;
}

.ll-landing-page .features-list-title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    color: #0c0c13;
    margin: 0 0 1rem 0;
    padding: 0;
}

.ll-landing-page .features-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0 0 2rem 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 640px) {
    .ll-landing-page .features-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ll-landing-page .feature-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.ll-landing-page .feature-item svg {
    width: 16px;
    height: 16px;
    color: #5047f7;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ==========================================================================
   PAYMENT SECTION - ADD TO CART BUTTON STYLES
   ========================================================================== */

.ll-landing-page .payment-section {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(143,143,146,0.15);
}

.ll-landing-page .payment-section-title {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0 0 1rem 0;
    padding: 0;
}

/* Add to Cart Link Button Styling */
.ll-landing-page .ll-add-to-cart-wrapper {
    width: 100%;
}

.ll-landing-page .ll-add-to-cart-link,
.ll-landing-page .single_add_to_cart_button,
.ll-landing-page a.button.alt {
    display: block !important;
    width: 100% !important;
    padding: 1rem 1.5rem !important;
    border-radius: 8px !important;
    border: 1px solid #4038d9 !important;
    background: #5047f7 !important;
    color: white !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: -0.192px !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    box-shadow: 0 2px 8px rgba(80, 71, 247, 0.3) !important;
    text-decoration: none !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.ll-landing-page .ll-add-to-cart-link:hover,
.ll-landing-page .single_add_to_cart_button:hover,
.ll-landing-page a.button.alt:hover {
    background: #4038d9 !important;
    color: white !important;
    text-decoration: none !important;
}

/* Already in cart button - slightly different style */
.ll-landing-page .ll-add-to-cart-link.ll-already-in-cart {
    background: #22c55e !important;
    border-color: #16a34a !important;
}

.ll-landing-page .ll-add-to-cart-link.ll-already-in-cart:hover {
    background: #16a34a !important;
}

/* Hide quantity field if WooCommerce form is used (screen-reader-only technique) */
.ll-landing-page .payment-section .quantity {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ll-landing-page .security-note {
    font-size: 12px;
    letter-spacing: -0.144px;
    text-align: center;
    color: #5c5c61;
    margin: 1rem 0 0 0;
    padding: 0;
}

/* Trust Badges */
.ll-landing-page .trust-badges {
    background: white;
    border-radius: 8px;
    padding: 2rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    margin: 3rem auto 0;
    max-width: 56rem;
}

.ll-landing-page .trust-badges-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
}

@media (min-width: 768px) {
    .ll-landing-page .trust-badges-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.ll-landing-page .trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ll-landing-page .trust-badge-icon {
    width: 48px;
    height: 48px;
    background: #fafafa;
    border: 1px solid rgba(143,143,146,0.15);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.ll-landing-page .trust-badge-icon svg {
    width: 24px;
    height: 24px;
    color: #5047f7;
}

.ll-landing-page .trust-badge-title {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.168px;
    color: #0c0c13;
    margin: 0 0 0.25rem 0;
    padding: 0;
}

.ll-landing-page .trust-badge-subtitle {
    font-size: 12px;
    letter-spacing: -0.144px;
    color: #5c5c61;
    margin: 0;
    padding: 0;
}

.ll-landing-page .contact-info {
    margin-top: 3rem;
    text-align: center;
}

.ll-landing-page .contact-text {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0;
    padding: 0;
}

.ll-landing-page .contact-link {
    color: #5047f7;
    text-decoration: none;
}

.ll-landing-page .contact-link:hover {
    text-decoration: underline;
}

/* ==========================================================================
   ARTICLE SECTION
   ========================================================================== */

.ll-landing-page .article-section {
    padding: 4rem 0;
    background: white;
}

@media (min-width: 768px) {
    .ll-landing-page .article-section {
        padding: 6rem 0;
    }
}

.ll-landing-page .article-container {
    max-width: 56rem;
    margin: 0 auto;
    padding: 0 1rem;
}

@media (min-width: 640px) {
    .ll-landing-page .article-container {
        padding: 0 1.5rem;
    }
}

.ll-landing-page .article-header {
    margin-bottom: 3rem;
}

.ll-landing-page .article-title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.64px;
    color: #0c0c13;
    margin: 0 0 1.5rem 0;
    padding: 0;
}

@media (min-width: 768px) {
    .ll-landing-page .article-title {
        font-size: 48px;
        letter-spacing: -0.96px;
    }
}

.ll-landing-page .article-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0 0 2rem 0;
    padding: 0;
}

.ll-landing-page .article-image {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
    margin-bottom: 2rem;
}

.ll-landing-page .article-image img {
    width: 100%;
    height: 384px;
    object-fit: cover;
    display: block;
}

.ll-landing-page .article-content {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: -0.192px;
    color: #3d3d42;
}

.ll-landing-page .article-content p {
    margin: 0 0 1.5rem 0;
    padding: 0;
}

.ll-landing-page .article-content h2 {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.64px;
    color: #0c0c13;
    margin: 3rem 0 1.5rem 0;
    padding: 0;
}

.ll-landing-page .article-content h3 {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.288px;
    color: #0c0c13;
    margin: 2rem 0 1rem 0;
    padding: 0;
}

.ll-landing-page .article-content h4 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    color: #0c0c13;
    margin: 0 0 0.5rem 0;
    padding: 0;
}

.ll-landing-page .article-content strong {
    font-weight: 600;
    color: #0c0c13;
}

.ll-landing-page .article-content ul,
.ll-landing-page .article-content ol {
    margin: 0 0 1.5rem 0;
    padding: 0 0 0 1.25rem;
}

.ll-landing-page .article-content li {
    margin: 0 0 0.5rem 0;
    padding: 0;
}

.ll-landing-page .callout-box {
    background: rgba(127,120,255,0.08);
    border-left: 4px solid #5047f7;
    padding: 1.5rem;
    border-radius: 0 8px 8px 0;
    margin: 2rem 0;
}

.ll-landing-page .callout-box p {
    margin: 0;
    color: #0c0c13;
}

.ll-landing-page .highlight-box {
    background: rgba(127,120,255,0.08);
    padding: 2rem;
    border-radius: 8px;
    border: 1px solid rgba(80,71,247,0.2);
    margin: 2rem 0;
}

.ll-landing-page .two-col-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin: 2rem 0;
}

@media (min-width: 640px) {
    .ll-landing-page .two-col-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* INFO CARD - SQUARE ICON */
.ll-landing-page .info-card {
    background: rgba(127,120,255,0.05);
    padding: 1.5rem;
    border-radius: 8px;
    border: 1px solid rgba(80,71,247,0.2);
}

.ll-landing-page .info-card-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.ll-landing-page .info-card-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    background: rgba(127,120,255,0.15);
    border-radius: 8px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ll-landing-page .info-card-icon svg {
    width: 24px;
    height: 24px;
    color: #5047f7;
}

.ll-landing-page .info-card-title {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.216px;
    color: #0c0c13;
    margin: 0;
    padding: 0;
}

.ll-landing-page .info-card-text {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #3d3d42;
    margin: 0;
    padding: 0;
}

/* SEGMENT CARD - SQUARE ICON */
.ll-landing-page .segment-card {
    display: flex;
    gap: 1rem;
    background: #fafafa;
    padding: 1.5rem;
    border-radius: 8px;
    border: 1px solid rgba(143,143,146,0.15);
    margin: 0 0 1rem 0;
}

.ll-landing-page .segment-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    background: rgba(127,120,255,0.15);
    border-radius: 8px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ll-landing-page .segment-icon svg {
    width: 24px;
    height: 24px;
    color: #5047f7;
}

.ll-landing-page .segment-card h4 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    color: #0c0c13;
    margin: 0 0 0.5rem 0;
    padding: 0;
}

.ll-landing-page .roi-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin: 2rem 0;
}

@media (min-width: 640px) {
    .ll-landing-page .roi-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ll-landing-page .roi-stat {
    background: white;
    padding: 1.5rem;
    border-radius: 8px;
    border: 2px solid rgba(143,143,146,0.15);
}

.ll-landing-page .roi-stat-title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    color: #0c0c13;
    margin: 0 0 0.5rem 0;
    padding: 0;
}

.ll-landing-page .roi-stat-subtitle {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0;
    padding: 0;
}

.ll-landing-page .cta-box {
    background: linear-gradient(90deg, #736CF9 0%, #5047f7 100%);
    color: white;
    padding: 2rem;
    border-radius: 8px;
    margin-top: 3rem;
}

.ll-landing-page .cta-box h3 {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.288px;
    color: white;
    margin: 0 0 1rem 0;
    padding: 0;
}

.ll-landing-page .cta-box p {
    font-size: 16px;
    letter-spacing: -0.192px;
    color: white;
    opacity: 0.9;
    margin: 0 0 1.5rem 0;
    padding: 0;
}

.ll-landing-page .cta-button {
    background: white;
    color: #5047f7;
    padding: 1rem 2rem;
    border-radius: 8px;
    border: none;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    cursor: pointer;
    transition: all 0.3s;
}

.ll-landing-page .cta-button:hover {
    background: #fafafa;
}

.ll-landing-page .author-section {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(143,143,146,0.15);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.ll-landing-page .author-info {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ll-landing-page .author-avatar {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #736CF9 0%, #5047f7 100%);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
}

.ll-landing-page .author-name {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.192px;
    color: #0c0c13;
    margin: 0 0 0.25rem 0;
    padding: 0;
}

.ll-landing-page .author-title {
    font-size: 14px;
    letter-spacing: -0.168px;
    color: #5c5c61;
    margin: 0;
    padding: 0;
}

.ll-landing-page .share-button {
    color: #5c5c61;
    border: 1px solid rgba(143,143,146,0.2);
    background: transparent;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.168px;
    cursor: pointer;
    transition: all 0.3s;
}

.ll-landing-page .share-button:hover {
    color: #5047f7;
    border-color: #5047f7;
}

/* ==========================================================================
   WOOCOMMERCE PRICE DISPLAY FIX
   ========================================================================== */

.ll-landing-page .price-wrapper .woocommerce-Price-amount {
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    color: inherit;
}

.ll-landing-page .price-wrapper del {
    opacity: 0.5;
}

.ll-landing-page .price-wrapper ins {
    text-decoration: none;
}

/* ==========================================================================
   FLUIDCHECKOUT COMPATIBILITY
   ========================================================================== */

/* FluidCheckout cart page */
body.woocommerce-cart .fc-cart,
body.woocommerce-cart .fc-wrapper {
    padding-top: 40px !important;
}

body.woocommerce-cart .fc-cart__totals,
body.woocommerce-cart .cart-collaterals {
    background: #f9fafb !important;
    padding: 25px !important;
    border-radius: 12px !important;
}

body.woocommerce-cart .fc-cart .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    background: #5047f7 !important;
    color: #ffffff !important;
    padding: 16px 32px !important;
    border-radius: 8px !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    box-shadow: 0 2px 8px rgba(80, 71, 247, 0.3) !important;
    transition: background 0.3s ease !important;
}

body.woocommerce-cart .fc-cart .checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #4038d9 !important;
    color: #ffffff !important;
}

/* FluidCheckout checkout page */
body.woocommerce-checkout .fc-checkout,
body.woocommerce-checkout .fc-wrapper {
    padding-top: 40px !important;
}

body.woocommerce-checkout .fc-place-order-button,
body.woocommerce-checkout #place_order {
    background: #5047f7 !important;
    color: #ffffff !important;
    padding: 18px 32px !important;
    border-radius: 8px !important;
    border: none !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    width: 100% !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(80, 71, 247, 0.3) !important;
    transition: background 0.3s ease !important;
}

body.woocommerce-checkout .fc-place-order-button:hover,
body.woocommerce-checkout #place_order:hover {
    background: #4038d9 !important;
}

/* ==========================================================================
   WOOCOMMERCE BLOCKS BUTTON STYLES
   ========================================================================== */

.wc-block-components-button,
.wp-element-button,
.wc-block-cart__submit-button,
a.wc-block-components-button,
button.wc-block-components-button {
    background: #5047f7 !important;
    background-color: #5047f7 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 16px 32px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(80, 71, 247, 0.3) !important;
    transition: background 0.3s ease !important;
}

.wc-block-components-button:hover,
.wp-element-button:hover,
.wc-block-cart__submit-button:hover,
a.wc-block-components-button:hover {
    background: #4038d9 !important;
    background-color: #4038d9 !important;
    color: #ffffff !important;
}

.wc-block-components-button .wc-block-components-button__text,
.wc-block-components-button__text {
    color: #ffffff !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE
   ========================================================================== */

@media (max-width: 768px) {
    body.woocommerce-cart .site-content,
    body.woocommerce-checkout .site-content {
        padding: 20px 15px !important;
    }
    
    body.woocommerce-cart .fc-cart,
    body.woocommerce-cart .fc-wrapper,
    body.woocommerce-checkout .fc-checkout,
    body.woocommerce-checkout .fc-wrapper {
        padding-top: 20px !important;
    }
    
    .ll-landing-page .ll-add-to-cart-link,
    .ll-landing-page .single_add_to_cart_button {
        padding: 1rem !important;
        font-size: 15px !important;
    }
    
    /* Error notices on mobile */
    body.ll-landing-active .woocommerce-error {
        margin: 10px;
        padding: 12px 15px;
    }
}