/**
 * Theme Name:     Edge Computers - hello-elementor-child
 * Author:         Tablet Academy 
 * Template:       hello-elementor
 * Text Domain:    hello-elementor-child
 * Description:    Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
 
.elementor-widget-woocommerce-my-account .table {font-family:"Bebas Neue", Sans-serif}*/
.woocommerce,body.wdc_quote-template-default,.woocommerce .elementor-kit-1136{color:#333}
.elementor-element-5e96b58 .elementor-widget-container{color:#333}
.wdc-modal h2,.wdc-modal h3,.wdc-modal h4{color:#fff!important;font-weight:700!important}
/* ── View Product button inside quote table ── */
.wdc-view-product-btn{display:inline-block;margin-bottom:6px;padding:4px 12px;font-size:12px;font-weight:600;background-color:var(--e-global-color-accent);color:#fff!important;border-radius:3px;text-decoration:none!important;line-height:1.6}
.wdc-view-product-btn:hover{filter:brightness(.88);color:#fff!important;text-decoration:none!important}

/* ── Quote page action buttons ── */
.wdc-edit-quote-wrapper{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;align-items:center}
.wdc-quote-btn{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;font-size:15px!important;font-weight:600!important;line-height:1!important;border:none!important;border-radius:4px!important;cursor:pointer!important;text-decoration:none!important;transition:filter .15s ease!important}
.wdc-quote-btn:hover{filter:brightness(.88)!important;text-decoration:none!important}
.wdc-quote-btn .dashicons{width:18px!important;height:18px!important;font-size:18px!important;line-height:1!important;margin:0!important;flex-shrink:0}
/* Individual colours */
.wdc-edit-quote-button{background-color:#0073aa!important;color:#fff!important}
.wdc-download-pdf-button{background-color:#0073aa!important;color:#fff!important}
.wdc-download-pptx-button{background-color:#1e6f3e!important;color:#fff!important}
.woocommerce-product-gallery__image--placeholder{display:flex;justify-content:center;align-items:center;height:100%}
.woocommerce-product-gallery__image--placeholder img{width:25%!important;max-width:25%!important}
.woocommerce a,body.wdc_quote-template-default,body.wdc_quote-template-default .elementor-kit-1136 a {color: var(--e-global-color-accent)!important;}

/* Disable links in Elementor Product Meta */
.elementor-widget-woocommerce-product-meta a {
    pointer-events: none;
    cursor: default;
    color: inherit;
    text-decoration: none;
    color:var(--e-global-color-primary)!important;
}

.woocommerce div.product h1.entry-title{color:#FFF!important}
.woocommerce-account .woocommerce-MyAccount-content {width:78%}
.woocommerce-account .woocommerce-MyAccount-navigation {width:20%}
.woocommerce table.shop_attributes td p {padding:10px}

h1.entry-title {font-size: 27px!important;font-weight: 300!important;line-height: 32px!important;color:#1D2C3B!important;
}
li.woocommerce-MyAccount-navigation-link.is-active a{color:#000}
footer h4 {padding-bottom:30px}
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {border-radius:0;border:0px}

.elementor-nav-menu {justify-content:space-evenly !important;width:100%}
.login {background:var(--e-global-color-accent);}
.login .elementor-kit-1136 label {color:#FFF}
.elementor-widget-nav-menu .elementor-nav-menu--main .login .elementor-item  {color:#FFF}
.elementor-widget-nav-menu .elementor-nav-menu--main .login .elementor-item:hover {color:#000}
.woocommerce-product-gallery div.flex-viewport {border:solid 1px #eee}
/* Loop meta */
.product_meta .e-con, .e-con>.e-con-inner {
    display: inline-block
}
.elementor-woo-meta--view-inline .product_meta {
    display: inline-block!important;text-align:center}

.woocommerce-Tabs-panel h3 {color:inherit;font-size:inherit}
.elementor-kit-1136 textarea.wpcf7-textarea {height:150px}
.woocommerce-MyAccount-navigation-link {margin:15px 0}
.quote-section .table>:not(caption)>*>* {padding:15px}
.elementor-widget-taxonomy-filter search .e-filter-item[aria-pressed=true] {color:#FFF;font-weight:700}
/* For devices with a max width of 768px (Medium) */
@media screen and (max-width: 768px) {
    #contact-form h4{text-align:center;padding-bottom:15px}
}
/* For devices with a minimum width of 768px (Medium) */
@media screen and (min-width: 768px) {
    .elementor-kit-1136 input.wpcf7-form-control[type="submit"] {position:relative;bottom:60px}
}
.woocommerce-product-gallery .flex-control-thumbs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 17%; /* Adjust column width as needed */
    gap: 1rem; /* Adjust spacing between thumbnails */
    overflow-x: auto !important; /* Enables horizontal scrolling */
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory; /* Improves scrolling experience */
    scroll-padding-inline: 10px;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    float: none !important; /* Overrides default float behavior */
    width: 100% !important;
    display: grid;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    inline-size: 100%;
    aspect-ratio: 1/1; /* Keeps images square */
    object-fit: cover;
    border-radius: 5px;
}
.elementor-kit-1136 button.facetwp-reset {background:#FFF;color:#1D2C3B}
.elementor-kit-1136 button.facetwp-reset:hover {background: rgb(225,225,225,.5)}

/* ========================================
   FACET ACCORDION FILTERS
   ======================================== */

.facet-accordion .facetwp-facet {
    margin-bottom: 10px;
}
/* Sidebar container */
.elementor-element-4a20c15 {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
}

/* Accordion wrapper */
.facet-accordion {
    border-bottom: 1px solid #e5e5e5;
    padding: 0;
    margin-bottom: 0;
}

.facet-accordion:last-child {
    border-bottom: none;
}

/* Facet header - clickable */
.facet-accordion > .facet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-weight: 600;
    font-size: 16px;
    color: #1a1a1a;
    padding: 5px 0;
    user-select: none;
    transition: color 0.2s ease;
}

.facet-accordion > .facet-header:hover {
    color: #0066cc;
}

/* Plus/Minus icon */
.facet-accordion > .facet-header:after {
    content: '+';
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
    color: #666;
    transition: all 0.2s ease;
}

.facet-accordion.open > .facet-header:after {
    content: '−';
    color: #0066cc;
}

/* Facet content - collapsed by default */
.facet-accordion > .facet-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.facet-accordion.open > .facet-content {
    max-height: 1500px;
    padding-bottom: 5px;
}

/* Hide old facet-wrap labels */
.facet-wrap > span {
    display: none;
}

/* Radio buttons */
.elementor-element-4a20c15 .facetwp-type-radio {
    display: block;
    margin: 0;
    padding: 0;
}

.elementor-element-4a20c15 .facetwp-type-radio .facetwp-radio {
    display: block;
    margin: 0 0 12px 0;
    padding: 6px 0;
    cursor: pointer;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    transition: color 0.2s ease;
    text-decoration: none;
}

.elementor-element-4a20c15 .facetwp-type-radio .facetwp-radio:hover {
    color: #0066cc;
}

/* Checked/selected state */
.elementor-element-4a20c15 .facetwp-type-radio .facetwp-radio.checked {
    color: #0066cc;
    font-weight: 500;
}

/* Counter numbers */
.elementor-element-4a20c15 .facetwp-counter {
    color: #999;
    font-size: 13px;
    font-weight: 400;
    margin-left: 6px;
}

/* Price slider */
.facetwp-type-slider {
    padding: 15px 0 10px 0;
}

.facetwp-type-slider .facetwp-slider-label {
    font-size: 14px;
    color: #333;
    margin-top: 10px;
}

.facetwp-slider-reset {
    margin-top: 10px;
    padding: 8px 16px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    font-size: 13px;
}

.facetwp-slider-reset:hover {
    background: #e5e5e5;
}

.facetwp-slider-reset.facetwp-hidden {
    display: none;
}

/* Reset/Clear Filters button */
.elementor-element-4a20c15 button.facetwp-reset {
    width: 100%;
    background: #0066cc;
    color: #fff;
    border: none;
    padding: 14px 20px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.2s ease;
    margin-top: 20px;
}

.elementor-element-4a20c15 button.facetwp-reset:hover {
    background: #0052a3;
    transform: translateY(-1px);
}
/* Radio buttons */
.elementor-element-4a20c15 .facetwp-type-radio {
    display: block;
    margin: 0;
    padding: 0;
}

.elementor-element-4a20c15 .facetwp-type-radio .facetwp-radio {
    display: block;
    margin: 0 0 12px 0;
    padding: 6px 0;
    cursor: pointer;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    transition: color 0.2s ease;
    text-decoration: none;
    background-image: none !important; /* Remove FacetWP's radio button image */
    background: transparent !important;
    padding-left: 0 !important; /* Remove left padding for radio image */
}

.elementor-element-4a20c15 .facetwp-type-radio .facetwp-radio:hover {
    color: #0066cc;
}

/* Checked/selected state */
.elementor-element-4a20c15 .facetwp-type-radio .facetwp-radio.checked {
    color: #0066cc;
    font-weight: 500;
    background-image: none !important; /* Remove the checked radio image */
}

/* Counter numbers */
.elementor-element-4a20c15 .facetwp-counter {
    color: #999;
    font-size: 13px;
    font-weight: 400;
    margin-left: 6px;
}
/* Checkboxes */
.elementor-element-4a20c15 .facetwp-type-checkboxes {
    display: block;
    margin: 0;
    padding: 0;
}

.elementor-element-4a20c15 .facetwp-type-checkboxes .facetwp-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 4px 0;
    padding: 6px 0;
    cursor: pointer;
    color: #333;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    transition: color 0.2s ease;
    background: none !important;
    padding-left: 0 !important;
}

/* Custom checkbox box via ::before */
.elementor-element-4a20c15 .facetwp-type-checkboxes .facetwp-checkbox::before {
    content: '';
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border: 2px solid #ccc;
    border-radius: 3px;
    background: #fff;
    transition: all 0.15s ease;
}

.elementor-element-4a20c15 .facetwp-type-checkboxes .facetwp-checkbox:hover {
    color: #0066cc;
}

.elementor-element-4a20c15 .facetwp-type-checkboxes .facetwp-checkbox:hover::before {
    border-color: #0066cc;
}

/* Checked state */
.elementor-element-4a20c15 .facetwp-type-checkboxes .facetwp-checkbox.checked {
    color: #0066cc;
    font-weight: 500;
}

.elementor-element-4a20c15 .facetwp-type-checkboxes .facetwp-checkbox.checked::before {
    background: #0066cc;
    border-color: #0066cc;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 10px 8px;
    background-repeat: no-repeat;
    background-position: center;
}

/* Disabled state */
.elementor-element-4a20c15 .facetwp-type-checkboxes .facetwp-checkbox.disabled {
    opacity: 0.4;
    cursor: default;
}

/* Force remove sticky on mobile - more aggressive */
@media (max-width: 767px) {
    .elementor-9707 .elementor-element.elementor-element-4a20c15 {position:relative!important;}
}
/* Calculator button wrapper - force width constraint */
.wdc-calculate-wrapper {
    display: block !important;
    max-width: 400px !important;
    width: 100% !important;
}

/* Create Quote button */
.wdc-calculate-button.elementor-button {
    width: 100% !important;
    margin-bottom: 10px !important;
    display: block !important;
}

/* Button description text */
.wdc-calculate-wrapper .button-text {
    font-size: 14px !important;
    color: #666 !important;
    margin-bottom: 15px !important;
    line-height: 1.4 !important;
}

/* Buy Now button styling */
.buy-now-button.elementor-button {
    background: #28a745 !important;
    color: #fff !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    transition: background 0.3s ease !important;
    text-decoration: none !important;
    border: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.buy-now-button.elementor-button:hover {
    background: #218838 !important;
    color: #fff !important;
}
/* FacetWP Price Slider Styling */
.facetwp-type-slider {
    padding: 15px 0 20px 0;
}

/* Slider wrapper - add padding to prevent handle clipping */
.facetwp-slider-wrap {
    padding: 0 10px;
}

/* Slider track */
.facetwp-slider.noUi-target {
    background: #e5e5e5;
    border: none;
    box-shadow: none;
    border-radius: 4px;
    height: 6px;
}

/* Slider connect (filled portion) */
.facetwp-slider .noUi-connect {
    background: #0066cc;
}

/* Slider base - ensure proper positioning */
.facetwp-slider .noUi-base {
    height: 6px;
}

/* Slider handles - fix positioning */
.facetwp-slider .noUi-handle {
    background: #fff;
    border: 2px solid #0066cc;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
    width: 18px;
    height: 18px;
    cursor: pointer;
    transition: all 0.2s ease;
    top: -6px!important; /* Center the handle on the track */
    right: -9px; /* Center horizontally */
}

.facetwp-slider .noUi-handle:before,
.facetwp-slider .noUi-handle:after {
    display: none; /* Remove default handle lines */
}

.facetwp-slider .noUi-handle:hover {
    transform: scale(1.15);
    box-shadow: 0 2px 8px rgba(0,102,204,0.3);
}

.facetwp-slider .noUi-handle:active {
    transform: scale(1.1);
}

/* Price label */
.facetwp-slider-label {
    font-size: 14px;
    color: #333;
    font-weight: 500;
    margin-top: 12px;
    display: block;
}

/* Slider Reset button - EXACT match to Clear Filters */
.facetwp-slider-reset {
    margin-top: 12px;
    padding: 14px 20px !important;
    background: #0066cc !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    font-size: 15px !important;
    color: #fff !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.facetwp-slider-reset:hover {
    background: #0052a3 !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

.facetwp-slider-reset.facetwp-hidden {
    display: none !important;
}

/* Tooltip styling */
.noUi-tooltip {
    background: #333;
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 4px 8px;
    font-size: 12px;
}

/* Remove leftover Elementor sticky overflow styles - desktop only */
@media (mmax-width: 768px) {
    #filters {
        overflow: visible !important;
        max-height: none !important;
    }
}

/* MOBILE FIX - Force parent container to stack */
@media (max-width: 767px) {
#filters.e-con, .e-con>.e-con-inner {display:block!important}
#filters {padding:30px}
}

/* Icecat description tabs — override Elementor kit button styles */
.icecat-tabs-container { margin: 32px 0 24px 0 !important; }
.icecat-tabs-header {
    background: #1a3a5c !important;
    border-radius: 6px 6px 0 0 !important;
    padding: 6px 6px 0 6px !important;
    border-bottom: none !important;
    gap: 0 !important;
}
.icecat-tabs-content {
    border: 1px solid #1a3a5c !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
}
.icecat-tab-panel {
    padding: 24px 28px !important;
}

.elementor-kit-1136 .icecat-tabs-header .icecat-tab-button,
.icecat-tabs-header .icecat-tab-button {
    background: rgba(255,255,255,0.1) !important;
    background-color: rgba(255,255,255,0.1) !important;
    color: rgba(255,255,255,0.7) !important;
    border-style: none !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 4px 4px 0 0 !important;
    padding: 11px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}
.elementor-kit-1136 .icecat-tabs-header .icecat-tab-button:hover,
.icecat-tabs-header .icecat-tab-button:hover {
    background-color: rgba(255,255,255,0.2) !important;
    color: #fff !important;
}
.elementor-kit-1136 .icecat-tabs-header .icecat-tab-button.icecat-tab-active,
.icecat-tabs-header .icecat-tab-button.icecat-tab-active {
    background-color: #fff !important;
    color: #1a3a5c !important;
    font-weight: 700 !important;
    border-bottom: 3px solid #fff !important;
}

/* WooCommerce - All primary buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background-color: var(--e-global-color-accent) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
}

/* Hover */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background-color: var(--e-global-color-accent) !important;
    color: #ffffff !important;
}

/* ── Protect WooCommerce account tables from Elementor global colour overrides ── */
/* Elementor kit CSS can set text white via CSS variables; lock these tables to #333 */
.woocommerce-account .woocommerce table.shop_table,
.woocommerce-account .woocommerce table.shop_table tbody,
.woocommerce-account .woocommerce table.shop_table tr,
.woocommerce-account .woocommerce table.shop_table td,
.woocommerce-account .woocommerce table.shop_table th,
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-orders-table tbody,
.woocommerce-account table.woocommerce-orders-table tr,
.woocommerce-account table.woocommerce-orders-table td,
.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account .wdc-quotes-table,
.woocommerce-account .wdc-quotes-table tbody,
.woocommerce-account .wdc-quotes-table tr,
.woocommerce-account .wdc-quotes-table td,
.woocommerce-account .wdc-quotes-table th {
    color: #333 !important;
    background-color: transparent !important;
}

/* Keep the zebra stripe */
.woocommerce-account table.shop_table tr:nth-child(even) td,
.woocommerce-account table.woocommerce-orders-table tr:nth-child(even) td,
.woocommerce-account .wdc-quotes-table tr:nth-child(even) td {
    background-color: #f9f9f9 !important;
}

/* Keep table header row dark text on light bg */
.woocommerce-account table.shop_table thead th,
.woocommerce-account table.woocommerce-orders-table thead th,
.woocommerce-account .wdc-quotes-table thead th {
    color: #333 !important;
    background-color: #f5f5f5 !important;
}

/* Plain links inside table cells use accent colour */
.woocommerce-account .wdc-quotes-table td a:not(.button):not(.woocommerce-button),
.woocommerce-account table.woocommerce-orders-table td a:not(.button):not(.woocommerce-button) {
    color: var(--e-global-color-accent) !important;
}

/* Button links in the table must stay white-on-accent, not inherit cell colour */
.woocommerce-account .wdc-quotes-table td a.button,
.woocommerce-account .wdc-quotes-table td a.woocommerce-button,
.woocommerce-account table.woocommerce-orders-table td a.button,
.woocommerce-account table.woocommerce-orders-table td a.woocommerce-button {
    color: #ffffff !important;
    background-color: var(--e-global-color-accent) !important;
}
