.elementor-kit-12{--e-global-color-primary:#A63B00;--e-global-color-secondary:#091218;--e-global-color-text:#1E1E1E;--e-global-color-accent:#F3733A;--e-global-color-d65065a:#F8F9FA;--e-global-color-0fb804e:#FFFFFF;--e-global-color-9d7ab9f:#091218;--e-global-color-8242ece:#94A3B8;--e-global-color-f6b2f33:#64748B;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:3rem;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.02px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:2rem;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:600;--e-global-typography-text-line-height:1em;--e-global-typography-text-letter-spacing:0.05em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.05em;background-color:var( --e-global-color-d65065a );font-family:"Inter", Sans-serif;font-size:1rem;font-weight:400;line-height:1.5em;letter-spacing:0em;}.elementor-kit-12 button,.elementor-kit-12 input[type="button"],.elementor-kit-12 input[type="submit"],.elementor-kit-12 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:0.875rem;font-weight:600;text-decoration:none;color:#FFFFFF;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);border-style:none;border-radius:8px 8px 8px 8px;padding:12px 24px 12px 24px;}.elementor-kit-12 button:hover,.elementor-kit-12 button:focus,.elementor-kit-12 input[type="button"]:hover,.elementor-kit-12 input[type="button"]:focus,.elementor-kit-12 input[type="submit"]:hover,.elementor-kit-12 input[type="submit"]:focus,.elementor-kit-12 .elementor-button:hover,.elementor-kit-12 .elementor-button:focus{background-color:var( --e-global-color-primary );color:#FFFFFF;box-shadow:0px 0px 10px 0px rgba(9, 17.999999999999993, 24, 0.12);border-style:none;border-radius:8px 8px 8px 8px;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-kit-12 a{color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:1rem;font-weight:600;text-decoration:none;line-height:1.4em;letter-spacing:0em;}.elementor-kit-12 a:hover{color:var( --e-global-color-primary );}.elementor-kit-12 h1{font-family:"Montserrat", Sans-serif;font-size:3rem;font-weight:700;line-height:1.1em;letter-spacing:0.02em;}.elementor-kit-12 h2{font-family:"Montserrat", Sans-serif;font-size:2rem;font-weight:700;line-height:1.2em;letter-spacing:0em;}.elementor-kit-12 h3{font-family:"Montserrat", Sans-serif;font-size:1.5rem;font-weight:600;line-height:1.3em;letter-spacing:0em;}.elementor-kit-12 h4{font-family:"Montserrat", Sans-serif;font-size:1.25rem;font-weight:600;line-height:1.4em;}.elementor-kit-12 h5{font-family:"Montserrat", Sans-serif;font-size:1.125rem;font-weight:600;line-height:1.4em;}.elementor-kit-12 h6{font-family:"Montserrat", Sans-serif;font-size:1rem;font-weight:600;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ========================================================
   1. Global Variables & Typography Defaults
   ======================================================== */
:root {
    --brand-orange: #f3733a;
    --brand-orange-hover: #d95c25;
    --brand-orange-light: rgba(243, 115, 58, 0.15);
    --brand-navy: #091218;
    --surface-light: #f3f4f5;
    --border-subtle: #e1e3e4;
    --text-primary: #191c1d;
    --text-secondary: #566067;
    --text-muted: #8e99ae;
}

.woof,
.woof *,
.woocommerce-ordering,
.woocommerce-ordering select,
ul.woof_products_top_panel_ul * {
    font-family: inherit !important;
}

/* Hide Number Input Spinners */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

input[type="number"] {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

/* ========================================================
   2. Homepage Components (Glass Button & Category Cards)
   ======================================================== */

/* Glass Button - Base & Interactive States */
.btn-glass .elementor-button {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 8px !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
    transition: all 0.2s ease !important;
}

.btn-glass .elementor-button:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: #ffffff !important;
}

.btn-glass .elementor-button:active {
    background-color: rgba(255, 255, 255, 0.3) !important;
}

/* Category Card Reset & Elevation */
.cat-card,
.cat-card *,
.cat-card a,
.cat-card a:hover,
.cat-card .elementor-cta__button {
    text-decoration: none !important;
}

.cat-card {
    border-radius: 16px !important;
    overflow: hidden !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.35s ease !important;
}

.cat-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.7) !important;
}

.cat-card .elementor-cta__bg-overlay {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.85) 100%) !important;
    opacity: 1 !important;
    z-index: 1 !important;
    transition: all 0.35s ease !important;
}

.cat-card:hover .elementor-cta__bg-overlay {
    background: rgba(9, 18, 24, 0.92) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.cat-card .elementor-cta__content {
    position: relative !important;
    z-index: 2 !important;
    padding: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    height: 100% !important;
}

.cat-card .elementor-cta__title {
    font-weight: 700 !important;
    margin: 0 !important;
}

.cat-card .elementor-cta__description,
.cat-card .elementor-cta__button-wrapper {
    opacity: 0 !important;
    visibility: hidden !important;
    max-height: 0 !important;
    margin: 0 !important;
    transform: translateY(15px) !important;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow: hidden !important;
}

.cat-card:hover .elementor-cta__description {
    opacity: 1 !important;
    visibility: visible !important;
    max-height: 120px !important;
    margin-top: 12px !important;
    margin-bottom: 16px !important;
    color: #ffffff !important;
    transform: translateY(0) !important;
}

.cat-card:hover .elementor-cta__button-wrapper {
    opacity: 1 !important;
    visibility: visible !important;
    max-height: 60px !important;
    transform: translateY(0) !important;
}

.cat-card .elementor-cta__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    padding: 8px 18px !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

.cat-card .elementor-cta__button:hover {
    background-color: var(--brand-orange) !important;
    border-color: var(--brand-orange) !important;
    color: #ffffff !important;
}

/* ========================================================
   3. Search Input & Autocomplete (WOOF / Husky)
   ======================================================== */
.woof_text_search_container {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 24px !important;
}

.woof_text_search_container a.woof_text_search_go,
a.woof_text_search_go {
    display: none !important;
}

.woof_text_search_container input.woof_husky_txt-input,
.woof_text_search_container input[type="search"] {
    width: 100% !important;
    height: 46px !important;
    padding: 10px 42px 10px 44px !important;
    font-size: 14px !important;
    color: #1e293b !important;
    background-color: #f8fafc !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    outline: none !important;
    transition: all 0.25s ease-in-out !important;
    box-sizing: border-box !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23f3733a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: left 14px center !important;
    background-size: 18px !important;
}

.woof_text_search_container input:focus {
    background-color: #ffffff !important;
    border-color: var(--brand-orange) !important;
    box-shadow: 0 0 0 3px var(--brand-orange-light) !important;
}

.woof_text_search_container input::-webkit-search-cancel-button,
.woof_text_search_container input::-webkit-search-decoration {
    -webkit-appearance: none !important;
    display: none !important;
}

.woof_husky_txt {
    position: static !important;
}

.woof_husky_txt-cross {
    position: absolute !important;
    top: 23px !important;
    right: 14px !important;
    transform: translateY(-50%) !important;
    width: auto !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #4338ca !important;
    cursor: pointer !important;
    z-index: 10 !important;
    line-height: 1 !important;
}

.woof_husky_txt-cross:hover {
    color: var(--brand-orange) !important;
}

.woof_husky_txt-container {
    position: absolute !important;
    top: 50px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
    z-index: 9999 !important;
    padding: 6px !important;
    box-sizing: border-box !important;
}

.woof_husky_txt-option {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 8px 10px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-radius: 8px !important;
    transition: background-color 0.2s ease !important;
    cursor: pointer !important;
}

.woof_husky_txt-option:last-child {
    border-bottom: none !important;
}

.woof_husky_txt-option:hover {
    background-color: #f8fafc !important;
}

.woof_husky_txt-option-thumbnail {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    display: block !important;
    border: 1px solid #e2e8f0 !important;
}

.woof_husky_txt-option > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    overflow: hidden !important;
}

.woof_husky_txt-option-title a {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.woof_husky_txt-option:hover .woof_husky_txt-option-title a {
    color: var(--brand-orange) !important;
}

.woof_husky_txt-option-breadcrumb,
.woof_husky_txt-option-text,
.woof_husky_txt-labels {
    display: none !important;
}

/* ========================================================
   4. Filter Top Panel & Sidebar Sliders
   ======================================================== */
ul.woof_products_top_panel_ul {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 24px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

ul.woof_products_top_panel_ul ul,
ul.woof_products_top_panel_ul ul[data-container],
ul.woof_products_top_panel_ul li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

ul.woof_products_top_panel_ul button.woof_reset_button_2 {
    background-color: var(--brand-orange) !important;
    color: #ffffff !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    filter: none !important;
    margin: 0 !important;
}

ul.woof_products_top_panel_ul ul[data-container] > li:first-child {
    display: inline-flex !important;
    align-items: center !important;
    height: 36px !important;
    line-height: 1 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 2px 0 0 !important;
    white-space: nowrap !important;
}

ul.woof_products_top_panel_ul a {
    background: none !important;
    background-image: none !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.woof_products_top_panel_ul a::before,
ul.woof_products_top_panel_ul a::after,
ul.woof_products_top_panel_ul a img {
    display: none !important;
}

ul.woof_products_top_panel_ul .woof_remove_ppi {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #4338ca !important;
    background: #eef2ff !important;
    border: 1px solid #c7d2fe !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
}

ul.woof_products_top_panel_ul .woof_remove_ppi::after {
    content: "✕" !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #4338ca !important;
    margin-left: 4px !important;
}

ul.woof_products_top_panel_ul a:hover .woof_remove_ppi {
    background-color: #4338ca !important;
    color: #ffffff !important;
    border-color: #4338ca !important;
}

ul.woof_products_top_panel_ul a:hover .woof_remove_ppi::after {
    color: #ffffff !important;
}

.woof_container h4 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 14px 0 !important;
}

.woof_container {
    margin-bottom: 22px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* Range Slider */
.woof .irs--round .irs-bar {
    background-color: var(--brand-orange) !important;
    height: 5px !important;
}

.woof .irs--round .irs-handle {
    border: 2px solid var(--brand-orange) !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}

.woof .irs--round .irs-from,
.woof .irs--round .irs-to,
.woof .irs--round .irs-single {
    background-color: var(--brand-orange) !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* ========================================================
   5. WooCommerce Catalog Grid Container
   ======================================================== */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    margin: 0 0 35px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

ul.products::before,
ul.products::after,
ul.products li.product::before,
ul.products li.product::after {
    display: none !important;
    content: none !important;
}

/* ========================================================
   6. Elementor Nested Tabs (Services Spec Match)
   ======================================================== */
.elementor-widget-n-tabs .e-n-tabs {
    max-width: 1024px !important;
    margin: 0 auto !important;
    background-color: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
}

.elementor-widget-n-tabs .e-n-tabs-heading {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    background-color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

.elementor-widget-n-tabs .e-n-tab-title {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 18px 24px !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 2px solid transparent !important;
    color: var(--text-secondary) !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    outline: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.elementor-widget-n-tabs .e-n-tab-title .e-n-tab-title-text {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: inherit !important;
    line-height: 1.4 !important;
}

.elementor-widget-n-tabs .e-n-tab-title svg,
.elementor-widget-n-tabs .e-n-tab-title i {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
    transition: fill 0.2s ease !important;
}

.elementor-widget-n-tabs .e-n-tab-title:hover {
    color: var(--text-primary) !important;
    background-color: var(--surface-light) !important;
}

.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
    background-color: #f8f9fa !important;
    color: var(--brand-orange) !important;
    border-bottom: 2px solid var(--brand-orange) !important;
}

.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] svg,
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] i {
    fill: var(--brand-orange) !important;
}

.elementor-widget-n-tabs .e-n-tabs-content {
    background-color: #ffffff !important;
    padding: 0 !important;
}

.elementor-widget-n-tabs .e-n-tabs-content > .e-con {
    padding: 36px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* ========================================================
   7. Unified Form Styles (Services Tabs & Contact Card)
   ======================================================== */
.elementor-widget-n-tabs .elementor-form .elementor-form-fields-wrapper,
.tos-contact-card .elementor-form .elementor-form-fields-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    column-gap: 24px !important;
    row-gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-group.elementor-col-50,
.elementor-widget-n-tabs .elementor-form .elementor-column.elementor-col-50,
.tos-contact-card .elementor-form .elementor-field-group.elementor-col-50,
.tos-contact-card .elementor-form .elementor-column.elementor-col-50 {
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    flex: 0 0 calc(50% - 12px) !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-group.elementor-col-100,
.elementor-widget-n-tabs .elementor-form .elementor-column.elementor-col-100,
.tos-contact-card .elementor-form .elementor-field-group.elementor-col-100,
.tos-contact-card .elementor-form .elementor-column.elementor-col-100 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-label,
.tos-contact-card .elementor-form .elementor-field-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    color: #584239 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-textual,
.elementor-widget-n-tabs .elementor-form input[type="text"],
.elementor-widget-n-tabs .elementor-form input[type="email"],
.elementor-widget-n-tabs .elementor-form input[type="tel"],
.elementor-widget-n-tabs .elementor-form input[type="number"],
.elementor-widget-n-tabs .elementor-form select,
.elementor-widget-n-tabs .elementor-form textarea,
.tos-contact-card .elementor-form .elementor-field-textual,
.tos-contact-card .elementor-form input[type="text"],
.tos-contact-card .elementor-form input[type="email"],
.tos-contact-card .elementor-form input[type="tel"],
.tos-contact-card .elementor-form input[type="number"],
.tos-contact-card .elementor-form select,
.tos-contact-card .elementor-form textarea {
    width: 100% !important;
    height: 48px !important;
    background-color: var(--surface-light) !important;
    border: 1.5px solid transparent !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: var(--text-primary) !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease-in-out !important;
}

.elementor-widget-n-tabs .elementor-form input::placeholder,
.elementor-widget-n-tabs .elementor-form textarea::placeholder,
.tos-contact-card .elementor-form input::placeholder,
.tos-contact-card .elementor-form textarea::placeholder {
    color: #718096 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
}

.elementor-widget-n-tabs .elementor-form select,
.tos-contact-card .elementor-form select {
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23f3733a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    padding-right: 40px !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-textual:focus,
.elementor-widget-n-tabs .elementor-form select:focus,
.elementor-widget-n-tabs .elementor-form textarea:focus,
.tos-contact-card .elementor-form .elementor-field-textual:focus,
.tos-contact-card .elementor-form select:focus,
.tos-contact-card .elementor-form textarea:focus {
    background-color: #ffffff !important;
    border-color: var(--brand-orange) !important;
    box-shadow: 0 0 0 3px var(--brand-orange-light) !important;
}

.elementor-widget-n-tabs .elementor-form textarea.elementor-field-textual,
.tos-contact-card .elementor-form textarea.elementor-field-textual {
    height: auto !important;
    min-height: 115px !important;
    padding: 14px 16px !important;
    resize: none !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-type-upload .elementor-upload-field,
.tos-contact-card .elementor-form .elementor-field-type-upload .elementor-upload-field {
    width: 100% !important;
    padding: 14px 16px !important;
    background-color: var(--surface-light) !important;
    border: 1.5px dashed #dfc0b5 !important;
    border-radius: 8px !important;
    color: var(--text-secondary) !important;
    font-size: 13.5px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-type-upload .elementor-upload-field:hover,
.tos-contact-card .elementor-form .elementor-field-type-upload .elementor-upload-field:hover {
    background-color: #ffffff !important;
    border-color: var(--brand-orange) !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-field-type-submit.e-form__buttons,
.tos-contact-card .elementor-form .elementor-field-type-submit.e-form__buttons {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    padding: 0 !important;
    margin-top: 10px !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-button,
.tos-contact-card .elementor-form .elementor-button {
    background-color: var(--brand-orange) !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    padding: 12px 34px !important;
    height: 46px !important;
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 2px 10px var(--brand-orange-light) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    width: auto !important;
    min-width: 180px !important;
}

.elementor-widget-n-tabs .elementor-form .elementor-button:hover,
.tos-contact-card .elementor-form .elementor-button:hover {
    background-color: var(--brand-orange-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(243, 115, 58, 0.3) !important;
}

/* ========================================================
   8. Contact Page (Main Card, Info Stack & Map Embed)
   ======================================================== */
.tos-contact-card {
    max-width: 1024px !important;
    margin: 0 auto !important;
    background-color: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 40px rgba(0, 0, 0, 0.04) !important;
    padding: 48px !important;
    box-sizing: border-box !important;
}

.tos-info-stack {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    min-height: 100%;
    gap: 16px;
    box-sizing: border-box;
    font-family: 'Inter', -apple-system, sans-serif;
}

.tos-info-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    background-color: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
    text-decoration: none !important;
    border-bottom: none !important;
    transition: all 0.25s ease;
    box-sizing: border-box;
    width: 100%;
}

a.tos-info-card,
a.tos-info-card:hover,
a.tos-info-card:focus,
a.tos-info-card:visited,
a.tos-info-card * {
    text-decoration: none !important;
    border-bottom: none !important;
}

a.tos-info-card:hover {
    border-color: var(--brand-orange);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px var(--brand-orange-light);
}

.tos-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 10px;
    background-color: var(--surface-light);
    color: var(--brand-orange);
    transition: all 0.25s ease;
}

.tos-card-icon svg {
    width: 22px;
    height: 22px;
}

a.tos-info-card:hover .tos-card-icon {
    background-color: var(--brand-orange);
    color: #ffffff;
}

.tos-card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-width: 0;
}

.tos-card-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.tos-card-value {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.35;
    word-break: break-word;
}

.tos-card-sub {
    font-size: 13px;
    color: var(--text-secondary);
    margin-top: 3px;
    line-height: 1.4;
}

.tos-card-address {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 4px 0 0;
    line-height: 1.5;
    direction: rtl;
    text-align: right;
}

.tos-card-arrow {
    font-size: 18px;
    color: var(--text-muted);
    flex-shrink: 0;
    transition: transform 0.25s ease, color 0.25s ease;
}

a.tos-info-card:hover .tos-card-arrow {
    color: var(--brand-orange);
    transform: translateX(4px);
}

.tos-map-wrapper {
    max-width: 1024px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.tos-map-wrapper iframe {
    width: 100%;
    height: 400px;
    display: block;
    border: 0;
}

/* ========================================================
   9. Global Branded Footer
   ======================================================== */
.tos-footer {
    background-color: var(--brand-navy);
    color: #f8f9fa;
    padding: 70px 24px 30px;
    font-family: 'Inter', -apple-system, sans-serif;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tos-footer-container {
    max-width: 1200px;
    margin: 0 auto;
}

.tos-footer-grid {
    display: grid;
    grid-template-columns: 1.8fr 1.2fr 1.2fr 1fr;
    gap: 40px;
    margin-bottom: 50px;
}

.tos-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    margin-bottom: 16px;
}

.tos-logo-text {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
}

.tos-logo-badge {
    background: var(--brand-orange);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 4px;
    text-transform: uppercase;
}

.tos-brand-desc {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 24px;
    max-width: 320px;
}

.tos-social-links {
    display: flex;
    gap: 12px;
}

.tos-social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.25s ease;
    text-decoration: none !important;
}

.tos-social-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

.tos-social-icon:hover {
    background: var(--brand-orange);
    color: #ffffff;
    border-color: var(--brand-orange);
    transform: translateY(-2px);
}

.tos-col-title {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
    position: relative;
}

.tos-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tos-links-list a {
    color: #94a3b8;
    text-decoration: none !important;
    font-size: 14px;
    transition: color 0.2s ease, padding 0.2s ease;
    display: inline-block;
}

.tos-links-list a:hover {
    color: var(--brand-orange);
    padding-inline-start: 4px;
}

.tos-bottom-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.tos-copyright {
    color: #64748b;
    font-size: 13px;
    margin: 0;
}

.tos-payment-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.tos-payment-chips span {
    font-size: 11px;
    color: #94a3b8;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 4px 10px;
    border-radius: 6px;
}

/* ========================================================
   10. Single Product Page Styling
   ======================================================== */
.single-product div.product {
    max-width: 1200px !important;
    margin: 30px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.single-product span.onsale {
    background-color: var(--brand-orange) !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: 6px !important;
    padding: 4px 12px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    box-shadow: 0 4px 12px rgba(243, 115, 58, 0.3) !important;
}

.woocommerce-product-gallery {
    border-radius: 12px !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image img {
    border-radius: 12px !important;
    border: 1px solid var(--border-subtle) !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-product-gallery .flex-control-thumbs {
    margin-top: 12px !important;
    gap: 10px !important;
    display: flex !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    border-radius: 8px !important;
    overflow: hidden !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    border: 1.5px solid var(--border-subtle) !important;
    border-radius: 8px !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li img:hover {
    border-color: var(--brand-orange) !important;
}

.single-product .summary.entry-summary {
    padding-left: 20px !important;
}

.single-product .product_title {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--text-primary) !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
}

.single-product p.price {
    font-family: 'Inter', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--brand-orange) !important;
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
}

.single-product p.price del {
    font-size: 16px !important;
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

.single-product p.price ins {
    text-decoration: none !important;
    color: var(--brand-orange) !important;
}

.single-product .woocommerce-product-details__short-description {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: var(--text-secondary) !important;
    border-top: 1px solid var(--border-subtle) !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    padding: 16px 0 !important;
    margin: 16px 0 20px !important;
}

.single-product p.stock.in-stock {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #10b981 !important;
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-bottom: 18px !important;
}

.single-product p.stock.in-stock::before {
    content: "" !important;
    width: 6px !important;
    height: 6px !important;
    background-color: #10b981 !important;
    border-radius: 50% !important;
}

.single-product form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}

.single-product form.cart .quantity .qty {
    height: 46px !important;
    width: 65px !important;
    border: 1.5px solid var(--border-subtle) !important;
    border-radius: 8px !important;
    background-color: var(--surface-light) !important;
    color: var(--text-primary) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: center !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.single-product form.cart .quantity .qty:focus {
    background-color: #ffffff !important;
    border-color: var(--brand-orange) !important;
    box-shadow: 0 0 0 3px var(--brand-orange-light) !important;
}

.single-product button.single_add_to_cart_button {
    height: 46px !important;
    padding: 0 32px !important;
    background-color: var(--brand-orange) !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px var(--brand-orange-light) !important;
    transition: all 0.25s ease !important;
}

.single-product button.single_add_to_cart_button:hover {
    background-color: var(--brand-orange-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(243, 115, 58, 0.3) !important;
}

.single-product .product_meta {
    font-size: 13px !important;
    color: var(--text-muted) !important;
    line-height: 1.8 !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--border-subtle) !important;
}

.single-product .product_meta span {
    display: block !important;
}

.single-product .product_meta a {
    color: var(--text-secondary) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}

.single-product .product_meta a:hover {
    color: var(--brand-orange) !important;
}

.single-product .woocommerce-tabs {
    margin-top: 50px !important;
    background-color: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    list-style: none !important;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    display: inline-block !important;
    padding: 16px 28px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--text-secondary) !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    transition: all 0.2s ease !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: var(--brand-orange) !important;
    border-bottom-color: var(--brand-orange) !important;
    background-color: #f8f9fa !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 36px 40px !important;
    color: var(--text-secondary) !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-of-type {
    display: none !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel strong {
    color: var(--text-primary) !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel ul {
    padding-left: 20px !important;
    margin: 12px 0 20px !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel ul li {
    margin-bottom: 8px !important;
    line-height: 1.6 !important;
}

/* ========================================================
   11. Shop Catalog & Product Cards (Clean, Fixed Baseline)
   ======================================================== */
.woocommerce-result-count {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: var(--text-muted) !important;
    margin-bottom: 20px !important;
}

.woocommerce-ordering select.orderby {
    height: 42px !important;
    padding: 0 36px 0 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: var(--text-primary) !important;
    background-color: #ffffff !important;
    border: 1.5px solid var(--border-subtle) !important;
    border-radius: 8px !important;
    outline: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-ordering select.orderby:focus {
    border-color: var(--brand-orange) !important;
}

/* Annihilate Compare Actions in All Themes & Plugins */
ul.products li.product [class*="compare"],
ul.products li.product [id*="compare"],
ul.products li.product a.compare,
ul.products li.product .ast-compare-action,
ul.products li.product .ast-compare-trigger,
ul.products li.product .woocommerce-compare-button {
    display: none !important;
}

/* Equalized Card Box */
ul.products {
    display: grid !important;
    align-items: stretch !important;
}

ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background-color: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
    position: relative !important;
}

ul.products li.product:hover {
    transform: translateY(-4px) !important;
    border-color: var(--brand-orange) !important;
    box-shadow: 0 10px 25px rgba(243, 115, 58, 0.12) !important;
}

ul.products li.product a img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background-color: var(--surface-light) !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    margin-bottom: 12px !important;
}

/* Floating Utility Badges (Wishlist & Quick View) */
ul.products li.product [class*="wishlist"],
ul.products li.product [class*="quick-view"],
ul.products li.product .ast-quick-view-trigger {
    position: absolute !important;
    right: 12px !important;
    width: 32px !important;
    height: 32px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--border-subtle) !important;
    transition: all 0.2s ease !important;
}

ul.products li.product [class*="wishlist"] {
    top: 12px !important;
}

ul.products li.product [class*="quick-view"],
ul.products li.product .ast-quick-view-trigger {
    top: 50px !important;
}

ul.products li.product [class*="wishlist"] a,
ul.products li.product [class*="quick-view"] a,
ul.products li.product .ast-quick-view-trigger a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: var(--text-secondary) !important;
    text-decoration: none !important;
    border: none !important;
}

ul.products li.product [class*="wishlist"]:hover,
ul.products li.product [class*="quick-view"]:hover,
ul.products li.product .ast-quick-view-trigger:hover {
    background-color: var(--brand-orange) !important;
    border-color: var(--brand-orange) !important;
    transform: scale(1.08) !important;
}

ul.products li.product [class*="wishlist"]:hover a,
ul.products li.product [class*="quick-view"]:hover a,
ul.products li.product .ast-quick-view-trigger:hover a {
    color: #ffffff !important;
}

/* 2-Line Fixed Title Baseline */
ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: var(--text-primary) !important;
    line-height: 1.4 !important;
    min-height: 42px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
}

ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--brand-orange) !important;
}

ul.products li.product .price {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--brand-orange) !important;
    min-height: 24px !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
}

ul.products li.product .price del {
    font-size: 12.5px !important;
    color: var(--text-muted) !important;
    font-weight: 400 !important;
}

ul.products li.product .price ins {
    text-decoration: none !important;
    color: var(--brand-orange) !important;
}

/* Solid Orange Full-Width Add To Cart */
ul.products li.product .button,
ul.products li.product a.add_to_cart_button {
    margin-top: auto !important;
    width: 100% !important;
    height: 42px !important;
    background-color: var(--brand-orange) !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    border: none !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 10px var(--brand-orange-light) !important;
    transition: all 0.2s ease !important;
}

ul.products li.product .button:hover,
ul.products li.product a.add_to_cart_button:hover {
    background-color: var(--brand-orange-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 14px rgba(243, 115, 58, 0.3) !important;
}

ul.products li.product span.onsale {
    background-color: var(--brand-orange) !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
    top: 14px !important;
    left: 14px !important;
    right: auto !important;
    box-shadow: 0 3px 10px rgba(243, 115, 58, 0.25) !important;
    z-index: 5 !important;
}

/* ========================================================
   12. Product Category Filter Tree (Optimized Click Target)
   ======================================================== */
.woof_container_product_cat,
.woof_sid_widget,
.woof_container_product_cat * {
    direction: ltr !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.woof_container_product_cat ul.woof_list_checkbox,
.woof_container_product_cat ul.woof_childs_list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Category Row Wrapper */
.woof_container_product_cat ul.woof_list_checkbox li {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    margin: 0 0 4px 0 !important;
    padding: 3px 6px !important;
    border-radius: 6px !important;
    width: 100% !important;
    transition: background-color 0.15s ease !important;
}

.woof_container_product_cat ul.woof_list_checkbox li:hover {
    background-color: var(--surface-light) !important;
}

/* Checkbox (iCheck Wrapper) */
.woof_container_product_cat div[class*="icheckbox_"] {
    background-image: none !important;
    background-color: #ffffff !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    transition: all 0.15s ease !important;
}

.woof_container_product_cat div[class*="icheckbox_"]:hover {
    border-color: var(--brand-orange) !important;
}

.woof_container_product_cat div[class*="icheckbox_"].checked {
    background-color: var(--brand-orange) !important;
    border-color: var(--brand-orange) !important;
}

.woof_container_product_cat div[class*="icheckbox_"].checked::after {
    content: "" !important;
    display: block !important;
    width: 4px !important;
    height: 8px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    margin-bottom: 2px !important;
}

/* Category Label */
.woof_container_product_cat label.woof_checkbox_label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 4px 0 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: var(--text-primary) !important;
    cursor: pointer !important;
    line-height: 1.3 !important;
}

.woof_container_product_cat label.woof_checkbox_label:hover,
.woof_container_product_cat label.woof_checkbox_label_selected {
    color: var(--brand-orange) !important;
    font-weight: 600 !important;
}

/* Huge 32x32px Clickable Arrow Target */
.woof_container_product_cat a.woof_childs_list_opener {
    margin-left: auto !important;
    margin-right: 0 !important;
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    z-index: 5 !important;
}

.woof_container_product_cat a.woof_childs_list_opener:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Span Fills the ENTIRE Button so Click Never Misses */
.woof_container_product_cat a.woof_childs_list_opener span {
    background: none !important;
    background-image: none !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

/* Draw Sleek Chevron Arrow */
.woof_container_product_cat a.woof_childs_list_opener span::before {
    content: "" !important;
    width: 6px !important;
    height: 6px !important;
    border-right: 2px solid var(--text-muted) !important;
    border-bottom: 2px solid var(--text-muted) !important;
    transform: rotate(-45deg) !important;
    transition: transform 0.2s ease, border-color 0.2s ease !important;
    display: block !important;
}

.woof_container_product_cat a.woof_childs_list_opener span.woof_is_opened::before {
    transform: rotate(45deg) !important;
    border-color: var(--brand-orange) !important;
}

/* Subcategories Tree Layout */
.woof_container_product_cat ul.woof_childs_list {
    width: 100% !important;
    flex: 0 0 100% !important;
    margin: 4px 0 4px 8px !important;
    padding: 2px 0 2px 10px !important;
    border-left: 1.5px solid var(--border-subtle) !important;
}

.woof_container_product_cat ul.woof_childs_list li {
    padding: 2px 6px !important;
}

.woof_container_product_cat ul.woof_childs_list li label.woof_checkbox_label {
    font-size: 13px !important;
    color: var(--text-secondary) !important;
}

.woof_container_product_cat input[type="hidden"] {
    display: none !important;
}

/* ========================================================
   13. Responsive Media Queries
   ======================================================== */
@media (max-width: 1024px) {
    ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 18px !important;
    }
}

@media (max-width: 991px) {
    .tos-info-stack {
        height: auto;
        min-height: auto;
        justify-content: flex-start;
        gap: 14px;
    }

    .tos-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

@media (max-width: 767px) {
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .elementor-widget-n-tabs .e-n-tabs-heading {
        flex-direction: column !important;
    }

    .elementor-widget-n-tabs .e-n-tab-title {
        border-bottom: 1px solid var(--border-subtle) !important;
        padding: 14px 16px !important;
    }

    .elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
        border-bottom: 2px solid var(--brand-orange) !important;
    }

    .elementor-widget-n-tabs .e-n-tabs-content > .e-con {
        padding: 24px 16px !important;
    }

    .elementor-widget-n-tabs .elementor-form .elementor-field-group.elementor-col-50,
    .elementor-widget-n-tabs .elementor-form .elementor-column.elementor-col-50,
    .tos-contact-card .elementor-form .elementor-field-group.elementor-col-50,
    .tos-contact-card .elementor-form .elementor-column.elementor-col-50 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .elementor-widget-n-tabs .elementor-form .elementor-form-fields-wrapper,
    .tos-contact-card .elementor-form .elementor-form-fields-wrapper {
        row-gap: 16px !important;
    }

    .elementor-widget-n-tabs .elementor-form .elementor-field-type-submit.e-form__buttons,
    .tos-contact-card .elementor-form .elementor-field-type-submit.e-form__buttons {
        justify-content: stretch !important;
    }

    .elementor-widget-n-tabs .elementor-form .elementor-button,
    .tos-contact-card .elementor-form .elementor-button {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    .tos-contact-card {
        padding: 24px 16px !important;
    }

    .tos-info-card {
        padding: 16px 14px;
        gap: 12px;
    }

    .tos-card-icon {
        width: 42px;
        height: 42px;
    }

    .tos-card-icon svg {
        width: 20px;
        height: 20px;
    }

    .tos-card-value {
        font-size: 14.5px;
    }

    .tos-email-value {
        font-size: 13px !important;
        word-break: break-all;
    }

    .tos-footer-grid {
        grid-template-columns: 1fr;
    }

    .tos-bottom-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .single-product .summary.entry-summary {
        padding-left: 0 !important;
        margin-top: 24px !important;
    }

    .single-product .product_title {
        font-size: 22px !important;
    }

    .single-product form.cart {
        flex-wrap: wrap !important;
    }

    .single-product button.single_add_to_cart_button {
        flex-grow: 1 !important;
    }

    .single-product .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 20px 16px !important;
    }
}

/* Hide Quick View Completely */
.shopengine-icon-quick_view_1 {
    display: none !important;
}

/* ========================================================
   14. Filter Drawer & Mobile Off-Canvas Filter
   ======================================================== */

/* Completely hide drawer header and close button on desktop screens */
.filter-drawer-header {
    display: none !important;
}

/* Filter Drawer Trigger Button Alignment (Eliminate outer wrapper offsets) */
.elementor-element.filter-drawer-open-btn {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
}

.elementor-element.filter-drawer-open-btn .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
}

.elementor-element.filter-drawer-open-btn .elementor-button {
    margin-left: 0 !important;
}

/* Filter Drawer Mobile Overlay */
.filter-drawer-overlay {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    z-index: 999998 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}

.filter-drawer-overlay.is-active {
    display: block !important;
}

/* Mobile Drawer Header & Clean Close Icon */
@media (max-width: 768px) {
    .filter-drawer-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding-bottom: 14px !important;
        margin-bottom: 20px !important;
        border-bottom: 1px solid var(--border-subtle) !important;
    }

    .filter-drawer-header span {
        font-family: 'Montserrat', sans-serif !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: var(--text-primary) !important;
    }

    /* Strip all theme button styles, backgrounds, and shadows */
    .filter-drawer-header .filter-drawer-close-btn,
    button.filter-drawer-close-btn,
    .filter-drawer-close-btn {
        all: unset !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        -webkit-box-shadow: none !important;
        filter: none !important;
        color: var(--text-secondary) !important;
        font-size: 28px !important;
        line-height: 1 !important;
        font-weight: 400 !important;
        cursor: pointer !important;
        transition: color 0.2s ease, transform 0.2s ease !important;
    }

    .filter-drawer-header .filter-drawer-close-btn:hover,
    .filter-drawer-header .filter-drawer-close-btn:active,
    .filter-drawer-header .filter-drawer-close-btn:focus {
        color: var(--brand-orange) !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        transform: rotate(90deg) !important;
    }
}

/* ========================================================
   15. My Account, Auth & Clean UI (Design System Aligned)
   ======================================================== */
:root {
    --to-primary: #f3733a;
    --to-primary-hover: #a63b00;
    --to-text-dark: #191c1d;
    --to-text-muted: #566067;
    --to-surface: #f8f9fa;
    --to-surface-low: #f3f4f5;
    --to-border: #edeeef;
    --to-radius: 8px;
    --to-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

/* Page Outer Wrapper & Padding from Header */
.woocommerce-account .woocommerce {
    max-width: 1040px !important;
    margin: 0 auto 60px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    font-family: 'Inter', sans-serif !important;
}

/* Title Normalization (Replaces giant H1) */
.woocommerce-account h1.entry-title,
.woocommerce-account .page-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--to-text-dark) !important;
    margin: 44px 0 24px 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--to-border) !important;
    letter-spacing: -0.01em !important;
}

/* ----------------------------------------------------
   A. Custom Minimalist Eye Icon (All Over The Store)
   ---------------------------------------------------- */
.woocommerce-account span.password-input,
.woocommerce span.password-input {
    display: block !important;
    position: relative !important;
    width: 100% !important;
}

.woocommerce-account span.password-input input,
.woocommerce span.password-input input {
    padding-right: 46px !important;
}

/* Hide Default Clunky Eye */
.woocommerce-account span.password-input .show-password-input::before,
.woocommerce span.password-input .show-password-input::before {
    display: none !important;
}

/* Custom Sleek Eye Icon (SVG Outline) */
.woocommerce-account span.password-input .show-password-input,
.woocommerce span.password-input .show-password-input {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
}

.woocommerce-account span.password-input .show-password-input::after,
.woocommerce span.password-input .show-password-input::after {
    content: "" !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='%23566067'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z' /%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 12a3 3 0 11-6 0 3 3 0 016 0z' /%3E%3C/svg%3E") !important;
    transition: opacity 0.2s ease !important;
}

/* Slashed Eye on Active */
.woocommerce-account span.password-input .show-password-input.display-password::after,
.woocommerce span.password-input .show-password-input.display-password::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.8' stroke='%23f3733a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88' /%3E%3C/svg%3E") !important;
}

/* ----------------------------------------------------
   B. Login & Registration Side-by-Side Containers
   ---------------------------------------------------- */
.woocommerce-account .col2-set,
.woocommerce-account #customer_login {
    display: flex !important;
    flex-direction: row !important;
    gap: 32px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after {
    display: none !important;
}

.woocommerce-account .col-1,
.woocommerce-account .col-2,
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    flex: 1 1 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    background: #ffffff !important;
    border: 1px solid var(--to-border) !important;
    border-radius: var(--to-radius) !important;
    padding: 32px !important;
    box-shadow: var(--to-shadow) !important;
    box-sizing: border-box !important;
}

.woocommerce-account h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--to-text-dark) !important;
    margin: 0 0 20px 0 !important;
}

.woocommerce-account .form-row {
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

.woocommerce-account .form-row label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--to-text-dark) !important;
    margin-bottom: 6px !important;
    display: block !important;
}

.woocommerce-account input.input-text,
.woocommerce-account .woocommerce-Input--text {
    width: 100% !important;
    height: 44px !important;
    background: var(--to-surface) !important;
    border: 1.5px solid var(--to-border) !important;
    border-radius: var(--to-radius) !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.woocommerce-account input.input-text:focus {
    background: #ffffff !important;
    border-color: var(--to-primary) !important;
    box-shadow: 0 0 0 3px rgba(243, 115, 58, 0.15) !important;
}

.woocommerce-account .woocommerce-button,
.woocommerce-account button.woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-register__submit {
    background-color: var(--to-primary) !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--to-radius) !important;
    height: 44px !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.15s ease !important;
}

.woocommerce-account .woocommerce-button:hover {
    background-color: var(--to-primary-hover) !important;
    transform: translateY(-1px) !important;
}

/* ----------------------------------------------------
   C. Logged-in Dashboard (Sidebar & Clean White Card)
   ---------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 240px !important;
    float: left !important;
    margin-right: 32px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: flex !important;
    align-items: center !important;
    padding: 12px 18px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--to-text-muted) !important;
    text-decoration: none !important;
    border-radius: var(--to-radius) !important;
    background: #ffffff !important;
    border: 1px solid var(--to-border) !important;
    transition: all 0.2s ease !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: var(--to-surface) !important;
    color: var(--to-text-dark) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--to-primary) !important;
    color: #ffffff !important;
    border-color: var(--to-primary) !important;
    box-shadow: 0 4px 14px rgba(243, 115, 58, 0.25) !important;
}

/* Content Area Card */
.woocommerce-account .woocommerce-MyAccount-content {
    background: #ffffff !important;
    border: 1px solid var(--to-border) !important;
    border-radius: var(--to-radius) !important;
    padding: 36px !important;
    box-shadow: var(--to-shadow) !important;
    min-height: 380px !important;
    box-sizing: border-box !important;
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: var(--to-text-dark) !important;
}

.woocommerce-account .woocommerce-MyAccount-content p a {
    color: var(--to-primary) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content p a:hover {
    text-decoration: underline !important;
}

/* Modern Notices (Temporary password notice fix) */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
    background: var(--to-surface) !important;
    border: 1px solid var(--to-border) !important;
    border-left: 4px solid var(--to-primary) !important;
    border-radius: var(--to-radius) !important;
    padding: 16px 20px !important;
    font-size: 13.5px !important;
    color: var(--to-text-dark) !important;
    margin-bottom: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button {
    background: var(--to-primary) !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .woocommerce-account .col2-set,
    .woocommerce-account #customer_login {
        flex-direction: column !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100% !important;
        float: none !important;
        margin: 0 0 24px 0 !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: row !important;
        overflow-x: auto !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation li a {
        white-space: nowrap !important;
    }
}

/* ========================================================
   16. WooCommerce Notices & Action Button Normalization
   ======================================================== */

/* 1. Notice Box Container & Alignment */
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    background: #ffffff !important;
    border: 1px solid var(--to-border) !important;
    border-left: 4px solid var(--to-primary) !important;
    border-radius: var(--to-radius) !important;
    padding: 18px 24px !important;
    margin: 0 0 20px 0 !important;
    color: var(--to-text-dark) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    box-shadow: var(--to-shadow) !important;
}

/* 2. Hide Default Redundant Icons */
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before {
    display: none !important;
    content: none !important;
}

/* 3. Reset Float & Position Button Cleanly */
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-error .button {
    order: 2 !important;
    float: none !important;
    margin: 0 !important;
    width: auto !important;
    white-space: nowrap !important;
    background-color: var(--to-primary) !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 9px 18px !important;
    border-radius: var(--to-radius) !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.15s ease !important;
    flex-shrink: 0 !important;
}

.woocommerce-account .woocommerce-info .button:hover,
.woocommerce-account .woocommerce-message .button:hover {
    background-color: var(--to-primary-hover) !important;
    transform: translateY(-1px) !important;
}

/* 4. Mobile Notice Responsiveness */
@media (max-width: 650px) {
    .woocommerce-account .woocommerce-info,
    .woocommerce-account .woocommerce-message {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 14px !important;
    }

    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-message .button {
        width: 100% !important;
        text-align: center !important;
        order: 3 !important;
    }
}

/* ========================================================
   17. Header Auth & Live Search Styling
   ======================================================== */

/* Auth Links (Login / Account / Logout) */
.header-auth-group {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.header-auth-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    transition: color 0.2s ease;
}

.header-auth-item:hover {
    color: var(--to-primary) !important;
}

.header-auth-item.logout-link {
    color: #94a3b8 !important;
    font-size: 12.5px;
}

.header-auth-item.logout-link:hover {
    color: #ef4444 !important; /* Subtle red for logout hover */
}

.header-auth-sep {
    color: #334155;
    font-size: 12px;
}

/* FiboSearch Modern Bar Styling */
.dgwt-wcas-search-wrapp {
    max-width: 320px !important;
    width: 100% !important;
}

.dgwt-wcas-sf-search {
    background: #111a22 !important; /* Darker tint than header navy */
    border: 1px solid #1f2937 !important;
    border-radius: 8px !important;
    height: 40px !important;
    transition: all 0.2s ease !important;
}

.dgwt-wcas-sf-search:focus-within {
    border-color: var(--to-primary) !important;
    box-shadow: 0 0 0 2px rgba(243, 115, 58, 0.2) !important;
}

.dgwt-wcas-search-input {
    color: #ffffff !important;
    font-size: 13px !important;
    font-family: 'Inter', sans-serif !important;
    background: transparent !important;
}

.dgwt-wcas-search-input::placeholder {
    color: #64748b !important;
}

.dgwt-wcas-search-icon path {
    fill: #94a3b8 !important;
}

/* FiboSearch Results Dropdown Window */
.dgwt-wcas-suggestions-wrapp {
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid #edeeef !important;
    margin-top: 6px !important;
}

.dgwt-wcas-suggestion .dgwt-wcas-st-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
}

.dgwt-wcas-suggestion .dgwt-wcas-st-price {
    color: var(--to-primary) !important;
    font-weight: 700 !important;
}

/* ========================================================
   18. FiboSearch Icon Alignment & Layout Polish
   ======================================================== */

/* Main Search Container */
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp,
.dgwt-wcas-sf-wrapp {
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    height: 40px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Prevent icon wrapping */
    align-items: center !important;
    justify-content: space-between !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: none !important;
    transition: all 0.25s ease !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

/* Focus State Highlight */
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp:focus-within,
.dgwt-wcas-sf-wrapp:focus-within {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: #f3733a !important;
    box-shadow: 0 0 0 3px rgba(243, 115, 58, 0.2) !important;
}

/* Search Input Field */
.dgwt-wcas-search-input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13.5px !important;
    padding: 0 12px 0 14px !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.dgwt-wcas-search-input::placeholder {
    color: #94a3b8 !important;
    opacity: 0.85 !important;
    font-size: 13px !important;
}

/* Search Submit Button & Magnifier Centering */
.dgwt-wcas-search-submit {
    position: static !important; /* Reset absolute positioning */
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transform: none !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

/* Magnifier Icon Dimensions & Colors */
.dgwt-wcas-ico-magnifier {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    position: static !important;
    margin: 0 !important;
}

.dgwt-wcas-ico-magnifier path {
    fill: #94a3b8 !important;
    transition: fill 0.2s ease !important;
}

.dgwt-wcas-sf-wrapp:focus-within .dgwt-wcas-ico-magnifier path,
.dgwt-wcas-search-submit:hover .dgwt-wcas-ico-magnifier path {
    fill: #f3733a !important;
}

/* Hide Unused Voice Search & Preloader */
.dgwt-wcas-voice-search,
.dgwt-wcas-preloader {
    display: none !important;
}

/* ========================================================
   19. Projects Archive & Showcase Cards
   ======================================================== */

/* Grid Container */
.tos-projects-grid .elementor-posts-container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
}

/* Individual Project Card */
.tos-projects-grid article.elementor-post {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid var(--border-subtle, #edeeef) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.tos-projects-grid article.elementor-post:hover {
    transform: translateY(-5px) !important;
    border-color: var(--brand-orange, #f3733a) !important;
    box-shadow: 0 12px 30px rgba(243, 115, 58, 0.12) !important;
}

/* ========================================================
   Fix Project Card Thumbnail Centering & Zoom Animation
   ======================================================== */

/* 1. Thumbnail Container */
.tos-projects-grid .elementor-post__thumbnail {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    background-color: var(--surface-light, #f3f4f5) !important;
    padding-bottom: 0 !important; /* Resets Elementor's default padding-bottom ratio hack */
}

.tos-projects-grid .elementor-post__thumbnail__link,
.tos-projects-grid .elementor-post__thumbnail a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

/* 2. Base Image State (Centered & Anchored) */
.tos-projects-grid .elementor-post__thumbnail img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: translate(-50%, -50%) scale(1) !important;
    transform-origin: center center !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: block !important;
}

/* 3. Hover State (Retains translation while smoothly zooming) */
.tos-projects-grid article.elementor-post:hover .elementor-post__thumbnail img {
    transform: translate(-50%, -50%) scale(1.06) !important;
}
/* Card Body Content */
.tos-projects-grid .elementor-post__text {
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.tos-projects-grid .elementor-post__title,
.tos-projects-grid .elementor-post__title a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--text-primary, #191c1d) !important;
    line-height: 1.4 !important;
    margin: 0 0 10px 0 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.tos-projects-grid article.elementor-post:hover .elementor-post__title a {
    color: var(--brand-orange, #f3733a) !important;
}

.tos-projects-grid .elementor-post__excerpt p {
    font-family: 'Inter', sans-serif !important;
    font-size: 13.5px !important;
    color: var(--text-secondary, #566067) !important;
    line-height: 1.6 !important;
    margin: 0 0 18px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Read More Button / Link */
.tos-projects-grid .elementor-post__read-more {
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--brand-orange, #f3733a) !important;
    text-decoration: none !important;
    transition: gap 0.2s ease !important;
}

.tos-projects-grid .elementor-post__read-more:hover {
    gap: 10px !important;
}

/* ========================================================
   20. Single Project Detail Page Styling
   ======================================================== */

/* Back to projects Link */
.project-back-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--text-secondary, #566067) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    margin-bottom: 20px !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.project-back-link:hover {
    color: var(--brand-orange, #f3733a) !important;
    transform: translateX(-4px) !important;
}

/* Title */
.single-project h1.elementor-heading-title,
.single-project .project-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--text-primary, #191c1d) !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 24px !important;
}

/* Hero / Featured Image */
.single-project .elementor-widget-theme-post-featured-image img,
.single-project .project-featured-image img {
    width: 100% !important;
    max-height: 480px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    border: 1px solid var(--border-subtle, #edeeef) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 36px !important;
}

/* Content Typography */
.single-project .elementor-widget-theme-post-content,
.single-project .project-content {
    font-family: 'Inter', sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.75 !important;
    color: var(--text-secondary, #566067) !important;
}

.single-project .elementor-widget-theme-post-content h2,
.single-project .elementor-widget-theme-post-content h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    color: var(--text-primary, #191c1d) !important;
    margin: 32px 0 16px 0 !important;
}

.single-project .elementor-widget-theme-post-content strong {
    color: var(--text-primary, #191c1d) !important;
}

.single-project .elementor-widget-theme-post-content ul {
    padding-inline-start: 22px !important;
    margin: 16px 0 24px 0 !important;
}

.single-project .elementor-widget-theme-post-content ul li {
    margin-bottom: 10px !important;
    line-height: 1.7 !important;
}

/* Attached Project Gallery Grid */
.project-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin: 40px 0 !important;
    padding: 0 !important;
}

.project-gallery-item {
    margin: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid var(--border-subtle, #edeeef) !important;
    aspect-ratio: 4 / 3 !important;
    background-color: var(--surface-light, #f3f4f5) !important;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.project-gallery-item:hover {
    transform: translateY(-3px) !important;
    border-color: var(--brand-orange, #f3733a) !important;
    box-shadow: 0 8px 24px rgba(243, 115, 58, 0.15) !important;
}

.project-gallery-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.35s ease !important;
}

.project-gallery-item:hover img {
    transform: scale(1.06) !important;
}

/* CTA Card at the Bottom of Project Page */
.project-cta-banner {
    background-color: var(--surface-light, #f3f4f5) !important;
    border: 1px solid var(--border-subtle, #edeeef) !important;
    border-left: 4px solid var(--brand-orange, #f3733a) !important;
    border-radius: 10px !important;
    padding: 28px 32px !important;
    margin-top: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
}

.project-cta-banner h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--text-primary, #191c1d) !important;
    margin: 0 0 6px 0 !important;
}

.project-cta-banner p {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: var(--text-secondary, #566067) !important;
    margin: 0 !important;
}

.project-cta-banner .elementor-button,
.project-cta-btn {
    background-color: var(--brand-orange, #f3733a) !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, transform 0.15s ease !important;
}

.project-cta-banner .elementor-button:hover,
.project-cta-btn:hover {
    background-color: var(--brand-orange-hover, #d95c25) !important;
    transform: translateY(-1px) !important;
}

/* ========================================================
   21. Responsive Rules for Projects
   ======================================================== */
@media (max-width: 1024px) {
    .tos-projects-grid .elementor-posts-container {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

@media (max-width: 768px) {
    .tos-projects-grid .elementor-posts-container {
        grid-template-columns: 1fr !important;
    }

    .single-project h1.elementor-heading-title,
    .single-project .project-title {
        font-size: 24px !important;
    }

    .project-gallery {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .project-cta-banner {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 20px !important;
    }

    .project-cta-btn,
    .project-cta-banner .elementor-button {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }
}/* End custom CSS */