/* ================================================
   1. GENERAL / GLOBAL STYLES
   ================================================ */

/* Caret blink animation for dynamic headlines */
@keyframes caretBlink {
    0%, 49% {
        opacity: 1;
    }
    50%, 100% {
        opacity: 0;
    }
}

/* Caret styling for Elementor animated headline */
.elementor-headline-dynamic-wrapper::after {
    background-color: #ffffff !important;
    animation: caretBlink 1s steps(1, end) infinite;
}


/* ================================================
   2. ELEMENTOR ANIMATED HEADLINES
   ================================================ */

/* Change animated text color on hover */
.elementor-widget-animated-headline a:hover 
.elementor-headline-dynamic-text {
    color: #2FCBEF !important;
}

/* Ensure brackets / plain text does not change color */
.elementor-widget-animated-headline a:hover 
.elementor-headline-plain-text {
    color: inherit !important;
}

/* Smooth transition for animated headline text color */
.elementor-widget-animated-headline 
.elementor-headline-dynamic-text {
    transition: color 0.3s ease;
}


/* ================================================
   3. WOOCOMMERCE: PRICE DISPLAY CUSTOMIZATION
   ================================================ */

/* Hide first (lower) price for cont1 */
.cont1 .price .woocommerce-Price-amount:first-of-type {
    display: none !important;
}

/* Hide dash in cont1 */
.cont1 .price span[aria-hidden="true"]:not(.woocommerce-Price-amount) {
    display: none !important;
}

/* Hide second (higher) price for cont2 */
.cont2 .price > .woocommerce-Price-amount.amount:nth-child(3) {
    display: none !important;
}

/* Hide dash in cont2 */
.cont2 .price > span[aria-hidden="true"]:not(.woocommerce-Price-amount) {
    display: none !important;
}

/* ================================================
   4. WOOCOMMERCE: SINGLE PRODUCT PAGE
   ================================================ */

/* Variation Price Styling (Responsive) */
.woocommerce div.product .woocommerce-variation-price {
    margin-top: 10px;
    margin-bottom: 0;
}

.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product .woocommerce-variation-price .amount {
    font-family: 'VT323', monospace !important;
    font-weight: normal;
    font-size: 22px; /* Mobile font size */
    color: #2FCBEF;
}

/* Tablet font size adjustment */
@media (min-width: 768px) {
    .woocommerce div.product .woocommerce-variation-price .price,
    .woocommerce div.product .woocommerce-variation-price .amount {
        font-size: 24px;
    }
}

/* Single product – Add to Cart Button ONLY */
.single-product form.cart button.single_add_to_cart_button {
    background-color: transparent !important;
    color: #ffffff !important;
    font-family: 'VT323', monospace !important;
    border: 3px solid #ffffff !important;
    border-radius: 0 !important; /* square corners */
    
    padding: 16px 24px !important; /* increased top & bottom padding */
    
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1em;

    transition: 
        background-color 0.4s ease,
        color 0.4s ease,
        border-color 0.4s ease;
}

/* Hover state */
.single-product form.cart button.single_add_to_cart_button:hover {
    background-color: #E6DB74 !important;
    color: #000000 !important;
    border-color: #E6DB74 !important;
}

/* Disabled state (before variation selected) */
.single-product form.cart button.single_add_to_cart_button:disabled,
.single-product form.cart button.single_add_to_cart_button.wc-variation-selection-needed {
    cursor: not-allowed;
    opacity: 0.6;
}

/* Notices wrapper width adjustments for tablet + mobile */
.single-product .woocommerce-notices-wrapper {
    width: 92vw;
    margin-left: auto;
    margin-right: auto;
}

/* Desktop notices wrapper */
@media (min-width: 1024px) {
    .single-product .woocommerce-notices-wrapper {
        width: 93vw;
    }
}


/* ================================================
   5. WOOCOMMERCE: NOTICES & MESSAGES
   ================================================ */

/* WooCommerce add-to-cart notice styling */
.woocommerce-notices-wrapper .woocommerce-message {
    background-color: #343434;
    font-family: 'VT323', monospace;
    color: #E6DB74;
    font-weight: normal;
}

/* Links inside notices inherit color */
.woocommerce-notices-wrapper .woocommerce-message a:not(.button) {
    color: #E6DB74;
}

/* Center notices and prevent overflow */
.woocommerce-notices-wrapper {
    max-width: 100vw;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
}

/* Cart empty notice */
.cart-empty.woocommerce-info {
    background-color: #343434;
    font-family: 'VT323', monospace;
    color: #E6DB74;
    font-weight: normal;
}

/* WooCommerce message buttons */
.woocommerce-message a.button.wc-forward {
    background-color: #9594F6;
    color: #000000;
    border: none;
    transition: background-color 0.3s ease;
}

.woocommerce-message a.button.wc-forward:hover {
    background-color: #E6DB74;
    color: #343434;
}

/* Return to shop button styling */
.return-to-shop a.button.wc-backward {
    background-color: #9594F6;
    color: #000000;
    border: none;
    transition: background-color 0.3s ease, color 0.3s ease;
    font-family: VT323;
    font-weight: normal;
    font-size: 17px;
}

.return-to-shop a.button.wc-backward:hover {
    background-color: #E6DB74;
    color: #343434;
}


/* ================================================
   6. WOOCOMMERCE: CART (MAIN CART PAGE)
   ================================================ */

/* Astra shop thumbnail background */
.astra-shop-thumbnail-wrap {
	background-color: #E6DB74
}

/* Cart table border adjustments */
.woocommerce-cart td.wl-ci-product-name {
    border: 1px solid #343434#343434 !important;
}

.woocommerce-cart tr.cart_item td {
    border-top: 1px solid #343434 !important;
    border-bottom: 1px solid #343434 !important;
	border-right: 1px solid #343434 !important;
}

/* Hide specific cart columns (subtotal, quantity, price) */
.woocommerce-cart th.product-subtotal,
.woocommerce-cart th.product-quantity,
.woocommerce-cart th.product-price,
.woocommerce-cart td.product-quantity,
.woocommerce-cart td.product-price {
    display: none !important;
}


/* ================================================
   7. WOOCOMMERCE: ELEMENTOR MENU CART WIDGET
   ================================================ */

/* Responsive right offset */
@media (max-width: 1366px) { .elementor-menu-cart__main { right: 50px !important; } }
@media (max-width: 1200px) { .elementor-menu-cart__main { right: 5px !important; } }
@media (max-width: 1024px) { .elementor-menu-cart__main { right: 5px !important; } }
@media (max-width: 880px)  { .elementor-menu-cart__main { right: 5px !important; } }
@media (max-width: 767px)  { .elementor-menu-cart__main { right: 0px !important; } }

/* Additional overrides for specific devices */
@media (max-width: 767px) { .elementor-menu-cart__main { right: 0px !important; } }
@media (min-width: 768px) and (max-width: 1023px) { .elementor-menu-cart__main { right: 0px !important; } }

@media (min-width: 820px) { .elementor-menu-cart__main { right: 0px !important; } }

@media (min-width: 853px) { .elementor-menu-cart__main { right: 0px !important; } }

@media (min-width: 1024px) { .elementor-menu-cart__main { right: 0px !important; } }

@media (min-width: 1280px) { .elementor-menu-cart__main { right: 30px !important; } }

@media (min-width: 1366px) { .elementor-menu-cart__main { right: 40px !important; } }

/* Hide product thumbnail in menu cart */
.elementor-menu-cart__product-image {
    display: none !important;
}

/* Make cart items full width (after hiding thumbnails) */
.elementor-menu-cart__products .elementor-menu-cart__product {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 5px; /* spacing between rows */
}

/* Product name full width and styling */
.elementor-menu-cart__product-name {
    width: 100%;
    margin-bottom: 5px;
    font-family: 'VT323', monospace;
    font-size: 1rem;
    color: #ffffff;
}

/* Product price full width */
.elementor-menu-cart__product-price {
    width: 100%;
}

/* Product remove button spacing */
.elementor-menu-cart__product-remove {
    margin-right: 20px;
}

/* Menu cart subtotal typography */
.elementor-menu-cart__subtotal,
.elementor-menu-cart__subtotal strong,
.elementor-menu-cart__subtotal .amount {
    font-family: 'VT323', monospace;
    font-weight: normal;
}

.elementor-menu-cart__subtotal {
    color: #9594F6;
}

/* Elementor menu cart quantity bubble */
.elementor-button-icon-qty {
    background-color: #212121 !important;
    
    color: #E6DB74 !important;
    box-sizing: border-box;
}

/* Hide quantity in mini cart */
.elementor-menu-cart__container .product-quantity {
    display: none !important;
}

/* Mini cart empty message customization */
.woocommerce-mini-cart__empty-message {
    font-size: 0; /* hides original text */
    position: relative; /* needed for ::after positioning */
}

/* Add custom empty message */
.woocommerce-mini-cart__empty-message::after {
    content: "Your quotation is currently empty. Add a service to start building your request, or click the WhatsApp Consult button for assistance.";
    font-size: 16px;
    font-family: 'VT323', monospace; /* match your site */
    font-weight: 400;
    color: #E6DB74;
    display: block;
    text-align: center;
    padding: 10px 15px;
    background: #212121;
    border: 1px solid #343434;
    border-radius: 10px;
}

/* ================================================
   8. WOOCOMMERCE: CHECKOUT & BUTTON LABELS
   ================================================ */

/* Rename 'View Cart' button in Elementor widgets */
.elementor-button--view-cart .elementor-button-text {
    font-size: 0;
}

.elementor-button--view-cart .elementor-button-text::after {
    content: "View Quote";
    font-size: 16px;
}

/* Rename 'Checkout' button in Elementor widgets */
.elementor-button--checkout .elementor-button-text {
    font-size: 0;
}

.elementor-button--checkout .elementor-button-text::after {
    content: "Consult Now";
    font-size: 16px;
}


/* ================================================
   9. WHATSAPP BUTTONS (Cart & Floating) - Failed
   ================================================ */



/* ================================================
   10. ELEMENTOR NESTED TABS (RESPONSIVE)
   ================================================ */

@media (max-width: 767px) {

  .e-n-tabs-heading {
    display: flex !important;
    flex-direction: column !important; /* stack */
    align-items: stretch;
  }

  .e-n-tabs-heading > button {
    width: 100%;
    text-align: center;
    padding: 14px 16px !important;
    margin: 0 !important;
    min-height: auto !important;
    line-height: 1.2;
    box-sizing: border-box;
  }

  .e-n-tabs-heading > button.e-active,
  .e-n-tabs-heading > button:hover,
  .e-n-tabs-heading > button:focus {
    padding: 14px 16px !important;
  }

}


/* ================================================
   11. HIGHLIGHT LISTS
   ================================================ */

.highlight-list li {
  color: #E6DB74;
}
