/**
 * Indyguru.com - Hummingbird Child
 * CONSOLIDATED ELECTRO-STYLE (PS 9) - MASTER FILE
 */

/* ===============================
   1. BRAND VARIABLES (TEAL RESTORED)
================================ */
:root {
  --color-primary: #208199;    /* indyguru Teal */
  --color-primary-dark: #165a6b; /* Darker Shade of Teal */
  --color-accent: #158a9e;     /* Accent Teal */
  --color-highlight-lite: #cffffa; /* Lite Teal Highlight */
  --color-bg: #f5f5f5;         /* Electro Light Gray Background */
  --color-border: #dddddd;     /* Subtle but visible Electro borders */
  --color-text: #333333;       /* Clearer text color */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 15px rgba(0,0,0,0.05);
  --bs-blue: #208199 !important;
  --bs-primary: #208199 !important;
  --bs-link-color: #208199 !important;
  --bs-link-color-rgb: 32, 129, 153 !important;
  --bs-link-hover-color: #165a6b !important;
  --bs-link-hover-color-rgb: 22, 90, 107 !important;
  --bs-alert-bg: var(--color-highlight-lite) !important;
}

/* Form Checkbox/Radio Teal Overrides */
.form-check-input:checked {
    background-color: #208098 !important;
    border-color: #208199 !important;
}

/* Force Page Background with Pronounced Electro Gradient */
body {
    background: #ffffff; /* Fallback */
    background: linear-gradient(to bottom, #e0e0e0 0px, #f5f5f5 30px, #f5f5f5 100%) !important;
    background-attachment: fixed !important;
}

#wrapper {
    background: transparent !important;
}

/* ===============================
   3. HEADER & SEARCH BAR
================================ */
.header-nav a, .header-nav span {
    color: #ffffff !important;
    text-decoration: none;
}
.header-nav a:hover {
    color: var(--color-accent) !important;
}

/* Force Mobile Menu links to be visible (Dark Grey) */
.menu--mobile a, 
.menu--mobile span,
.menu--mobile .main-menu__title {
    color: #333333 !important;
}

.menu--mobile a:hover {
    color: var(--color-primary) !important;
}

/* Search Bar Layout & Width */
.search-widget,
#search_widget {
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important;
}
#search_widget form {
    width: 100%;
    display: flex;
    border: 2px solid var(--color-primary) !important; /* Branded Teal Border */
    border-radius: 8px !important;
    overflow: hidden;
}
#search_widget form input[type="text"] {
    width: 100%;
    background-color: #f1f1f1 !important;
    border: none !important;
    padding: 10px 15px;
    flex-grow: 1;
    outline: none;
    font-size: 16px !important; /* Lock size */
}

/* Search Button (Branded Teal) */
#search_widget form button[type="submit"].btn-primary,
#search_widget form .btn.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #ffffff !important;
    padding: 0 20px !important; 
    border-radius: 0 8px 8px 0 !important;
}
#search_widget form button i,
#search_widget form .btn i.search,
#search_widget form .btn .search-icon {
    color: #ffffff !important;
    font-size: 18px !important;
}

/* ===============================
   4. SIGN-IN & CART BUTTONS
================================ */
/* Sign In Text Links */
#_desktop_user_info i {
    display: none !important;
}
#_desktop_user_info .user-name,
#_desktop_user_info span.hidden-sm-down {
    display: inline-block !important;
    color: var(--color-text) !important;
}
#_desktop_user_info a {
    text-decoration: none;
    font-weight: 500;
}
#_desktop_user_info a:hover {
    color: var(--color-primary) !important;
}

#_desktop_cart i {
    color: #ffffff !important;
    font-size: 22px !important;
    margin-right: 8px;
}
#_desktop_cart .cart-products-count-text,
#_desktop_cart span.hidden-sm-down {
    display: inline-block !important;
    color: #ffffff !important;
    font-weight: bold;
}
#_desktop_cart .blockcart:hover {
    background-color: var(--color-text) !important;
}

/* ===============================
   5. SIDEBAR & COLLECTIONS TITLE
================================ */

/* NEW ELECTRO CATEGORY TREE & SIDEBAR BLOCK STYLES */
/* NEW ELECTRO CATEGORY TREE & SIDEBAR BLOCK STYLES */
#left-column .category-tree-electro,
#left-column .sidebar-custom-block,
#left-column .block,
#left-column .block-categories,
#left-column #search_filters_wrapper {
    border: 2px solid var(--color-primary) !important; /* Match ELECTRO thick border around the entire tree */
    background: #fff !important;
    margin-bottom: 25px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    padding: 0 !important; /* Ensure content reaches edges */
}

/* Specific fix for faceted search inner wrapper to prevent double borders and spacing issues */
#left-column #search-filters,
#left-column .facet,
#left-column .accordion-item {
    border: none !important;
    background: transparent !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

/* Match Filter sub-headings (Price, Brand, etc) to Category item style */
#left-column .facet .accordion-button {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--color-border) !important; /* Add thin line between filters to match categories */
    box-shadow: none !important;
    padding: 3px 45px !important; /* Indented further to 45px per user request */
    font-size: 15px !important;
    font-weight: 500 !important; /* EXACT match for category-link font-weight */
    color: var(--color-text) !important;
    font-family: 'Roboto', sans-serif !important;
    text-transform: none !important;
    min-height: 35px !important; /* Restored to 35px as it was "good" */
}

#left-column .facet .accordion-button::after {
    display: none !important; /* Hide the default Bootstrap arrow to keep it clean like Electro */
}

/* Match Filter labels/checkboxes to Category items and fix left border gap */
#left-column .facet .facet-label,
#left-column .facet .form-check {
    padding-left: 45px !important; /* Indented 45px to align with headers */
    margin-bottom: 5px !important;
    margin-top: 5px !important;
}

#left-column .facet .facet-label a,
#left-column .facet .form-check-label {
    font-size: 14px !important;
    color: #666666 !important;
    font-family: 'Roboto', sans-serif !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}

#left-column .facet .facet-label a:hover {
    color: var(--color-primary) !important;
    text-decoration: underline !important;
}

#left-column .facet .form-check-input {
    margin-top: 0.3rem !important;
    cursor: pointer;
}

.departments-title-electro,
.sidebar-block-title,
.search-filters-title,
.left-block__title,
#left-column .block .title_block,
#left-column .block .products-section-title,
#left-column .block h4 {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    padding: 0 20px !important; /* Unified padding */
    height: 55px !important;    /* Force identical height for all titles */
    display: flex !important;   /* Centers text vertically */
    align-items: center !important;
    font-size: 18px !important; 
    font-weight: 700 !important;
    font-family: 'Roboto', sans-serif !important;
    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 1px solid var(--color-primary) !important;
    margin: 0 !important;
    width: 100% !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}

.category-list-container ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.category-item {
    border-bottom: 1px solid var(--color-border); /* Thin line between items */
}
.category-item:last-child {
    border-bottom: none; /* No bottom border for the last item, the container border covers it */
}

.category-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px !important; 
    min-height: 10px !important; 
    height: 35px !important;     
    background-color: transparent !important; 
    overflow: hidden !important;
    transition: all 0.2s ease;
}
.category-row:hover {
    background-color: transparent; /* No background on hover */
}

.category-link {
    color: var(--color-text);
    text-decoration: none;
    font-size: 15px; /* Tighter 15px font */
    font-weight: 500;
    font-family: 'Roboto', sans-serif !important;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    flex-grow: 1;
    transition: color 0.2s ease;
}

.category-link.parent-link {
    font-weight: 500; /* Subtle semi-bold */
}

.category-row:hover .category-link,
.category-link.active {
    color: var(--color-primary) !important;
    text-decoration: underline !important; /* Shopify uses underline on hover */
}

/* Expand/Collapse Icons */
.collapse-icons {
    cursor: pointer;
    color: #94a3b8;
    display: flex;
    align-items: center;
    padding-left: 10px;
}

.collapse-icons:hover {
    color: var(--color-primary);
}

.collapse-icons .add, .collapse-icons .remove {
    font-size: 14px !important;
}

.collapse-icons[aria-expanded="true"] .add {
    display: none !important;
}

.collapse-icons[aria-expanded="false"] .remove {
    display: none !important;
}

.category-sub-wrapper {
    background-color: transparent; /* No sub-menu background */
}

/* OLD STYLES - Keep for fallback but prioritize NEW */
#left-column .block {

  border: 1px solid var(--color-border);
  background: #fff;
  margin-bottom: 20px;
  border-radius: 8px;
  overflow: hidden;
}
#left-column ul li a {
  display: block;
  padding: 12px 20px;
  border-bottom: 1px solid #f1f5f9;
  font-weight: 500;
  color: var(--color-text);
  transition: all 0.2s ease;
}
#left-column ul li a:hover {
  padding-left: 25px;
  background: #fdfdfd;
  color: var(--color-primary);
  text-decoration: none;
}

/* Custom "COLLECTIONS" Header */
.departments-title {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    padding: 15px !important;
    margin: -15px -15px 15px -15px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    text-align: center !important;
    text-transform: uppercase !important;
    border-radius: 6px 6px 0 0 !important;
}

/* ===============================
   6. PRODUCT GRID & BADGES
================================ */
/* Product Box Base & Hover Lift */
.product-miniature {
    position: relative !important;
    overflow: visible !important; /* ALLOW RIBBON BREAKOUT */
    background: #ffffff;
    border: 1px solid var(--color-border) !important;
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
    height: 100%; 
}
.product-miniature:hover {
    border-color: var(--color-primary-dark) !important; /* Dark Teal Border on Hover */
    box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important; 
    transform: translateY(-5px); 
}

/* Product Titles & Links - Catch All */
.product-miniature a,
.product-miniature .product-title a,
.product-miniature .product-reference {
    color: var(--color-primary) !important;
    text-decoration: none !important;
    font-size: 20px !important; 
    font-weight: 700 !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
}

.product-miniature .product-title a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: none !important; /* No underline */
}

/* Badges / Flags (Primary Teal) */

.product-flags .badge.out_of_stock,
.product-flags li.out_of_stock,
.badge.out_of_stock,
.product-flags .badge.last_remaining_items,
.product-flags li.last_remaining_items,
.badge.last_remaining_items {
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
    border: none !important;
}

/* red remains for discounts */
.product-miniature .product-flags li.discount,
.product-miniature .product-flags .product-flag.discount,
.product-miniature .badge.discount-percentage {
    background-color: #e53935 !important;
}

/* 1. Technical Manual Download Links Refinement */
.product__attachments .attachment .h5 {
    color: var(--color-primary) !important; /* Standard Teal */
    font-weight: 700 !important;
}

.product__attachments a {
    color: var(--color-primary) !important;
    font-weight: 600 !important;
    text-decoration: none !important; /* No default underline */
}

.product__attachments a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: underline !important; /* Underline only on hover */
}

/* 2. Outline Buttons (White Background / Teal Border) */
.btn-comment, 
.btn-outline-primary {
    background-color: #ffffff !important;
    border: 2px solid var(--color-primary) !important;
    color: var(--color-primary) !important;
    transition: all 0.3s ease !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 0 20px !important;
    height: 42px !important; /* User requested 42px height */
    line-height: 38px !important; /* Internal height lock for perfect centering */
    font-size: 16px !important;
    display: inline-block !important;
    text-align: center !important;
}
.btn-comment:hover, 
.btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
    border-color: var(--color-primary) !important;
    text-decoration: none !important;
}

/* 3. Solid Buttons (Teal Background / Charcoal Hover) */
.btn-primary, 
.add-to-cart,
button[type="submit"].btn-primary,
.email-subscription .btn-primary,
#authentication .btn-primary,
#contact .btn-primary,
.page-customer .btn-primary {
    background-color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
}

.btn-primary:hover, 
.add-to-cart:hover,
.email-subscription .btn-primary:hover,
button[type="submit"].btn-primary:hover {
    background-color: var(--color-text) !important; /* Matches MY CART hover (Charcoal) */
    border-color: var(--color-text) !important;
}

/* 4. Quantity Selector Fix */
.product-miniature .input-group {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
}
.product-miniature .input-group input[name="qty"] {
    flex-grow: 1 !important;
    text-align: center;
    border: 2px solid var(--color-primary) !important;
    border-radius: 6px 0 0 6px !important;
    height: 42px !important;
}
.product-miniature .input-group input[name="qty"]:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(32, 129, 153, 0.25) !important;
    background-color: var(--color-highlight-lite) !important;
}
.product-miniature .input-group .add-to-cart {
    flex-shrink: 0 !important;
    width: 60px !important;
    height: 42px !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 0 !important;
    margin-left: -2px !important;
}

.bootstrap-touchspin .btn-touchspin {
    border-color: var(--color-primary) !important;
    color: var(--color-primary) !important;
    background-color: #ffffff !important;
}
.bootstrap-touchspin .btn-touchspin:hover {
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
}

/* Thumbnail Borders (Clean Default, Dark Teal on Hover/Active) */
.js-thumb,
.product-miniature .js-thumb,
.product__images .js-thumb {
    border: 1px solid #eeeeee !important; /* Extremely subtle gray default */
    transition: all 0.2s ease;
    margin-bottom: 5px;
    cursor: pointer;
}

.quickview .js-thumb-selected,
.quickview .js-thumb:hover,
.product-miniature .js-thumb-selected,
.product-miniature .js-thumb:hover,
.product__images .js-thumb-selected,
.product__images .js-thumb:hover,
.js-thumb-container.active img {
    border: 2px solid var(--color-primary-dark) !important; /* Bold Dark Teal for Selection or Mouse Over */
    outline: none !important;
}

/* Quick View Styling */
/* Quick View Styling */
.product-miniature__quickview_button,
.quick-view {
    color: var(--color-primary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.product-miniature__quickview_button:hover,
.product-miniature__quickview_button:hover i,
.quick-view:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

/* Quick View Modal Internal Fixes ("All details" link) */
.modal.quickview .product-additional-info--end a,
.modal.quickview .product-additional-info--end a .material-icons,
.quickview .product-additional-info--end a,
.quickview .product-additional-info--end a .material-icons {
    color: var(--color-primary) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.modal.quickview .product-additional-info--end a:hover,
.modal.quickview .product-additional-info--end a:hover .material-icons,
.quickview .product-additional-info--end a:hover,
.quickview .product-additional-info--end a:hover .material-icons {
    color: var(--color-primary-dark) !important;
    text-decoration: none !important; /* Kept no underline per preference */
}

/* Wishlist active colors restored (Teal) */
.wishlist-button-add.checked i.wishlist-checked-icon,
.wishlist-button.checked i.wishlist-checked-icon,
.wishlist-button-product.checked i.wishlist-checked-icon {
    color: var(--color-primary) !important;
}

/* ===============================
   7. CLEANUP & OVERRIDES
================================ */

/* Hide Breadcrumbs on Homepage ONLY */
body#index .breadcrumb,
body#index nav[aria-label="breadcrumb"],
body#index .breadcrumb-wrapper {
    display: none !important;
}

/* ===============================
   8. THE ULTIMATE OVERRIDE PATCH
================================ */

/* 1. UN-SQUISH THE BEST SELLERS & FIX GIANT IMAGES */
#index #content-wrapper .row,
#index #content-wrapper .products {
    flex-wrap: wrap !important; /* Forces products to form a nice grid again */
}
#index #content-wrapper img {
    max-width: 100% !important;
    height: auto !important; /* Stops images/logos from stretching out of their boxes */
}

/* 2. FORCE SEARCH BUTTON TO CHARCOAL */
div#search_widget form button.btn.btn-primary[type="submit"],
div#search_widget form button.search-button {
    background-color: #333333 !important;
    border: 2px solid #333333 !important;
    color: #ffffff !important;
    width: 65px !important;
    flex: 0 0 65px !important;
    border-radius: 0 4px 4px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 3. HIDE THE "HOME" TEXT IN SIDEBAR */
#left-column .category-top-menu > li[data-depth="0"] > a {
    display: none !important;
}
/* Pulls the rest of the menu up so there isn't a blank gap */
#left-column .category-top-menu > li[data-depth="0"] {
    margin-top: -10px !important; 
}

/* ===============================
   ELECTRO SPECIFIC MATCHING
================================ */

/* 1. Force Search Button to Charcoal */
#custom-electro-search button[type="submit"],
#custom-electro-search .btn,
#custom-electro-search .search-button {
    background-color: #333333 !important;
    border: 1px solid #333333 !important;
    color: #ffffff !important;
    width: 50px !important;
    border-radius: 0 4px 4px 0 !important;
}

/* 2. Hide "Home" in the Sidebar Categories */
/* This specifically hides the very first list item (Home) in the category tree */
#left-column .block-categories ul.category-top-menu > li:first-child {
    display: none !important;
}

/* ===============================
   9. LOGO & SEARCH OVERLAP FIX
================================ */
/* Force the logo to stay inside its left column */
.header-main #_desktop_logo {
    position: relative !important;
    max-width: 100% !important;
    padding-right: 15px !important;
}

/* Strip Hummingbird's absolute positioning from the search bar */
#custom-electro-search #search_widget {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important; /* Center the search bar */
}

/* Ensure the search form fills the new safe space */
#custom-electro-search #search_widget form {
    width: 100% !important;
    display: flex !important;
}

/* ===============================
   10. ELECTRO THEME HEADER MATCH
================================ */

/* --- A. TOP & BOTTOM NAV BARS --- */
.header-top-bar,
.header-bottom-bar {
    background-color: #f8f8f8 !important; /* Slight grey like the reference */
    padding: 2px 0 !important;
    font-size: 14px;
    line-height: 20px;
}

.header-top-bar {
    border-bottom: 1px solid #eaeaea !important;
}

.header-bottom-bar {
    border-top: 1px solid #eaeaea !important;
}

/* Hide the duplicate Cart and User Info that Prestashop forces in the top nav */
.header-top-bar #_desktop_user_info,
.header-top-bar #_desktop_cart {
    display: none !important;
}

/* Standardize Top Bar Links and Selectors */
.header-top-bar,
.header-top-bar a,
.header-top-bar span,
.header-top-bar #_desktop_currency_selector .form-select,
.header-top-bar #_desktop_language_selector .form-select {
    font-size: 14px !important;
    color: #666666 !important;
    font-family: 'Roboto', sans-serif !important;
    font-weight: normal !important;
}

/* Standardize Hovers */
.header-top-bar a:hover,
.header-top-bar #_desktop_currency_selector .form-select:hover,
.header-top-bar #_desktop_language_selector .form-select:hover {
    color: var(--color-primary) !important;
    text-decoration: none !important;
}

/* Custom Language/Currency Dropdown (Replaces Native Blue Select) */
.language-btn-electro,
.currency-btn-electro {
    background: transparent !important;
    border: 1px solid #eaeaea !important;
    color: #666666 !important;
    font-size: 14px !important;
    font-family: 'Roboto', sans-serif !important;
    padding: 2px 10px !important;
    border-radius: 4px !important;
}

.language-btn-electro:hover,
.language-btn-electro:focus,
.currency-btn-electro:hover,
.currency-btn-electro:focus {
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    box-shadow: none !important;
}

/* Dropdown Menu & Hover States */
.language-menu-electro,
.currency-menu-electro {
    border: 1px solid var(--color-primary) !important;
    box-shadow: var(--shadow-sm) !important;
    padding: 0 !important;
    min-width: 120px !important;
}

.language-menu-electro .dropdown-item,
.currency-menu-electro .dropdown-item {
    font-size: 14px !important;
    color: #333333 !important;
    padding: 8px 15px !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.language-menu-electro .dropdown-item:hover,
.language-menu-electro .dropdown-item:focus,
.language-menu-electro .dropdown-item.active,
.currency-menu-electro .dropdown-item:hover,
.currency-menu-electro .dropdown-item:focus,
.currency-menu-electro .dropdown-item.active {
    background-color: var(--color-primary) !important; /* IndyGuru Teal! */
    color: #ffffff !important;
}

/* Protect the Welcome Message's unique style */
.header-top-bar .welcome-msg {
    color: var(--color-primary) !important;
    font-style: italic !important;
}

/* Fix separators */
.header-top-bar .separator {
    color: #cccccc !important;
    margin: 0 4px;
}

/* --- B. WELCOME & LOGIN LINKS --- */
/* Make the "Welcome" text green and Log In links charcoal */
.header-main .row.mb-2 span:first-child {
    color: var(--color-primary) !important; /* Electro Green */
    font-style: italic; /* Matches the Shopify theme */
}
.header-main .row.mb-2 a {
    color: #333333 !important;
    font-weight: normal !important;
}
.header-main .row.mb-2 a:hover {
    color: var(--color-primary) !important;
    text-decoration: underline !important;
}

/* --- C. CART BUTTON EXACT MATCH --- */
/* Force the cart button to a specific balanced width */
#_desktop_cart .blockcart {
    background-color: var(--color-primary) !important;
    border-radius: 8px !important; 
    height: 44px !important; /* Fixed height to match search bar */
    width: 300px !important; 
    padding: 0 15px !important;
    box-shadow: var(--shadow-sm);
    display: flex !important;
    align-items: center !important;
    margin-left: auto !important; /* Pin to the right */
    text-decoration: none !important;
    color: #ffffff !important;
}

.cart-button-electro {
    text-decoration: none !important;
    color: #ffffff !important;
    width: 100%;
    display: flex;
    align-items: center;
}

.shopping-cart-icon {
    font-size: 24px !important;
    margin-right: 12px;
}

.cart-info {
    display: flex !important;
    flex-direction: row !important; /* Forces inline layout */
    align-items: center !important; /* Perfect vertical centering */
    flex-grow: 1 !important; 
    line-height: 1 !important;
}

.cart-label {
    font-size: 14px !important;
    text-transform: uppercase;
    font-weight: 700 !important;
}

.cart-details {
    margin-left: auto !important; /* Push to the right */
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* ===============================
   11. FORCE HOMEPAGE LEFT COLUMN
================================ */
body#index #left-column {
    display: block !important;
    visibility: visible !important;
}

/* ===============================
   12. KILL HUMMINGBIRD WRAPPERS
================================ */
/* Make PrestaShop's default outer wrappers invisible so our custom TPL boxes reach the edges */
#left-column > div,
#left-column > section {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

/* Ensure the Custom Blocks keep their spacing */
#left-column .sidebar-custom-block,
#left-column .block-categories {
    margin-bottom: 25px !important;
}

/* ===============================
   16. ACCOUNT MENU TEAL FIX
================================ */

/* Precise Teal Fix for Hummingbird Account Menu */
.account-menu__line,
.account-menu #wishlist-link,
.account-menu #psgdpr-link,
.account-menu--signout {
    background-color: transparent !important;
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

/* Force all inner elements to have NO background and NO extra borders */
.account-menu__line *,
.account-menu #wishlist-link *,
.account-menu #psgdpr-link *,
.account-menu--signout * {
    background-color: transparent !important;
    border: none !important;
}

.account-menu__line i,
.account-menu__line .material-icons,
.account-menu__line .material-icons-outlined,
.account-menu #wishlist-link i,
.account-menu #psgdpr-link i {
    color: #208199 !important; /* Default teal icons */
    display: inline-block !important;
}

/* Force Hover and Selected (Active) items to IndyGuru Teal and Boxed Border */
/* Explicitly exclude sign-out from persistent active highlights */
.account-menu__line:not(.account-menu--signout):hover,
.account-menu__line:not(.account-menu--signout).active,
.account-menu #wishlist-link:hover,
.account-menu #wishlist-link.active,
.account-menu #psgdpr-link:hover,
.account-menu #psgdpr-link.active,
/* DETECT PAGE AND FORCE ACTIVE COLOR FOR MODULE LINKS */
body#module-blockwishlist-lists .account-menu #wishlist-link,
body#module-psgdpr-gdpr .account-menu #psgdpr-link {
    color: #208199 !important;
    border-color: var(--color-primary) !important;
}

/* Dedicated Sign Out Hover (Only highlights on actual mouse over) */
.account-menu--signout:hover {
    border-color: var(--color-primary) !important;
}

/* Ensure the bar only appears on hover for dashboard items */
#main .customer-link__link:hover .link-item,
#main #wishlist-link:hover .link-item,
#main #psgdpr-link:hover .link-item {
    border-left: none !important;
}

/* Catch-all for material icons and fa icons in the main area to ensure they are teal */
#main .material-icons,
#main .material-icons-outlined,
#main i[class^="fa-"],
#main i[class*=" fa-"],
.link-item i {
    color: #208199 !important;
}

/* UNBREAKABLE DASHBOARD HOVER: Solid Teal + White Icons/Text */
#main .customer-link__link:hover,
#main #wishlist-link:hover,
#main #psgdpr-link:hover {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

#main .customer-link__link:hover *,
#main #wishlist-link:hover *,
#main #psgdpr-link:hover * {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Alert Boxes (Voucher/Credit Slips Fix) */
body.page-discount .alert-info,
body.page-discount .alert-success,
body.page-order-slip .alert-info,
body.page-order-slip .alert-success {
    background-color: #f1f1f1 !important;
    border: 2px solid #208199 !important;
    color: #165a6b !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 15px !important;
}

/* Fix "Add new address" link and icon on Addresses page */
.addresses__new-address,
.addresses__new-address i,
.addresses__new-address span {
    color: var(--color-primary) !important;
}

.addresses__new-address:hover,
.addresses__new-address:hover i,
.addresses__new-address:hover span {
    color: var(--color-primary-dark) !important;
    text-decoration: none !important;
}

/* Fix Wishlist page blue links and icons */
.wishlist-add-to-new,
.wishlist-add-to-new i,
.wishlist-footer-links a,
.wishlist-footer-links i,
.wishlist-footer-links span,
#module-blockwishlist-lists .text-primary,
#module-blockwishlist-lists .text-primary i,
.text-primary {
    color: var(--color-primary) !important;
}

.wishlist-footer-links {
    position: relative !important;
    z-index: 10 !important;
    margin-top: 20px !important;
}

.wishlist-footer-links a {
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 11 !important;
    text-decoration: none !important;
}

.wishlist-add-to-new:hover,
.wishlist-footer-links a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: none !important;
}

/* Remove underline from icons inside links */
.wishlist-footer-links a:hover i,
.wishlist-footer-links a:hover .material-icons,
#main a:hover i,
#main a:hover .material-icons {
    text-decoration: none !important;
    display: inline-block !important; 
}

/* Prevent hidden Wishlist popups from blocking the "Home" and "Return" links */
.wishlist-modal:not(.show) {
    display: none !important;
    pointer-events: none !important;
}

/* Force Success popups to match Teal theme */
.alert-success,
.ps-toast,
.ps-toast-container .toast,
.ps-toast-container .bg-success {
    background-color: var(--color-highlight-lite) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-primary-dark) !important;
}

.ps-toast-container .toast * {
    color: var(--color-primary-dark) !important;
}

/* Force the Wishlist module's special "Toast" popup to be Teal */
.wishlist-toast.success {
    background-color: var(--color-highlight-lite) !important;
    border-color: var(--color-primary) !important;
    opacity: 1 !important;
}

.wishlist-toast.success .wishlist-toast-text {
    color: var(--color-primary-dark) !important;
}

/* Fix Wishlist "Error" popup */
.wishlist-toast.error {
    background-color: #fce8e8 !important; /* Lite Red */
    border-color: #e53935 !important;
    opacity: 1 !important;
}
.wishlist-toast.error .wishlist-toast-text {
    color: #b9312d !important;
}

/* Fix "Sign out" link in sidebar to be Red with boxed hover */
.account-menu--signout,
.account-menu--signout i,
.account-menu--signout .link-item,
.account-menu--signout span {
    color: #e53935 !important;
}

/* =========================================
   E. LAYOUT CLEANUP (Match Vouchers Layout)
============================================ */
/* Force Wishlist and GDPR pages to 1-column by hiding the sidebars */
body#module-blockwishlist-lists #left-column,
body#module-psgdpr-gdpr #left-column,
body#view #left-column {
    display: none !important;
}

body#module-blockwishlist-lists #content-wrapper,
body#module-psgdpr-gdpr #content-wrapper,
body#view #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Fix Shopping Cart blue links (Remove button) */
.remove-from-cart,
.cart-item a.label,
#cart .cart-grid-body a {
    color: var(--color-primary) !important;
}

.remove-from-cart:hover,
#cart .cart-grid-body a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: underline !important;
}

/* Fix Checkout page blue links (Show details, terms of service, forgot password, etc) */
#checkout .cart-summary__show,
#checkout .cart-summary a,
#checkout .content a,
#checkout .checkout-step a,
#checkout .forgot-password a,
#js-checkout-summary a,
#conditions-to-approve a {
    color: var(--color-primary) !important;
}

#checkout .cart-summary__show:hover,
#checkout .cart-summary a:hover,
#checkout .content a:hover,
#checkout .checkout-step a:hover,
#checkout .forgot-password a:hover,
#js-checkout-summary a:hover,
#conditions-to-approve a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: underline !important;
}

/* Fix Checkout Tabs (Order as a guest / Sign in) */
#checkout .nav-tabs .nav-link {
    color: #666666 !important;
}

#checkout .nav-tabs .nav-link:hover {
    color: var(--color-primary) !important;
}

#checkout .nav-tabs .nav-link.active {
    color: var(--color-primary) !important;
    border-color: #dddddd #dddddd var(--color-primary) !important;
}

/* Fix Address Boxes (Checkout Page) */
#checkout .address-item,
#checkout .address.card {
    border: 1px solid var(--color-border) !important;
    transition: border-color 0.2s ease !important;
}

#checkout .address-item.selected,
#checkout .address.card.selected {
    border: 2px solid var(--color-primary) !important;
    background-color: #ffffff !important;
}

#checkout .address-item:hover {
    border-color: var(--color-primary) !important;
}

/* Fix Order Confirmation page blue links (customer support, etc) */
#order-confirmation a,
#order-confirmation section a {
    color: var(--color-primary) !important;
}

#order-confirmation a:hover,
#order-confirmation section a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: underline !important;
}

/* Fix Checkout Progress Bar (Green to Teal) */
.checkout__steps--success .checkout__steps__text,
.checkout__steps--current .checkout__steps__text {
    color: var(--color-primary) !important;
}

.checkout__steps--success .checkout__steps__number,
.checkout__steps--current .checkout__steps__number {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: #ffffff !important;
}

/* Connecting Lines */
.checkout__steps__item.checkout__steps--success::after,
.checkout__steps__item.checkout__steps--success::before {
    background-color: var(--color-primary) !important;
}

/* Fix Customer Reassurance text wrapping using CSS Grid */
.blockreassurance_product > div,
.blockreassurance .row > div {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px !important;
    align-items: center !important;
    margin-bottom: 10px !important;
    text-align: left !important;
}

/* Lock Icon to the Left spanning both rows */
.blockreassurance_product > div > .item-product,
.blockreassurance_product > div > img,
.blockreassurance_product > div > svg,
.blockreassurance .block-icon {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.blockreassurance_product > div > .item-product img,
.blockreassurance_product > div > .item-product svg,
.blockreassurance .block-icon img,
.blockreassurance .block-icon svg {
    width: 30px !important;
    max-width: 30px !important;
}

/* Lock Title to Top Right */
.blockreassurance_product .block-title,
.blockreassurance .block-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    align-self: end !important;
    font-weight: 600 !important;
    color: var(--color-primary-dark) !important;
}

/* Lock Description to Bottom Right */
.blockreassurance_product p:not(.block-title),
.blockreassurance p:not(.block-title) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    align-self: start !important;
    font-size: 13px !important;
    color: var(--color-text) !important;
}

/* Fix ALL CAPS on CMS pages and Terms of Service pop-ups */
.page-cms ul li,
.page-cms p,
.modal p,
.modal li,
.modal-body p,
.modal-body li,
.modal-content p,
.modal-content li,
#checkout-modal p,
#checkout-modal li,
#checkout-modal span,
.js-modal-content p,
.js-modal-content li,
.tac-container p,
.tac-container li,
.tac-container span {
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Fix GDPR page blue links (contact page, etc) */
#module-psgdpr-gdpr #content a,
#module-psgdpr-gdpr .page-customer a,
.page-customer a[href*="contact-us"] {
    color: var(--color-primary) !important;
}

#module-psgdpr-gdpr #content a:hover,
#module-psgdpr-gdpr .page-customer a:hover,
.page-customer a[href*="contact-us"]:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: underline !important;
}

/* Fix Contact Us page blue links and icons */
#contact a[href^="tel:"], 
#contact a[href^="mailto:"],
body#contact .contact_details .contact_info a,
body#contact .contact_details .contact_info--email a,
body#contact .contact_item a,
#contact .contact_details i {
    color: var(--color-primary) !important;
}

body#contact .contact_details a:hover,
body#contact .contact_details .contact_info--email a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: underline !important;
}

/* Branded Focus State for Contact Form (Remove Blue Highlights) */
#contact .form-control:focus,
#contact select:focus,
#contact textarea:focus,
#contact input:focus {
    outline: none !important;
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(32, 129, 153, 0.25) !important;
    background-color: var(--color-highlight-lite) !important;
}

#contact select.form-control,
#contact .form-control {
    border: 1px solid var(--color-primary) !important;
    border-radius: 4px !important;
}

/* Ensure Facebook icon stays official blue and ignores Teal locks */
.block-social a[href*="facebook"] svg,
.block-social a[title*="Facebook"] svg,
.block-social a[href*="facebook"],
.footer .ps-social-follow li.facebook a,
.block-social a[href*="facebook"] svg path {
    color: #1877f2 !important;
    fill: #1877f2 !important;
}
/* Ensure Twitter bird stays official blue and ignores Teal locks */
.block-social a[href*="twitter"] svg,
.block-social a[title*="Twitter"] svg,
.block-social a[href*="twitter"],
.footer .ps-social-follow li.twitter a,
.block-social a[href*="twitter"] svg path,
.block-social a[href*="twitter"] svg path {
    color: #1da1f2 !important;
    fill: #1da1f2 !important;
}

/* Ensure Pinterest icon stays official red and ignores Teal locks */
.block-social a[href*="pinterest"] svg,
.block-social a[title*="Pinterest"] svg,
.block-social a[href*="pinterest"],
.footer .ps-social-follow li.pinterest a,
.block-social a[href*="pinterest"] svg path {
    color: #e60023 !important;
    fill: #e60023 !important;
}

/* Fix Sign-in and Register page blue links (Forgot password, etc) */
#authentication #content a,
#registration #content a,
.forgot-password a {
    color: var(--color-primary) !important;
}

#authentication #content a:hover,
#registration #content a:hover,
.forgot-password a:hover {
    color: var(--color-primary-dark) !important;
    text-decoration: underline !important;
}

/* 17. SIGN-IN FORM STYLING */
#authentication #login-form .form-control,
#authentication #login-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]) {
    background-color: #ffffff !important;
    border: 1px solid #208199 !important;
    color: #333333 !important;
    height: 48px !important;
    min-height: 48px !important;
}

/* Identity Page Info Boxes (Customer Form) */
#customer-form .form-control,
#customer-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
.js-customer-form .form-control,
.js-customer-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
#customer-form select,
.js-customer-form select {
    border: 2px solid var(--color-primary) !important;
    border-radius: 8px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 15px !important;
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
}

/* Ensure password eye icon matches the new 2px border and 8px radius for Identity page */
#customer-form .input-group .btn,
.js-customer-form .input-group .btn {
    border: 2px solid var(--color-primary) !important;
    border-left: none !important;
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

/* Fix for the Eye Icon (Reveal Password) */
#login-form .input-group,
#customer-form .input-group,
.login-form .input-group,
.js-customer-form .input-group,
.js-parent-focus.input-group {
    display: flex !important;
    width: 100% !important;
    align-items: stretch !important;
    gap: 0 !important;
}

#login-form .input-group input.form-control,
#login-form .input-group input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
#customer-form .input-group.password-field input.form-control,
#customer-form .input-group.password-field input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
.login-form .input-group input.form-control,
.login-form .input-group input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
.js-customer-form .input-group.password-field input.form-control,
.js-customer-form .input-group.password-field input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="submit"]) {
    flex: 1 1 auto !important;
    width: 1% !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    margin-right: 0 !important;
    border-right: none !important;
}

#login-form .input-group .btn,
#customer-form .input-group.password-field .btn,
.login-form .input-group .btn,
.js-customer-form .input-group.password-field .btn {
    background-color: #208199 !important; /* Solid IndyGuru Teal */
    border: 2px solid #208199 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 0 !important;
}

/* Force the eye icon color to White */
#login-form .input-group .btn i,
#customer-form .input-group .btn i,
#login-form .input-group .btn .material-icons,
#customer-form .input-group .btn .material-icons,
.login-form .input-group .btn i,
.js-customer-form .input-group .btn i,
.login-form .input-group .btn .material-icons,
.js-customer-form .input-group .btn .material-icons {
    color: #ffffff !important;
}

/* Prevent Browser Autofill from overriding the background */
#authentication #login-form input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 50px #ffffff inset !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Hard Lock for focus state */
#authentication #login-form input:not([type="radio"]):not([type="checkbox"]):focus {
    background-color: #ffffff !important;
    border-color: #165a6b !important;
    outline: none !important;
}

/* === LOGIN FIX - MUST STAY AT BOTTOM === */
#login-form input.form-control,
#login-form input[type="email"],
#login-form input[type="password"],
#login-form input.form-control:focus,
#login-form input[type="email"]:focus,
#login-form input[type="password"]:focus,
#login-form input:-webkit-autofill,
#login-form input:-webkit-autofill:focus {
  font-size: 16px !important;
  -webkit-text-fill-color: #333 !important;
}

/* 18. CHECKOUT RADIO BUTTON & PAYMENT OPTION ALIGNMENT FIX */
/* Create bordered boxes for each payment option */
.payment-options .payment-option,
#checkout .payment-option,
.ps_checkout-payment-option {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 15px !important;
  border: 1px solid #dddddd !important; /* Standard Electro border */
  border-radius: 8px !important;
  padding: 15px !important;
  background-color: #ffffff !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  cursor: pointer !important;
}

/* Highlight box on hover or if it contains a checked radio */
.payment-options .payment-option:hover,
.ps_checkout-payment-option:hover {
    border-color: var(--color-primary) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Force side-by-side row layout for everything inside the box */
.payment-option label,
.ps_checkout-payment-option label {
  margin-bottom: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  cursor: pointer !important;
}

/* Align the radio button dot */
.payment-option input[type="radio"],
.ps_checkout-payment-option input[type="radio"],
.form-check-input {
  flex-shrink: 0 !important;
  margin: 0 15px 0 0 !important; /* Space between dot and content */
  width: 18px !important;
  height: 18px !important;
  position: relative !important;
  top: 0 !important;
  cursor: pointer !important;
}

/* Align logos and text */
.payment-option img,
.ps_checkout-payment-option img,
.ps_checkout-payment-option .ps_checkout-mark {
    margin: 0 15px !important;
    max-height: 25px !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
}

.payment-option span,
.ps_checkout-payment-option span {
    font-weight: 500 !important;
    color: var(--color-text) !important;
}

/* 19. HOME SLIDER CAPTION STYLING (TOP-RIGHT CLEAN) */
.carousel-caption.caption {
    top: 5% !important;
    bottom: auto !important;
    right: 8% !important;     /* Anchored to right, away from arrow */
    left: auto !important;    /* Prevents box from stretching full width */
    transform: none !important;
    text-align: center !important; /* Centers text inside the block */
    width: 450px !important;   /* LOCKED WIDTH for consistent alignment */
    max-width: 50% !important; /* Balanced width for the corner */
    padding: 0 !important;
}

/* FORCE ALL SLIDER TITLES TO SAME SIZE */
.carousel-caption h2,
.carousel-caption h3,
.carousel-caption .caption-title,
.carousel-caption .h2,
.carousel-caption .h3 {
    color: #208199 !important; /* indyguru Teal */
    font-size: 3.0rem !important;
    font-weight: 900 !important;
    text-shadow: 2px 2px 4px rgba(255,255,255,0.8) !important;
    text-transform: uppercase !important;
    line-height: 1.0 !important;
    margin-bottom: 5px !important;
    display: block !important;
}

/* HIGH VISIBILITY DESCRIPTION FIX */
.carousel-caption .caption-description,
.carousel-caption .caption-description * {
    color: #ffffff !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 10px rgba(0,0,0,1) !important;
    background: rgba(32, 129, 153, 0.5) !important;
    display: inline-block !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

/* ============================================================
   FINAL UI SYNC: WISHLIST BOOKMARK & RIBBON CORNER LOCK
   ============================================================ */



/* Wishlist Bookmark: Corner Pin for Cards ONLY */
.product-miniature .wishlist-button-add,
.product-miniature .wishlist-button-product {
    position: absolute !important;
    top: 5px !important;
    right: 5px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 10 !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* RESTORE WISHLIST ON MAIN PRODUCT PAGE */

/* Hide original text icon (favorite) and inject bookmark */
.wishlist-button-add i,
.wishlist-button i,
.wishlist-button-product i {
    font-size: 0 !important; 
    color: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.wishlist-button-add i::before,
.wishlist-button i::before,
.wishlist-button-product i::before {
    line-height: 1 !important;
    content: "bookmark_border" !important;
    /* content: "bookmark" !important; /* Force Solid Shape */
    font-family: 'Material Icons' !important;
    font-size: 20px !important;
    color: #737373 !important;
    visibility: visible !important;
    display: block !important;
}

/* Larger icon for Product Page */
.product-additional-info .wishlist-button-add i::before {
    font-size: 24px !important;
}

/* Active State Transformation */
.wishlist-button-add.checked i::before,
.wishlist-button[data-checked="true"] i::before,
.wishlist-active i::before,
.wishlist-button-add.checked .material-icons::before,
.wishlist-button[data-checked="true"] .material-icons::before,
.wishlist-active .material-icons::before {
    content: "bookmark" !important;
    color: var(--color-primary) !important;
}

/* Clearance for the badges next to the ribbon */

/* Red Sale Ribbon Corner Pin (Universal) */
.product-flag.on-sale,
.badge.on-sale,
.ribbon-sale,
li.on-sale {
    position: absolute !important;
    top: 22px !important;    /* PULL DOWN TO HIT CORNER */
    left: -48px !important;  /* PULL LEFT TO WRAP CORNER */
    width: 160px !important; /* BREAKOUT WIDTH */
    height: 32px !important;
    background-color: #e53935 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: rotate(-45deg) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.4) !important;
    z-index: 999 !important; /* FORCE TO FRONT */
    visibility: visible !important;
    pointer-events: auto !important;
}


/* OUT OF STOCK BADGE (YELLOW/BLACK - INSIDE PRICE ROW) */
.product-miniature__price-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.product-miniature__price-container .h5 {
    margin: 0 !important;
    line-height: 1 !important;
}

.out_of_stock_price {
    margin: 0 !important;
    line-height: 1 !important;
    background-color: #f1c40f !important; /* Industrial Yellow */
    color: #000000 !important;            /* Pitch Black */
    padding: 4px 12px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    display: inline-block !important;
}

/* NEWSLETTER & FOOTER FLUSH SYNC */
.email-subscription .email-subscription__content form {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
}

.email-subscription input[type="email"],
.email-subscription input[type="text"] {
    border: 2px solid var(--color-primary) !important;
    border-radius: 8px 0 0 8px !important; /* Rounded Left only */
    border-right: none !important;
    height: 44px !important;
    background-color: #f1f1f1 !important; /* Matched to Search Bar */
    padding: 0 15px !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
}

/* Unify Ghost Text (Placeholder) Color */
.email-subscription input::placeholder,
#search_widget form input::placeholder {
    color: #999999 !important;
    opacity: 1 !important;
}

.email-subscription .btn-primary {
    border: 2px solid var(--color-primary) !important;
    border-radius: 0 8px 8px 0 !important; /* Rounded Right only (FLUSH LEFT) */
    height: 44px !important;
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
    padding: 0 25px !important;
    margin: 0 !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* FORCE NEWSLETTER INLINE ON DESKTOP */
@media (min-width: 768px) {
    .email-subscription__content.row {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    .email-subscription__content__left {
        width: auto !important;
        flex: 0 0 auto !important;
    }
    .email-subscription__content__right {
        width: 500px !important;
        flex: 0 0 500px !important;
        max-width: 100% !important;
    }
}

/* Ensure form and inner wrapper fill the 500px space */
.email-subscription__content__right form,
.email-subscription__content__right .d-flex {
    width: 100% !important;
}

/* FINAL OVERRIDE: FORCE WHITE ICONS ON ACCOUNT DASHBOARD HOVER */
#content .customer-link__link:hover *,
#content #wishlist-link:hover *,
#content #psgdpr-link:hover * {
    color: #ffffff !important;
    fill: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* SIDEBAR SPECIFIC HOVER: FORCE TEAL FOR WISHLIST & GDPR */
.account-menu #wishlist-link:hover,
.account-menu #wishlist-link:hover *,
.account-menu #psgdpr-link:hover,
.account-menu #psgdpr-link:hover * {
    color: var(--color-primary) !important;
    fill: var(--color-primary) !important;
    -webkit-text-fill-color: var(--color-primary) !important;
    background-color: transparent !important;
}

/* RESTORE WISHLIST ON PRODUCT PAGE (Avoid Card Corner Pinning) */
.product-additional-info .wishlist-button-add,
.product-additional-info .wishlist-button-product {
    display: flex !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    margin: 15px 0 !important;
    width: 36px !important;
    height: 36px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

/* FINAL WISHLIST ACTIVE STATE (FORCED SOLID TEAL) */
#main .wishlist-button-add i.wishlist-checked-icon::before,
#main .wishlist-button-product i.wishlist-checked-icon::before,
#main button.checked i::before,
i.wishlist-checked-icon::before,
.wishlist-products-list i::before,
.wishlist-list-item i::before {
    content: "bookmark" !important; /* Force Solid Shape */
    color: #208199 !important;      /* Force Teal Color */
    font-family: 'Material Icons' !important;
    display: block !important;
    visibility: visible !important;
}

/* ============================================================
   UNIVERSAL BADGE SYNC (Cards & Product Page Match)
   ============================================================ */

/* 1. Thumbnail container = clipping parent for ribbon */
.product-miniature .thumbnail-container,
.product-miniature .product-miniature__link {
    overflow: hidden !important;
    position: relative !important;
}

/* Allow outer card to show the "New" pill without clipping */
.product-miniature,
.product-miniature .card {
    overflow: visible !important;
}

/* 2. Reset Container (Kill Flex Rows) */
.product-flags,
.product-flags.js-product-flags,
ul.product-flags {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;   /* CHANGED: full height so ribbon anchors correctly */
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

/* 3. Red Sale Ribbon — true corner wrap */
.on-sale,
.badge.on-sale,
.ribbon-sale,
li.on-sale,
.product-flag.on-sale,
.product-flags .on-sale,
.product-flags .ribbon-sale {
    position: absolute !important;
    top: 18px !important;       /* vertical center of the diagonal across the corner */
    left: -38px !important;     /* pulls ribbon so it crosses the top-left corner */
    width: 140px !important;
    height: 30px !important;
    background-color: #e53935 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: rotate(-45deg) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
    z-index: 20 !important;
    pointer-events: auto !important;
}

/* 4. Centered "New" Badge Pill (Universal) */
.new,
.product-flag.new,
.badge.new,
li.new,
.product-flags .new {
    position: absolute !important;
    top: 15px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: var(--color-primary) !important;
    color: #ffffff !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    z-index: 15 !important;
    display: flex !important;
    pointer-events: auto !important;
    border: none !important;
}

/* (your existing code above line 1924 stays untouched) */

/* ============================================================
   SALE RIBBON HOTFIX — targets exact PS9 Hummingbird markup
   ============================================================ */

/* Give the flags container real dimensions to anchor from */
.product-miniature__link,
.product-miniature .thumbnail-container {
    position: relative !important;
    overflow: hidden !important;
}

ul.product-flags.js-product-flags {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* Beat the line 1569 rule by matching its specificity + adding ul tag */
.product-miniature ul.product-flags li.badge.on-sale,
.product-miniature ul.product-flags li.ribbon-sale,
#main ul.product-flags li.badge.on-sale,
#main ul.product-flags li.ribbon-sale {
    position: absolute !important;
    top: 18px !important;
    left: -38px !important;
    width: 140px !important;
    height: 30px !important;
    background-color: #e53935 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: rotate(-45deg) !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
    z-index: 20 !important;
    pointer-events: auto !important;
    margin: 0 !important;
}

/* Product PAGE override */
.product__images ul.product-flags li.badge.on-sale,
.js-images-container ul.product-flags li.badge.on-sale {
    font-size: 16px !important;
}


/* Fix order-confirmation success alert text wrapping/stacking */
body#order-confirmation .alert.alert-success {
    display: block !important;
    height: auto !important;
    padding: 0.75rem 1rem !important;
}

body#order-confirmation .alert.alert-success .alert-heading {
    display: block !important;
    margin: 0 0 0.25rem 0 !important;
}

body#order-confirmation .alert.alert-success p.mb-0 {
    display: block !important;
    margin: 0 !important;
}

/* Footer: force 'Your account' heading to match other white footer headings */
#block-myaccount-infos .footer__block__title a {
    color: var(--footer-heading-color) !important;
}

#block-myaccount-infos .footer__block__title a:hover {
    color: var(--footer-heading-color) !important;
    text-decoration: none !important;
}

/* Footer heading color hard-override: Your account title should be white */
#footer #block-myaccount-infos p.footer__block__title a,
#footer #block-myaccount-infos .footer__block__title a {
    color: #ffffff !important;
}

#footer #block-myaccount-infos p.footer__block__title a:hover,
#footer #block-myaccount-infos .footer__block__title a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}
