/* =========================
   Trade-Olfa Refresh (OpenCart)
   Drop-in stylesheet
   ========================= */

/* Theme tokens */
:root{
  --bg: #ffffff;
  --surface: #f7f7f8;
  --text: #111827;
  --muted: #6b7280;
  --line: #e5e7eb;

  --brand: #0f766e;        /* teal-ish */
  --brand-2: #115e59;
  --accent: #f59e0b;       /* amber */

  --radius: 14px;
  --radius-sm: 10px;

  --shadow: 0 8px 25px rgba(0,0,0,.08);
  --shadow-sm: 0 6px 18px rgba(0,0,0,.06);

  --container: 1180px;
}

html, body{
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{
  color: var(--brand);
  text-decoration: none;
}
a:hover{ color: var(--brand-2); text-decoration: underline; }

/* Container normalization */
.container{
  max-width: var(--container);
}

/* Headings */
h1,h2,h3,h4{
  letter-spacing: -0.02em;
  color: var(--text);
}
h1{ font-size: clamp(24px, 3vw, 34px); margin: 14px 0 12px; }
h2{ font-size: 22px; margin: 14px 0 10px; }
h3{ font-size: 18px; margin: 12px 0 8px; }

/* =========================
   Header / Top bar
   ========================= */
#top{
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  padding: 8px 0;
  font-size: 13px;
  color: var(--muted);
}

#logo img{
  max-height: 52px;
}

/* Search */
#search{
  margin-top: 6px;
}
#search .input-lg,
#search input{
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 12px 16px;
  box-shadow: none;
}
#search .btn{
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--brand);
  color: #fff;
}
#search .btn:hover{ background: var(--brand-2); }

/* Cart button */
#cart > .btn{
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
#cart.open > .btn,
#cart > .btn:hover{
  background: var(--surface);
}

/* =========================
   Main nav (if using default OC menu)
   ========================= */
#menu{
  border: 0;
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 1px 0 rgba(0,0,0,.02);
}
#menu .nav > li > a{
  color: var(--text);
  font-weight: 600;
  padding: 14px 14px;
}
#menu .nav > li > a:hover{
  color: var(--brand-2);
  background: var(--surface);
  border-radius: 999px;
}

/* Dropdowns */
#menu .dropdown-menu{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  padding: 10px;
}
#menu .dropdown-menu a{
  padding: 10px 12px;
  border-radius: 10px;
}
#menu .dropdown-menu a:hover{
  background: var(--surface);
}

/* =========================
   Breadcrumbs / page spacing
   ========================= */
.breadcrumb{
  background: transparent;
  border: 0;
  padding: 10px 0;
  margin: 10px 0 8px;
  color: var(--muted);
}
#content{
  padding-top: 10px;
  padding-bottom: 30px;
}

/* =========================
   Buttons
   ========================= */
.btn{
  border-radius: 999px;
  border: 1px solid var(--line);
  padding: 10px 14px;
  transition: transform .05s ease, box-shadow .2s ease, background .2s ease;
}
.btn:active{ transform: translateY(1px); }

.btn-primary{
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.btn-primary:hover{
  background: var(--brand-2);
  border-color: var(--brand-2);
  box-shadow: var(--shadow-sm);
}

.btn-default, .btn-secondary{
  background: #fff;
}
.btn-default:hover, .btn-secondary:hover{
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}

/* =========================
   Forms
   ========================= */
.form-control,
.input-group .form-control{
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: none;
  padding: 10px 12px;
}
.form-control:focus{
  border-color: rgba(15,118,110,.45);
  box-shadow: 0 0 0 4px rgba(15,118,110,.10);
}

/* =========================
   Panels / side modules
   ========================= */
.panel, .card{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  box-shadow: none;
  overflow: hidden;
}
.panel-heading{
  background: #fff;
  border-bottom: 1px solid var(--line);
  font-weight: 700;
}
.list-group-item{
  border-color: var(--line);
}

/* =========================
   Category sidebar (reduce “wall of links”)
   ========================= */
#column-left .list-group,
#column-right .list-group{
  border-radius: var(--radius);
  border: 1px solid var(--line);
  overflow: hidden;
  background: #fff;
}
#column-left .list-group a,
#column-right .list-group a{
  padding: 10px 12px;
  color: var(--text);
  font-weight: 600;
  border: 0;
  border-bottom: 1px solid var(--line);
}
#column-left .list-group a:hover,
#column-right .list-group a:hover{
  background: var(--surface);
  text-decoration: none;
}
#column-left .list-group a.active,
#column-right .list-group a.active{
  background: rgba(15,118,110,.08);
  color: var(--brand-2);
}

/* Make sidebar feel calmer + useful */
@media (min-width: 992px){
  #column-left{
    position: sticky;
    top: 18px;
    align-self: start;
  }
  /* Optional: limit huge lists (keeps it from dominating) */
  #column-left .list-group{
    max-height: 72vh;
    overflow: auto;
  }
}

/* =========================
   Product grid (cards)
   ========================= */
.product-thumb{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: none;
  background: #fff;
  transition: transform .12s ease, box-shadow .2s ease;
}
.product-thumb:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.product-thumb .image{
  background: var(--surface);
  padding: 10px;
}
.product-thumb .caption{
  padding: 12px 14px 14px;
}
.product-thumb h4 a{
  color: var(--text);
  text-decoration: none;
}
.product-thumb h4 a:hover{ color: var(--brand-2); }
.product-thumb .price{
  font-weight: 800;
  font-size: 16px;
}
.product-thumb .button-group{
  border-top: 1px solid var(--line);
  background: #fff;
}
.product-thumb .button-group button{
  border: 0;
  background: transparent;
  padding: 10px 12px;
}
.product-thumb .button-group button:hover{
  background: var(--surface);
}

/* =========================
   Tables / checkout blocks
   ========================= */
.table{
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
}
.table > thead > tr > th{
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.table > tbody > tr > td{
  border-top: 1px solid var(--line);
}

/* =========================
   Footer
   ========================= */
footer{
  background: #0b1220;
  color: rgba(255,255,255,.82);
  margin-top: 28px;
  padding: 28px 0;
}
footer a{
  color: rgba(255,255,255,.9);
}
footer a:hover{ color: #fff; }

/* =========================
   Mobile improvements
   ========================= */
@media (max-width: 991px){
  #menu .nav > li > a{
    padding: 12px 10px;
  }
  #column-left, #column-right{
    position: static;
  }
  .product-thumb{
    border-radius: 16px;
  }
}

/* Optional: reduce overly tight spacing in default theme */
.row{ margin-top: 8px; }


/* =========================================================
   Header cleanup for OC 3.0.3.7 + Nice Theme (Trade Olfa)
   Works with your markup: #top, #top-2, .top-message, etc.
   ========================================================= */

:root{
  --bg:#fff;
  --surface:#f7f7f8;
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --brand:#0f766e;
  /*--brand2:#115e59;*/
  --brand2:#ecce2f;
  --radius:9px;
  --shadow:0 10px 25px rgba(0,0,0,.08);
  --shadow-sm:0 6px 18px rgba(0,0,0,.06);
}

/* ---------- Top strip (#top) ---------- */
#top{
  /*background: var(--surface) !important;*/
  background: #b6b6ff;
  border-bottom: 1px solid var(--line) !important;
  padding: 6px 0 !important;
}

#top .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}

#top .top-message{
  font-size: 13px;
  color: var(--muted);
  line-height: 1.3;
}
#top .top-message a{
  color: var(--brand);
  font-weight: 700;
}
#top .pull-right{
  display:flex;
  align-items:center;
  gap: 12px;
}

/* Fix the weird list-inline inside Account */
#top .top-dropdown__toggle + .list-inline{
  display:flex;
  align-items:center;
  margin: 0 0 0 10px !important;
}
#top .top-dropdown__toggle + .list-inline li{
  margin: 0 !important;
  padding: 0 !important;
}

/* Make "Price List" look like a proper header CTA */
#top .price_list_lnk a{
  border: 1px solid var(--line) !important;
  background: #fff !important;
  color: var(--text) !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
 text-decoration:none !important;
  box-shadow: var(--shadow-sm);
}
#top .price_list_lnk a:hover{
  background: var(--surface) !important;
}

/* Account dropdown: cleaner button */
.top-dropdown__toggle{
  border: 1px solid var(--line) !important;
  background: #fff !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  color: var(--text) !important;
  font-weight: 800 !important;
}
.top-dropdown__toggle:hover{
  background: var(--surface) !important;
}

/* Dropdown menu styling */
.top-dropdown .dropdown-menu{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  padding: 8px !important;
}
.top-dropdown .dropdown-menu a{
  border-radius: 10px !important;
  padding: 10px 12px !important;
}
.top-dropdown .dropdown-menu a:hover{
  background: var(--surface) !important;
}

/* ---------- Main header row (#top-2) ---------- */
#top-2{
  background:#fff;
  border-bottom: 1px solid var(--line);
}

.top-2__container{
  display:flex;
  align-items:center;
  gap: 18px;
  padding: 14px 0;
}

/* Logo column */
.logo-column{
  display:flex;
  align-items:center;
}
#logo img{
  max-height: 56px;
  width:auto;
}

/* Search: pill style */
.search-column--desktop{
  flex: 1 1 auto;
  min-width: 260px;
}
#search.search{
  display:flex;
  align-items:center;
  gap: 10px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 6px 8px;
}
#search .search__input{
  border: 0 !important;
  background: transparent !important;
  box-shadow:none !important;
  height: 40px;
  padding: 0 8px !important;
}
#search .search__input:focus{
  outline: none !important;
}
#search .search__button{
  border: 0 !important;
  background: var(--brand) !important;
  color:#fff !important;
  border-radius: 999px !important;
  height: 40px;
  width: 44px;
  display:flex;
  align-items:center;
  justify-content:center;
}
#search .search__button:hover{
  background: var(--brand2) !important;
}

/* Header icons: align + reduce visual noise */
.header-icons-column{
  flex: 0 0 auto;
}
.header-icons-container{
  display:flex;
  align-items:center;
  gap: 14px;
  justify-content:flex-end;
}

/* Make icon buttons consistent */
.header-icons-item a{
  display:flex;
  align-items:center;
  gap: 10px;
  color: var(--text);
  text-decoration:none !important;
  padding: 8px 10px;
  border-radius: 999px;
}
.header-icons-item a:hover{
  background: var(--surface);
}

/* Tone down label text */
.header-icon-label{
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  white-space: nowrap;
}

/* Cart: make it the primary action */
.cart-column{
  flex: 0 0 auto;
}
#cart .cart-button{
  display:flex;
  align-items:center;
  gap: 10px;
  border: 1px solid var(--line) !important;
  background: #fff !important;
  border-radius: 0px !important;
  padding: 10px 12px !important;
  box-shadow: var(--shadow-sm);
}
#cart .cart-button:hover{
  background: var(--surface) !important;
}
#cart .cart-icon{
  font-size: 18px;
  color: var(--brand2);
}
#cart-quantity{
  background: var(--brand);
  color:#fff;
  border-radius: 999px;
  padding: 2px 8px;
  font-weight: 900;
  font-size: 12px;
}

/* Cart dropdown: cleaner */
#cart .cart-dropdown-container{
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  padding: 10px !important;
  min-width: 360px;
}

/* ---------- Responsive: hide labels before things wrap ---------- */
@media (max-width: 1200px){
  .header-icon-label{ display:none; } /* keep icons, drop labels */
  .search-column--desktop{ min-width: 220px; }
}
@media (max-width: 992px){
  .search-column--desktop{ display:none; } /* your theme likely moves to mobile wrapper */
}

/* =========================================================
   Nice Theme Mega Menu cleanup (your exact markup)
   Target: #navbar-ex1-collapse, .dropdown-menu, .dropdown-inner
   ========================================================= */

#navbar-ex1-collapse .nav.navbar-nav > li > a{
  font-weight: 800;
}

/* Make dropdown feel like a mega menu */
#navbar-ex1-collapse .dropdown-menu{
  border: 1px solid var(--line, #e5e7eb) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.10) !important;
  padding: 14px !important;

  /* Important: allow it to be wide */
  width: min(980px, 92vw);
  left: 0;           /* anchor from left edge of nav item */
  right: auto;
}

/* Ensure the inner wrapper lays out columns */
#navbar-ex1-collapse .dropdown-menu .dropdown-inner{
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 10px 16px;

  /* prevent mega list taking over the whole screen */
  max-height: min(70vh, 520px);
  overflow: auto;
  padding-right: 6px; /* room for scrollbar */
}

/* Each UL becomes a “column card” */
#navbar-ex1-collapse .dropdown-menu .dropdown-inner > ul.list-unstyled{
  margin: 0 !important;
  padding: 6px !important;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--line, #e5e7eb);
}

/* Links inside dropdown */
#navbar-ex1-collapse .dropdown-menu a{
  display: block;
  padding: 10px 10px;
  border-radius: 10px;
  color: var(--text, #111827) !important;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none !important;
}

#navbar-ex1-collapse .dropdown-menu a:hover{
  background: var(--surface, #f7f7f8) !important;
}

/* "See all" at the bottom becomes a sticky footer button */
#navbar-ex1-collapse .dropdown-menu .see-all{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 999px;
  border: 1px solid var(--line, #e5e7eb);
  background: var(--brand, #0f766e);
  color: #fff !important;
  font-weight: 900;
  text-decoration: none !important;
}
#navbar-ex1-collapse .dropdown-menu .see-all:hover{
  background: var(--brand2, #115e59) !important;
}

/* Optional: reduce noise by hiding counts like "(95)" */
#navbar-ex1-collapse .dropdown-menu a{
  /* nothing here */
}
#navbar-ex1-collapse .dropdown-menu a .count{ display:none; } /* if theme wraps counts */
#navbar-ex1-collapse .dropdown-menu a{
  /* If counts are plain text, use this regex-ish trick: hide parentheses at end */
}
#navbar-ex1-collapse .dropdown-menu a{
  /* no-op: see next block for count removal via CSS */
}

/* CSS-only removal for trailing "(number)" using a pseudo-element mask is not reliable.
   Better approach: visually de-emphasise counts instead of removing them: */
#navbar-ex1-collapse .dropdown-menu a{
  /* make parentheses/counts less prominent */
}
#navbar-ex1-collapse .dropdown-menu a{
  /* If you can’t remove counts, soften them with font weight by targeting last parentheses using JS or template.
     For pure CSS, we can at least reduce overall text density by font-size: */
  font-size: 14px;
}

/* Desktop hover open (only where hover exists) */
@media (hover:hover) and (pointer:fine){
  #navbar-ex1-collapse .dropdown:hover > .dropdown-menu{
    display:block;
  }
}

/* Responsive: fewer columns on smaller screens */
@media (max-width: 1200px){
  #navbar-ex1-collapse .dropdown-menu{
    width: min(820px, 92vw);
  }
  #navbar-ex1-collapse .dropdown-menu .dropdown-inner{
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 768px){
  #navbar-ex1-collapse .dropdown-menu{
    width: 92vw;
    left: 50%;
    transform: translateX(-50%);
  }
  #navbar-ex1-collapse .dropdown-menu .dropdown-inner{
    grid-template-columns: 1fr;
    max-height: 60vh;
  }
}

/* =========================================================
   Product grid cleanup (Nice Theme / your markup)
   ========================================================= */

/* Section title: stop the heavy bold look */
.section--productlist .section__title{
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}
.section--productlist .section__title--wrapped{
  margin: 10px 0 14px !important;
}

/* Grid spacing: more air between cards */
.section--productlist .list-row{
  margin-left: -10px;
  margin-right: -10px;
}
.section--productlist .list-item__col.product-grid{
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 18px;
}

/* Card base */
.section--productlist .product-thumb{
  border: 1px solid var(--line, #e5e7eb) !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #fff;
  transition: transform .12s ease, box-shadow .2s ease;
}
.section--productlist .product-thumb:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

/* Image: consistent area */
.section--productlist .product-thumb__image{
  background: var(--surface, #f7f7f8);
  padding: 12px;
}
.section--productlist .product-thumb__image img{
  width: 100%;
  height: 180px;            /* consistent height */
  object-fit: contain;      /* keep full product visible */
}

/* Info block: make it a flex column so bottom row aligns */
.section--productlist .product-thumb__info{
  padding: 12px 14px 14px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 170px; /* helps align card bottoms on 4-col layout */
}

/* Name: remove heavy bold helper + clamp lines */
.section--productlist .product-thumb__name,
.section--productlist .product-thumb__name.-bold-sm{
  font-weight: 650 !important;     /* not shouty */
  color: var(--text, #111827) !important;
  text-decoration: none !important;
  line-height: 1.25;
  margin: 0 !important;

  display: -webkit-box;
  -webkit-line-clamp: 2;           /* 2 lines max */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.section--productlist .product-thumb__name:hover{
  color: var(--brand2, #115e59) !important;
}

/* Description: optional — hide on grid to reduce mess
   If you want it visible, comment this block out */
.section--productlist .product-thumb__description{
  display: none !important;
}

/* Price: remove heavy bold and align nicely */
.section--productlist .price{
  margin-top: auto;                /* pushes price/actions to bottom */
  padding-top: 8px;
  border-top: 1px solid var(--line, #e5e7eb);
}
.section--productlist .price-value,
.section--productlist .price-value.-bold{
  font-weight: 800 !important;
  font-size: 16px;
}
.section--productlist .price-tax{
  color: var(--muted, #6b7280);
  font-size: 12px;
  margin-top: 2px;
}

/* Actions row: tidy */
.section--productlist .product-thumb__info > div:last-child{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

/* Add to cart button: calmer sizing */
.section--productlist .product-thumb__button-buy{
  flex: 1 1 auto;
  border-radius: 999px !important;
  padding: 10px 12px !important;
  font-weight: 800 !important;
  border: 1px solid var(--line, #e5e7eb) !important;
  background: var(--brand, #0f766e) !important;
  color: #fff !important;
}
.section--productlist .product-thumb__button-buy:hover{
  background: var(--brand2, #115e59) !important;
}

/* Compare/Wishlist: make them matching pill icons */
.section--productlist .product-thumb__compare,
.section--productlist .product-thumb__wishlist{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line, #e5e7eb);
  background: #fff;
  color: var(--text, #111827);
}
.section--productlist .product-thumb__compare:hover,
.section--productlist .product-thumb__wishlist:hover{
  background: var(--surface, #f7f7f8);
}

/* Reduce any theme-wide bold helpers just inside product grid */
.section--productlist .-bold,
.section--productlist .-bold-sm{
  font-weight: 650 !important;
}

/* Responsive tweaks */
@media (max-width: 991px){
  .section--productlist .product-thumb__image img{ height: 170px; }
  .section--productlist .product-thumb__info{ min-height: 160px; }
}
@media (max-width: 767px){
  .section--productlist .product-thumb__image img{ height: 160px; }
  .section--productlist .product-thumb__info{ min-height: 0; }
}

/* =========================================================
   Product grid cleanup (Nice Theme / confirmed markup)
   ========================================================= */

/* Section title: not shouty */
.section--productlist .section__title{
  font-weight: 650 !important;
  letter-spacing: -0.01em;
}

/* Make the grid breathe */
.section--productlist .list-row{
  margin-left: -10px;
  margin-right: -10px;
}
.section--productlist .list-item__col.product-grid{
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 18px;
}

/* Card */
.section--productlist .product-thumb{
  border: 1px solid var(--line, #e5e7eb) !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #fff;
  height: 100%;
  transition: transform .12s ease, box-shadow .2s ease;
}
.section--productlist .product-thumb:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

/* Image: consistent area */
.section--productlist .product-thumb__image{
  background: var(--surface, #f7f7f8);
  padding: 12px;
}
.section--productlist .product-thumb__image img{
  width: 100%;
  height: 180px;
  object-fit: contain;
}

/* Info: flex column so the bottom aligns */
.section--productlist .product-thumb__info{
  padding: 12px 14px 14px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 175px;
}

/* Remove “heavy bold” helpers inside cards */
.section--productlist .-bold,
.section--productlist .-bold-sm{
  font-weight: 600 !important;
}

/* Name: lighter weight + clamp */
.section--productlist .product-thumb__name{
  font-weight: 600 !important;
  color: var(--text, #111827) !important;
  line-height: 1.25;
  margin: 0 !important;
  text-decoration: none !important;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.section--productlist .product-thumb__name:hover{
  color: var(--brand2, #115e59) !important;
}

/* Description: optional – hide to reduce mess */
.section--productlist .product-thumb__description{
  display: none !important;
}

/* Price block: sits near bottom, clean */
.section--productlist .price{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--line, #e5e7eb);
}
.section--productlist .price-value{
  font-weight: 800 !important;
  font-size: 16px;
}
.section--productlist .price-tax{
  color: var(--muted, #6b7280);
  font-size: 12px;
  margin-top: 2px;
}

/* Actions wrapper: target the anonymous div AFTER .price */
.section--productlist .product-thumb__info > div:not(.price){
  display: grid;
  grid-template-columns: 1fr 40px 40px;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

/* Add to cart: calm + consistent */
.section--productlist .product-thumb__button-buy{
  width: 100%;
  border-radius: 0px !important;
  padding: 10px 12px !important;
  font-weight: 800 !important;
  border: 1px solid var(--line, #e5e7eb) !important;
  background: var(--brand, #0f766e) !important;
  color: #fff !important;
}
.section--productlist .product-thumb__button-buy:hover{
  background: var(--brand2, #115e59) !important;
}

/* Compare / Wishlist: pill icons */
.section--productlist .product-thumb__compare,
.section--productlist .product-thumb__wishlist{
  width: 40px;
  height: 40px;
  border-radius: 0px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line, #e5e7eb);
  background: #fff;
  color: var(--text, #111827);
}
.section--productlist .product-thumb__compare:hover,
.section--productlist .product-thumb__wishlist:hover{
  background: var(--surface, #f7f7f8);
}

/* Responsive */
@media (max-width: 991px){
  .section--productlist .product-thumb__image img{ height: 170px; }
  .section--productlist .product-thumb__info{ min-height: 165px; }
}
@media (max-width: 767px){
  .section--productlist .product-thumb__image img{ height: 160px; }
  .section--productlist .product-thumb__info{ min-height: 0; }
}


/* =========================================================
   Global font weight + button radius softening
   Nice Theme + OpenCart 3.0.3.7
   ========================================================= */

/* ---- Kill aggressive theme bold helpers ---- */
.-bold,
.-bold-sm,
.bold,
.font-bold,
strong{
  font-weight: 600 !important;   /* was often 800–900 */
}

/* Prices calmer but still prominent */
.price-value{
  font-weight: 700 !important;
}

/* Product names */
.product-thumb__name,
.product-thumb__name.-bold-sm{
  font-weight: 600 !important;
}

/* Headings not shouty */
h1{ font-weight: 700 !important; }
h2{ font-weight: 650 !important; }
h3{ font-weight: 600 !important; }

/* Menu + header labels */
#menu a,
.navbar-nav > li > a,
.header-icon-label{
  font-weight: 600 !important;
}

/* ---- Button radius + weight cleanup ---- */

/* Global buttons */
.btn,
button,
.cart-button,
.product-thumb__button-buy,
.top-dropdown__toggle,
#search .search__button{
  border-radius: 8px !important;   /* instead of pills */
  font-weight: 600 !important;
}

/* Icon buttons (wishlist / compare / cart pills) */
.product-thumb__compare,
.product-thumb__wishlist,
.header-icons-item a{
  border-radius: 8px !important;
}

/* Checkout + CTA buttons slightly stronger */
.btn-primary,
.btn-accent{
  font-weight: 700 !important;
}

/* Cart quantity badge */
#cart-quantity{
  border-radius: 6px !important;
  font-weight: 700 !important;
}

/* Inputs: match button radius */
input,
select,
textarea,
.form-control{
  border-radius: 8px !important;
}

/* Dropdown menus softer corners */
.dropdown-menu{
  border-radius: 10px !important;
}

/* =========================================================
   Force TOP BAR into single-line layout
   Target: <nav id="top">
   ========================================================= */

/* Main container becomes flex row */
#top .container{
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;   /* IMPORTANT: prevents second line */
}

/* Left message stays on one line */
#top .top-message{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 13px;
}

/* Right side wrapper */
#top .pull-right{
  display: flex !important;
  align-items: center;
  gap: 12px;
}

/* Account + Price list wrapper */
.top-dropdown__wrapper{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Fix inline UL that breaks layout */
#top .list-inline{
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove empty spacer LI */
#top .list-inline li:empty{
  display: none !important;
}

/* Account button sizing */
.top-dropdown__toggle{
  padding: 6px 10px !important;
  white-space: nowrap;
}

/* Price list button inline */
.price_list_lnk a{
  padding: 6px 10px !important;
  white-space: nowrap;
}

/* Prevent dropdown pushing layout */
.top-dropdown{
  display: flex;
  align-items: center;
}

/* Safety: never wrap children */
#top *{
  max-width: 100%;
}

/* =========================================================
   Fix review stars alignment (Font Awesome stacks)
   Target: .product-thumb__rating .fa-stack
   ========================================================= */

.product-thumb__rating{
  display: flex !important;
  align-items: center;
  gap: 4px;
  line-height: 1 !important;
  margin: 0 0 8px 0;
}

/* Each stacked star becomes a consistent box */
.product-thumb__rating .fa-stack{
  width: 1.05em !important;
  height: 1.05em !important;
  line-height: 1.05em !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  vertical-align: middle !important;
}

/* Center the layered icons inside the stack */
.product-thumb__rating .fa-stack-2x{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1 !important;
}

/* Optional: slightly smaller stars so they don’t collide with text */
.product-thumb__rating{
  font-size: 13px; /* adjust if you want larger */
}

/* If any theme CSS adds extra margin/padding to FA icons */
.product-thumb__rating .fa{
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   PRODUCT PAGE LAYOUT FIX (Nice Theme / OC 3.0.3.7)
   Scope: #product-product
   ========================================================= */

#product-product{
  padding-bottom: 28px;
}

/* Breadcrumbs cleaner */
#product-product .breadcrumb{
  background: transparent;
  padding: 10px 0;
  margin: 10px 0 14px;
  color: var(--muted, #6b7280);
}

/* Top notice block */
#product-product .section{
  border: 1px solid var(--line, #e5e7eb);
  background: var(--surface, #f7f7f8);
  border-radius: 10px;
  padding: 12px 14px;
  margin: 0 0 16px;
}
#product-product .section hr{
  display:none;
}
#product-product .section p{
  margin: 0;
  color: var(--text, #111827);
}
#product-product .section a{
  font-weight: 650;
}

/* Title + rating row */
#product-product .product-h1{
  margin: 6px 0 10px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
#product-product .rating p{
  display:flex;
  align-items:center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0 0 12px;
  color: var(--muted, #6b7280);
  font-weight: 600;
}

/* Rating stars: align stacks properly (works with current markup) */
#product-product .rating .fa-stack{
  width: 1.05em;
  height: 1.05em;
  line-height: 1.05em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}
#product-product .rating .fa-stack-1x{
  line-height: 1 !important;
}
#product-product .rating .fa{
  margin: 0 !important;
}

/* Main two-column area spacing */
#product-product .product-container > .col-sm-12 > .row{
  margin-top: 6px;
}

/* -------------------------
   LEFT: Product gallery
   ------------------------- */
#product-product .product-images{
  position: sticky;
  top: 18px;
}
#product-product .product-images .thumbnails{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

#product-product .product-images .thumbnails li{
  margin: 0 !important;
}

/* Main image spans full width */
#product-product .product-images .thumbnails li:first-child{
  grid-column: 1 / -1;
}

#product-product .product-images .thumbnail{
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  padding: 8px;
}

#product-product .product-images .thumbnail img{
  width: 100%;
  height: 70px;
  object-fit: cover;
  display:block;
}

/* Bigger main image */
#product-product .product-images .thumbnails li:first-child .thumbnail img{
  height: 420px;
  object-fit: contain;
  background: var(--surface, #f7f7f8);
}

/* Make additional thumbs look clickable */
#product-product .image-additional .thumbnail{
  cursor: pointer;
  transition: transform .12s ease, box-shadow .2s ease;
}
#product-product .image-additional .thumbnail:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

/* -------------------------
   RIGHT: Tabs + Buy box
   ------------------------- */

/* Tabs container */
#product-product .product-tab--container{
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  margin-bottom: 14px;
}

#product-product .product-tab--container .nav-tabs{
  border-bottom: 1px solid var(--line, #e5e7eb);
  background: var(--surface, #f7f7f8);
  padding: 8px 10px 0;
}
#product-product .product-tab--container .nav-tabs > li > a{
  border: 0 !important;
  border-radius: 10px 10px 0 0;
  font-weight: 650;
  color: var(--text, #111827);
}
#product-product .product-tab--container .nav-tabs > li.active > a{
  background: #fff !important;
  border: 1px solid var(--line, #e5e7eb) !important;
  border-bottom: 0 !important;
}
#product-product .product-tab--container .tab-content{
  padding: 12px 14px;
}

/* Meta list */
#product-product .identity-list li{
  padding: 6px 0;
  border-bottom: 1px dashed var(--line, #e5e7eb);
}
#product-product .identity-list li:last-child{
  border-bottom: 0;
}
#product-product .meta-label{
  color: var(--muted, #6b7280);
  font-weight: 650;
}
#product-product .meta-value{
  font-weight: 600;
}

/* Buy box */
#product-product .product-conversion-block{
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
}

/* Minimum order message */
#product-product .extra-description{
  background: var(--surface, #f7f7f8);
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 12px;
}
#product-product .extra-description p{ margin: 0; }

/* Price area */
#product-product .product-conversion-block h2.price{
  margin: 0;
  font-size: 26px;
  font-weight: 800;
}
#product-product .product-conversion-block .tax{
  color: var(--muted, #6b7280);
  margin-top: 4px;
}

/* Compare/wishlist area tidy + remove inline style influence */
#product-product .btn-group.pull-right{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  align-items: center;
}
#product-product .product-page--compare,
#product-product .product-page--wishlist{
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid var(--line, #e5e7eb);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
#product-product .product-page--compare:hover,
#product-product .product-page--wishlist:hover{
  background: var(--surface, #f7f7f8);
}

/* View cart link in that weird div: make it look like a button */
#product-product .product-page--compare a{
  font-weight: 650 !important;
  text-decoration: none !important;
}

/* Alert info spacing */
#product-product .alert-info{
  border-radius: 10px;
  border: 1px solid var(--line, #e5e7eb);
}

/* Quantity row cleanup */
#product-product .input-quantity--label{
  font-weight: 650;
  color: var(--muted, #6b7280);
}
#product-product .input-group{
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 10px;
  overflow: hidden;
}
#product-product #input-quantity{
  border: 0 !important;
  text-align: center;
  font-weight: 650;
}
#product-product #input-quantity--minus,
#product-product #input-quantity--pluse{
  border: 0;
  background: var(--surface, #f7f7f8);
  width: 44px;
  height: 40px;
  font-size: 18px;
  line-height: 40px;
}
#product-product #input-quantity--minus:hover,
#product-product #input-quantity--pluse:hover{
  background: #eee;
}

/* CTA buttons row */
#product-product .alert-button-cart,
#product-product #button-sample_cart{
  border-radius: 8px !important;
  font-weight: 700 !important;
}
#product-product .alert-button-cart{
  padding: 12px 12px;
}
#product-product #button-sample_cart{
  width: 100%;
  padding: 12px 12px;
}

/* Make the two CTAs sit nicely (your markup nests cols inside p-2 div) */
#product-product .p-2.col-sm-12{
  padding-left: 0;
  padding-right: 0;
}
#product-product .p-2.col-sm-12 > .col-sm-6{
  padding-left: 7px;
  padding-right: 7px;
}

/* -------------------------
   Responsive
   ------------------------- */
@media (max-width: 991px){
  #product-product .product-images{ position: static; }
  #product-product .product-images .thumbnails{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  #product-product .product-images .thumbnails li:first-child .thumbnail img{
    height: 360px;
  }
}
@media (max-width: 767px){
  #product-product .product-images .thumbnails{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #product-product .product-images .thumbnails li:first-child .thumbnail img{
    height: 300px;
  }
  #product-product .product-conversion-block h2.price{
    font-size: 22px;
  }
}

/* =========================================================
   CATEGORY GRID CLEANUP (Nice Theme)
   Targets: .product-grid, .product-thumb__hidden-wrapper, rating stacks
   ========================================================= */

/* Make grid spacing consistent */
.list-row{
  margin-left: -10px;
  margin-right: -10px;
}
.list-item__col.product-grid{
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 18px;
}

/* Card */
.product-grid .product-thumb{
  border: 1px solid var(--line, #e5e7eb) !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: #fff;
  height: 100%;
  transition: transform .12s ease, box-shadow .2s ease;
}
.product-grid .product-thumb:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

/* Image block */
.product-grid .product-thumb__image{
  background: var(--surface, #f7f7f8);
  padding: 12px;
}
.product-grid .product-thumb__image img{
  width: 100%;
  height: 210px;       /* consistent card height */
  object-fit: contain; /* keep full product visible */
  display: block;
}

/* Info layout: align actions at bottom */
.product-grid .product-thumb__info{
  padding: 12px 14px 14px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 200px;
}

/* Reduce heavy bold helpers (only inside product cards) */
.product-grid .-bold,
.product-grid .-bold-sm{
  font-weight: 600 !important;
}

/* Rating stars: keep in a neat line (FA stacks) */
.product-grid .product-thumb__rating{
  display: flex !important;
  align-items: center;
  gap: 4px;
  line-height: 1 !important;
  margin: 0;
}
.product-grid .product-thumb__rating .fa-stack{
  width: 1.05em !important;
  height: 1.05em !important;
  line-height: 1.05em !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  vertical-align: middle !important;
}
.product-grid .product-thumb__rating .fa-stack-2x{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1 !important;
}
.product-grid .product-thumb__rating .fa{
  margin: 0 !important;
}

/* Name: clamp so cards don't jump */
.product-grid .product-thumb__name{
  font-weight: 600 !important;
  color: var(--text, #111827) !important;
  line-height: 1.25;
  margin: 0 !important;
  text-decoration: none !important;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-grid .product-thumb__name:hover{
  color: var(--brand2, #115e59) !important;
}

/* Description: hide (cleaner category grid) */
.product-grid .product-thumb__description{
  display: none !important;
}

/* Price: consistent + near bottom */
.product-grid .price{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--line, #e5e7eb);
}
.product-grid .price-value{
  font-weight: 750 !important;
  font-size: 16px;
}
.product-grid .price-tax{
  color: var(--muted, #6b7280);
  font-size: 12px;
  margin-top: 2px;
}

/* Actions row: your category page uses .product-thumb__hidden-wrapper */
.product-grid .product-thumb__hidden-wrapper{
  display: grid;
  grid-template-columns: 1fr 40px 40px;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

/* Add to cart button: smaller radius + calmer weight */
.product-grid .product-thumb__button-buy{
  width: 100%;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-weight: 650 !important;
  border: 1px solid var(--line, #e5e7eb) !important;
  background: var(--brand, #0f766e) !important;
  color: #fff !important;
}
.product-grid .product-thumb__button-buy:hover{
  background: var(--brand2, #115e59) !important;
}

/* Compare / Wishlist buttons */
.product-grid .product-thumb__compare,
.product-grid .product-thumb__wishlist{
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line, #e5e7eb);
  background: #fff;
  color: var(--text, #111827);
}
.product-grid .product-thumb__compare:hover,
.product-grid .product-thumb__wishlist:hover{
  background: var(--surface, #f7f7f8);
}

/* Responsive tweaks */
@media (max-width: 991px){
  .product-grid .product-thumb__image img{ height: 190px; }
  .product-grid .product-thumb__info{ min-height: 190px; }
}
@media (max-width: 767px){
  .product-grid .product-thumb__image img{ height: 175px; }
  .product-grid .product-thumb__info{ min-height: 0; }
}

/* =========================================================
   CATEGORY PAGE (row.list-row) — clean grid + tidy footer row
   Works with: .list-item__col.product-grid, .product-thumb__hidden-wrapper
   ========================================================= */

/* --- Grid gutters (Bootstrap rows are tight/uneven in Nice Theme) --- */
#content .row.list-row{
  margin-left: -10px;
  margin-right: -10px;
}
#content .row.list-row > .list-item__col.product-grid{
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 18px;
}

/* --- Card --- */
#content .product-grid .product-thumb{
  border: 1px solid var(--line, #e5e7eb) !important;
  border-radius: 12px !important;
  background: #fff;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform .12s ease, box-shadow .2s ease;
}
#content .product-grid .product-thumb:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

/* --- Image area: consistent height --- */
#content .product-grid .product-thumb__image{
  background: var(--surface, #f7f7f8);
  padding: 12px;
}
#content .product-grid .product-thumb__image img{
  width: 100%;
  height: 210px;      /* consistent cards */
  object-fit: contain;
  display: block;
}

/* --- Info column: align elements + keep actions at bottom --- */
#content .product-grid .product-thumb__info{
  padding: 12px 14px 14px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}

/* Reduce loud bold helpers only inside cards */
#content .product-grid .-bold,
#content .product-grid .-bold-sm{
  font-weight: 600 !important;
}

/* --- Rating: fix FA stack alignment and keep it on one line --- */
#content .product-grid .product-thumb__rating{
  display: flex !important;
  align-items: center;
  gap: 4px;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 18px;  /* keeps spacing consistent when some products have no rating */
}
#content .product-grid .product-thumb__rating .fa{
  margin: 0 !important;
}
#content .product-grid .product-thumb__rating .fa-stack{
  width: 1.05em !important;
  height: 1.05em !important;
  line-height: 1.05em !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  vertical-align: middle !important;
}
#content .product-grid .product-thumb__rating .fa-stack-2x{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1 !important;
}

/* --- Title: clamp to 2 lines so buttons don’t jump --- */
#content .product-grid .product-thumb__name{
  font-weight: 600 !important;
  color: var(--text, #111827) !important;
  line-height: 1.25;
  margin: 0 !important;
  text-decoration: none !important;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#content .product-grid .product-thumb__name:hover{
  color: var(--brand2, #115e59) !important;
}

/* --- Description: hide (category pages read cleaner without it) --- 
#content .product-grid .product-thumb__description{
  display: none !important;
} */


#content .product-grid .product-thumb__description{
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--muted, #6b7280);
  margin: 0 !important;
}






/* --- Price: sits near bottom consistently --- */
#content .product-grid .price{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--line, #e5e7eb);
}
#content .product-grid .price-value{
  font-weight: 750 !important;
  font-size: 16px;
}
#content .product-grid .price-tax{
  color: var(--muted, #6b7280);
  font-size: 12px;
  margin-top: 2px;
}

/* --- Actions row: button + icons aligned --- */
#content .product-grid .product-thumb__hidden-wrapper{
  display: grid;
  grid-template-columns: 1fr 40px 40px;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

/* Buttons: smaller radius + calmer weight */
#content .product-grid .product-thumb__button-buy{
  width: 100%;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-weight: 650 !important;
  border: 1px solid var(--line, #e5e7eb) !important;
  background: var(--brand, #0f766e) !important;
  color: #fff !important;
}
#content .product-grid .product-thumb__button-buy:hover{
  background: var(--brand2, #115e59) !important;
}
#content .product-grid .product-thumb__compare,
#content .product-grid .product-thumb__wishlist{
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line, #e5e7eb);
  background: #fff;
  color: var(--text, #111827);
}
#content .product-grid .product-thumb__compare:hover,
#content .product-grid .product-thumb__wishlist:hover{
  background: var(--surface, #f7f7f8);
}

/* --- Bottom "Showing 1 to ..." row: tidy and aligned --- */
#content > .row:last-of-type{
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--line, #e5e7eb);
  color: var(--muted, #6b7280);
  font-weight: 600;
}
#content > .row:last-of-type .text-right{
  text-align: right;
}

/* Responsive: image height */
@media (max-width: 991px){
  #content .product-grid .product-thumb__image img{ height: 190px; }
}
@media (max-width: 767px){
  #content .product-grid .product-thumb__image img{ height: 175px; }
}

/* =========================================================
   Trade Olfa / Nice Theme - Category + "Latest" module grid tidy
   Handles BOTH action wrappers:
   - category: .product-thumb__hidden-wrapper
   - latest module: .product-thumb__info > div (no wrapper)
   ========================================================= */

/* ---------- Shared grid spacing ---------- */
#content .row.list-row{
  margin-left: -10px;
  margin-right: -10px;
}
#content .row.list-row > .list-item__col.product-grid{
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 18px;
}

/* ---------- Card ---------- */
#content .product-grid .product-thumb{
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #fff;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform .12s ease, box-shadow .2s ease;
}
#content .product-grid .product-thumb:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

/* ---------- Image ---------- */
#content .product-grid .product-thumb__image{
  background: #f7f7f8;
  padding: 12px;
}
#content .product-grid .product-thumb__image img{
  width: 100%;
  height: 210px;
  object-fit: contain;
  display: block;
}

/* ---------- Info layout ---------- */
#content .product-grid .product-thumb__info{
  padding: 12px 14px 14px !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}

/* Reduce heavy bold text in cards */
#content .product-grid .-bold,
#content .product-grid .-bold-sm{
  font-weight: 600 !important;
}

/* ---------- Rating alignment (FA stacks) ---------- */
#content .product-grid .product-thumb__rating{
  display: flex !important;
  align-items: center;
  gap: 4px;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 18px;
}
#content .product-grid .product-thumb__rating .fa{
  margin: 0 !important;
}
#content .product-grid .product-thumb__rating .fa-stack{
  width: 1.05em !important;
  height: 1.05em !important;
  line-height: 1.05em !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  vertical-align: middle !important;
}
#content .product-grid .product-thumb__rating .fa-stack-2x{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1 !important;
}

/* ---------- Name clamp ---------- */
#content .product-grid .product-thumb__name{
  font-weight: 600 !important;
  color: #111827 !important;
  line-height: 1.25;
  margin: 0 !important;
  text-decoration: none !important;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#content .product-grid .product-thumb__name:hover{
  color: #115e59 !important;
}

/* 2nd Hide descriptions on grids for cleanliness 
#content .product-grid .product-thumb__description{
  display: none !important;
} */

/* Show description with a 2-line clamp */
#content .product-grid .product-thumb__description{
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

  overflow: hidden;
  margin: 0 !important;
  line-height: 1.35;
  color: #6b7280;
  font-size: 13px;
  max-height: calc(1.35em * 2);
}

/* Optional: slightly tighter spacing around it */
#content .product-grid .product-thumb__info{
  gap: 8px; /* was 10px */
}





/* ---------- Price ---------- */
#content .product-grid .price{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #e5e7eb;
}
#content .product-grid .price-value{
  font-weight: 750 !important;
  font-size: 16px;
}
#content .product-grid .price-tax{
  color: #6b7280;
  font-size: 12px;
  margin-top: 2px;
}

/* =========================================================
   ACTIONS (supports BOTH category + Latest module)
   ========================================================= */

/* Category cards (wrapper exists) */
#content .product-grid .product-thumb__hidden-wrapper{
  display: grid;
  grid-template-columns: 1fr 40px 40px;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

/* Latest module cards (actions are in a plain div right after price) */
#content .section--productlist .product-grid .price + div{
  display: grid;
  grid-template-columns: 1fr 40px 40px;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}

/* Add to cart button */
#content .product-grid .product-thumb__button-buy{
  width: 100%;
  border-radius: 8px !important; /* reduced radius */
  padding: 10px 12px !important;
  font-weight: 650 !important;
  border: 1px solid #e5e7eb !important;
  background: #0f766e !important;
  color: #fff !important;
}
#content .product-grid .product-thumb__button-buy:hover{
  background: #115e59 !important;
}

/* Compare / Wishlist buttons */
#content .product-grid .product-thumb__compare,
#content .product-grid .product-thumb__wishlist{
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #111827;
}
#content .product-grid .product-thumb__compare:hover,
#content .product-grid .product-thumb__wishlist:hover{
  background: #f7f7f8;
}

/* ---------- Bottom "Showing..." row ---------- */
#content > .row + hr{
  margin-top: 16px;
}
#content > .row .text-right{
  color: #6b7280;
  font-weight: 600;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px){
  #content .product-grid .product-thumb__image img{ height: 190px; }
}
@media (max-width: 767px){
  #content .product-grid .product-thumb__image img{ height: 175px; }
}

/* =========================
   CATEGORY GRID: keep cards aligned even with descriptions
   ========================= */

/* Make the product listing rows flex so varying heights don't break alignment */
.row.list-row{
  display: flex;
  flex-wrap: wrap;
}

/* Bootstrap .row uses clearfix pseudo elements which can interfere when flexing */
.row.list-row::before,
.row.list-row::after{
  content: none !important;
}

/* Turn each column into a flex item and ensure equal-height cards */
.row.list-row > .product-grid{
  float: none !important;          /* override bootstrap float columns */
  display: flex;                   /* lets the card stretch to full height */
}

.row.list-row > .product-grid .product-thumb{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Keep the info area structured + consistent */
.product-thumb__info{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

/* If some products have rating and others don't, reserve a consistent block height */
.product-thumb__rating{
  min-height: 20px;                /* tweak if your stars are bigger */
  margin-bottom: 6px;
}

/* =========================
   DESCRIPTION: show + 2 line clamp
   ========================= */

.product-thumb__description{
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;

  margin: 6px 0 10px;
  line-height: 1.35;
  min-height: calc(1.35em * 2);    /* keeps card heights more consistent */
}

/* =========================
   Reduce heavy bold text
   ========================= */

.product-thumb__name,
.product-thumb__name.-bold-sm{
  font-weight: 600;                /* was likely 700/800 */
}

.price-value,
.price-value.-bold{
  font-weight: 600;                /* reduce heavy price bold */
}

/* =========================
   Reduce button radius
   ========================= */

.btn,
.product-thumb__button-buy{
  border-radius: 4px !important;   /* set to 2px or 0 if you want sharper */
}

/* =========================
   FOOTER: neat layout + spacing
   ========================= */

#jade_footer{
  color: #eaeaea;
  font-size: 14px;
  line-height: 1.5;
}

#jade_footer .jade_innerwrap{
  background: #000;
  padding: 35px 0 20px;
}

/* Make footer widget row a responsive grid (fixes odd wrapping) */
#jade_footer .jade_extra_footer_widget_row{
  display: flex;
  flex-wrap: wrap;
  gap: 24px 24px;
  align-items: flex-start;
}

/* Kill float behaviour if present */
#jade_footer .jade_extra_footer_widget_row [class*="j-sm-"]{
  float: none !important;
}

/* Default column sizing */
#jade_footer .jade_extra_footer_widget_row > [class*="j-sm-"]{
  flex: 1 1 220px;  /* grows, wraps nicely */
  min-width: 220px;
}

/* Make key blocks a bit wider on desktop */
#jade_footer .jad_contact_us{ flex: 1 1 260px; }
#jade_footer .jade_payments_icons{ flex: 1 1 260px; }
#jade_footer .jad_hot_line{ flex: 2 1 420px; }  /* newsletter gets more room */
#jade_footer .jade_editor{ flex: 1 1 100%; }    /* GDPR full width */

/* Headings */
#jade_footer h3{
  margin: 0 0 12px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  font-weight: 600;
}

/* Lists */
#jade_footer .j-list-unstyled{
  list-style: none;
  padding: 0;
  margin: 0;
}

#jade_footer .j-list-unstyled li{
  margin: 0 0 8px;
}

#jade_footer a{
  color: #d7d7d7;
  text-decoration: none;
}

#jade_footer a:hover{
  color: #fff;
  text-decoration: underline;
}

/* Contact list: align icon + text neatly */
#jade_footer .jad_contact_us .j-list-unstyled li{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}

#jade_footer .jad_contact_us i{
  width: 16px;
  margin-top: 2px;
  opacity: .9;
}

#jade_footer .jad_contact_us span{
  display: block;
  color: #d7d7d7;
}

/* Payment icons in a tidy row */
#jade_footer .jade_payments_icons .j-list-inline{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

#jade_footer .jade_payments_icons img{
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
  background: #111;
  border-radius: 6px;
  padding: 6px;
}

/* Newsletter input group */
#jade_footer .j-newsletter .j-input-group{
  display: flex;
  gap: 10px;
  align-items: center;
}

#jade_footer .j-form-control{
  flex: 1 1 auto;
  height: 40px;
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid #333;
  background: #0f0f0f;
  color: #fff;
  outline: none;
}

#jade_footer .j-form-control::placeholder{
  color: #9a9a9a;
}

#jade_footer .submit-jadeletter{
  height: 40px;
  padding: 0 14px;
  border-radius: 6px; /* reduce if you want sharper */
  border: 1px solid #444;
  background: #fff;
  color: #000;
  font-weight: 600;
  cursor: pointer;
}

#jade_footer .submit-jadeletter:hover{
  background: #eaeaea;
}

/* GDPR block: remove table look and make it clean */
#jade_footer .jade_editor .table{
  margin: 10px 0 0;
  background: #0f0f0f;
  border: 1px solid #222;
}

#jade_footer .jade_editor .table td{
  border: none !important;
}

#jade_footer .jade_editor p{
  margin: 0;
  color: #d7d7d7;
}

#jade_footer .jade_editor b{
  color: #fff;
  font-weight: 600;
}

/* =========================
   COPYRIGHT BAR
   ========================= */

#jade_footer .jade_copyright{
  background: #a9a9a9;
  padding: 14px 0;
}

#jade_footer .jade_copyright p,
#jade_footer .jade_copyright div{
  color: #111;               /* darker text reads better on grey */
  margin: 0;
}

#jade_footer .jade_copyright a{
  color: #111;
  text-decoration: underline;
}

#jade_footer .jade_copyright a:hover{
  color: #000;
}

/* Center and tidy the copyright area */
#jade_footer .jade_copyright .jade_extra_footer_widget_row{
  display: block; /* keep it simple down here */
}

#jade_footer .jade_copyright .j-sm-12{
  text-align: center;
}

/* =========================
   MOBILE TWEAKS
   ========================= */

@media (max-width: 767px){
  #jade_footer .jade_innerwrap{
    padding: 26px 0 16px;
  }

  #jade_footer .jade_extra_footer_widget_row{
    gap: 18px;
  }

  #jade_footer .j-newsletter .j-input-group{
    flex-direction: column;
    align-items: stretch;
  }

  #jade_footer .submit-jadeletter{
    width: 100%;
  }
}


/* =========================
   GALLERIA PAGE (Pre-Order Fabrics)
   ========================= */

#galleria-page{
  padding-top: 15px;
  padding-bottom: 25px;
}

#galleria-page h1{
  margin: 0 0 6px;
  font-size: 28px;
  font-weight: 600;
}

#galleria-page hr{
  margin: 14px 0 18px;
  opacity: .25;
}

/* Intro text just under H1 (plain text node) */
#galleria-page #content{
  font-size: 14px;
  line-height: 1.5;
}

/* Tidy the grid */
#galleria-page .galleria-items.row{
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

#galleria-page .galleria-items.row > [class*="col-"]{
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 20px;
}

/* Hide legacy clearfix blocks so they don't create weird gaps */
#galleria-page .galleria-items .clearfix{
  display: none !important;
}

/* Card */
#galleria-page .galleria-album.galleria-grid-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, transform .2s ease;
}

#galleria-page .galleria-album.galleria-grid-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

/* Title */
#galleria-page .galleria-album-name{
  order: 2;
  padding: 12px 12px 14px;
  text-align: center;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 600;     /* not heavy-bold, just clear */
  color: #222;
  text-decoration: none;
  min-height: 48px;     /* keeps titles aligned */
  display: flex;
  align-items: center;
  justify-content: center;
}

#galleria-page .galleria-album-name:hover{
  text-decoration: underline;
}

/* Image area */
#galleria-page .galleria-album-image{
  order: 1;
  display: block;
  overflow: hidden;
  background: #f7f7f7;
}

#galleria-page .galleria-album-image img{
  width: 100%;
  height: 180px;         /* consistent card height */
  object-fit: cover;
  display: block;
  margin: 0;
  transition: transform .35s ease;
}

#galleria-page .galleria-album:hover .galleria-album-image img{
  transform: scale(1.07);  /* less aggressive than 1.2 */
}

/* Description block */
#galleria-page .galleria-description{
  margin: 22px 0 0;
  padding: 14px 16px;
  border-left: 4px solid rgba(0,0,0,.15);
  background: rgba(0,0,0,.03);
  border-radius: 8px;
}

#galleria-page .galleria-description p{
  margin: 0;
}

/* Pagination tidy */
ul.pagination{
  margin: 10px auto 25px;
  display: flex;
  justify-content: center;
  gap: 6px;
}

ul.pagination > li > a,
ul.pagination > li > span{
  border-radius: 8px !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  padding: 8px 12px;
}

/* =========================
   RESPONSIVE
   ========================= */

/* Bootstrap col-sm-3 = 4 per row on >=768px; this keeps it neat on smaller */
@media (max-width: 767px){
  #galleria-page .galleria-items.row{
    margin-left: -8px;
    margin-right: -8px;
  }

  #galleria-page .galleria-items.row > [class*="col-"]{
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
  }

  #galleria-page .galleria-album-image img{
    height: 160px;
  }

  #galleria-page .galleria-album-name{
    min-height: 44px;
    padding: 10px 10px 12px;
  }
}

/* =========================
   GALLERIA ALBUM PAGE
   ========================= */

#galleria-album{
  padding-top: 15px;
  padding-bottom: 25px;
}

#galleria-album h1{
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 600;
}

#galleria-album hr{
  margin: 14px 0 18px;
  opacity: .25;
}

/* Top CTA button section */
#galleria-album .section .btn{
  border-radius: 8px;
  font-weight: 600;
}

/* Album intro text */
#galleria-album .album-description{
  margin: 16px 0 18px;
  padding: 14px 16px;
  border-left: 4px solid rgba(0,0,0,.15);
  background: rgba(0,0,0,.03);
  border-radius: 8px;
}

#galleria-album .album-description p{
  margin: 0;
}

/* Grid */
#galleria-album .album-items.row{
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}

#galleria-album .album-items.row > [class*="col-"]{
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 20px;
}

/* Remove legacy clearfix blocks */
#galleria-album .album-items .clearfix{
  display: none !important;
}

/* Card */
#galleria-album .galleria-image.galleria-grid-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, transform .2s ease;
}

#galleria-album .galleria-image.galleria-grid-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

/* Image link area */
#galleria-album a.galleria-image-image{
  display: block;
  overflow: hidden;
  background: #f7f7f7;
}

/* Make images consistent */
#galleria-album a.galleria-image-image img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  margin: 0;
  transition: transform .35s ease;
}

#galleria-album .galleria-image:hover a.galleria-image-image img{
  transform: scale(1.07);
}

/* Name (make it behave like a title area) */
#galleria-album .galleria-image-name{
  display: block;
  padding: 12px 12px 0;
  text-align: center;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 600;
  color: #222;
  min-height: 44px; /* keeps alignment across the row */
}

/* Enquire button wrapper */
#galleria-album .galleria-image-name + div{
  padding: 10px 12px 14px;
  display: flex;
  justify-content: center;
}

/* Make enquire button nicer */
#galleria-album .gall-product-enquire{
  border-radius: 8px;
  padding: 9px 14px;
  font-weight: 600;
}

/* =========================
   Ask a Question block
   ========================= */

.block_with_feedback{
  border-radius: 10px !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  background: rgba(0,0,0,.03) !important;
}

.block_with_feedback h3{
  font-weight: 600;
}

#button_feedback{
  border-radius: 8px;
  font-weight: 600;
}

/* Modal tidy */
#modalFeedback .modal-content{
  border-radius: 12px;
}

#modalFeedback .modal-body{
  padding: 18px;
}

#modalFeedback .form-control{
  border-radius: 8px;
}

/* Banner info tidy (doesn't rely on bootstrap flex helpers behaving) */
#banner-info{
  margin-top: 18px;
}

#banner-info .section-banner-info .d-flex{
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

#banner-info .single-info{
  flex: 1 1 180px;
  max-width: 220px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  padding: 12px 14px;
  background: #fff;
}

#banner-info .info-icon{
  font-size: 26px;
  margin-bottom: 6px;
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 767px){
  #galleria-album .album-items.row{
    margin-left: -8px;
    margin-right: -8px;
  }

  #galleria-album .album-items.row > [class*="col-"]{
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
  }

  #galleria-album a.galleria-image-image img{
    height: 160px;
  }
}

/* =========================
   Center "Ask a Question" block
   ========================= */

.block_with_feedback{
  max-width: 1100px;   /* match your main container width */
  margin: 0 auto 25px auto !important;
  width: 100%;
}

/* On large screens make it slightly narrower for better focus */
@media (min-width: 1200px){
  .block_with_feedback{
    max-width: 1000px;
  }
}

/* Mobile spacing */
@media (max-width: 768px){
  .block_with_feedback{
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

/* =========================
   Ask a Question CTA (card)
   ========================= */

.block_with_feedback{
  max-width: 1000px;
  margin: 25px auto 35px auto !important;
  width: 100%;
  padding: 18px 20px !important;
  border: 1px solid #e6e6e6 !important;
  background: #fafafa !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* tidy headings + text */
.block_with_feedback h3{
  margin: 0 0 8px 0 !important;
  font-size: 20px;
  font-weight: 600;
}

.block_with_feedback p{
  margin: 0 !important;
  color: #555;
}

/* layout: text + button */
.block_with_feedback{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.block_with_feedback .btn{
  border-radius: 8px;        /* reduced radius */
  padding: 10px 16px;
  font-weight: 600;
  white-space: nowrap;
}

/* optional: make it look like a proper “info card” */
.block_with_feedback:before{
  content: "\f0e0"; /* fa-envelope */
  font-family: FontAwesome;
  font-size: 22px;
  line-height: 1;
  opacity: .7;
  margin-right: 12px;
}

.block_with_feedback{
  /* allow the icon + text grouping */
}
.block_with_feedback > *{
  position: relative;
}

/* because :before becomes a flex item visually, wrap text */
.block_with_feedback h3,
.block_with_feedback p{
  display: block;
}

/* Mobile: stack nicely and center */
@media (max-width: 768px){
  .block_with_feedback{
    flex-direction: column;
    text-align: center;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  .block_with_feedback:before{
    margin: 0 0 8px 0;
  }
  .block_with_feedback .btn{
    width: 100%;
    max-width: 320px;
  }
}

/* =========================
   Sitemap page styling
   Scope: #information-sitemap
   ========================= */

#information-sitemap #content {
  padding-bottom: 30px;
}

#information-sitemap h1 {
  margin: 10px 0 15px;
  font-size: 26px;
  line-height: 1.2;
}

/* Make the two main columns look like neat panels */
#information-sitemap #content > .row > .col-sm-6 {
  margin-bottom: 20px;
}

#information-sitemap #content > .row > .col-sm-6 > ul {
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 8px;
  padding: 18px 18px;
  margin: 0;
}

/* Base ul reset + spacing */
#information-sitemap ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

#information-sitemap li {
  margin: 0;
  padding: 6px 0;
  line-height: 1.35;
}

/* Links: clean + wrap long titles */
#information-sitemap a {
  display: inline-block;
  max-width: 100%;
  text-decoration: none;
  word-break: break-word;
  overflow-wrap: anywhere;
}

#information-sitemap a:hover {
  text-decoration: underline;
}

/* First-level items: slightly stronger */
#information-sitemap #content > .row > .col-sm-6 > ul > li > a,
#information-sitemap #content > .row > .col-sm-6 > ul > li {
  font-weight: 600;
}

/* Nesting: indent and add a subtle left border */
#information-sitemap li > ul {
  margin-top: 6px;
  margin-left: 12px;
  padding-left: 12px;
  border-left: 2px solid #f0f0f0;
}

#information-sitemap li > ul > li {
  padding: 5px 0;
  font-weight: 400;
}

/* Add a simple bullet dot for nested items */
#information-sitemap li > ul > li {
  position: relative;
}

#information-sitemap li > ul > li:before {
  content: "";
  position: absolute;
  left: -12px;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cfcfcf;
}

/* Special: the big “Pre-order fabrics” list at the bottom */
#information-sitemap .row + .row .list-unstyled {
  background: #fff;
  border: 1px solid #e9e9e9;
  border-radius: 8px;
  padding: 18px;
  margin-top: 10px;
  column-count: 2;
  column-gap: 24px;
}

#information-sitemap .row + .row .list-unstyled li {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  padding: 6px 0;
}

/* Mobile: collapse columns */
@media (max-width: 767px) {
  #information-sitemap #content > .row > .col-sm-6 > ul {
    padding: 14px;
  }

  #information-sitemap .row + .row .list-unstyled {
    column-count: 1;
  }
}


/* =========================
   Sitemap page styling (nicer / coloured cards)
   Scope: #information-sitemap
   ========================= */

#information-sitemap {
  background: #f6f7fb;
}

#information-sitemap #content {
  padding: 18px 0 34px;
}

#information-sitemap h1 {
  margin: 10px 0 12px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 800;
}

/* Two main sitemap columns as “cards” */
#information-sitemap #content > .row > .col-sm-6 {
  margin-bottom: 22px;
}

#information-sitemap #content > .row > .col-sm-6 > ul {
  background: linear-gradient(180deg, #ffffff 0%, #fbfbff 100%);
  border: 1px solid #e7e8f3;
  border-radius: 12px;
  padding: 18px 18px;
  margin: 0;
  box-shadow: 0 8px 22px rgba(20, 20, 60, 0.06);
  position: relative;
  overflow: hidden;
}

/* subtle coloured accent strip */
#information-sitemap #content > .row > .col-sm-6 > ul:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 6px;
  background: linear-gradient(180deg, #6ea8fe 0%, #9b7bff 100%);
}

/* alternate accent on second column */
#information-sitemap #content > .row > .col-sm-6:nth-child(2) > ul:before {
  background: linear-gradient(180deg, #7ee3c3 0%, #63b3ed 100%);
}

/* Base reset */
#information-sitemap ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

#information-sitemap li {
  margin: 0;
  padding: 7px 0;
  line-height: 1.35;
}

/* Links */
#information-sitemap a {
  display: inline-block;
  max-width: 100%;
  text-decoration: none;
  color: #1f2937;              /* dark slate */
  word-break: break-word;
  overflow-wrap: anywhere;
  transition: transform .12s ease, color .12s ease;
}

#information-sitemap a:hover {
  color: #2b6cb0;
  text-decoration: underline;
}

/* First level: make it feel like a section title line */
#information-sitemap #content > .row > .col-sm-6 > ul > li {
  font-weight: 700;
}

#information-sitemap #content > .row > .col-sm-6 > ul > li > a {
  padding: 2px 0;
}

/* Nesting: clearer indentation + soft background */
#information-sitemap li > ul {
  margin-top: 8px;
  margin-left: 10px;
  padding-left: 12px;
  border-left: 2px solid #eef0ff;
  background: rgba(248, 249, 255, 0.7);
  border-radius: 10px;
  padding-top: 8px;
  padding-bottom: 8px;
}

#information-sitemap li > ul > li {
  font-weight: 500;
  padding: 6px 0 6px 18px;
  position: relative;
}

/* nicer bullet dot */
#information-sitemap li > ul > li:before {
  content: "";
  position: absolute;
  left: 6px;
  top: 14px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #a3aed0;
}

/* Deeper nesting: slightly different look */
#information-sitemap li > ul > li > ul {
  margin-top: 6px;
  background: rgba(255, 255, 255, 0.7);
  border-left-color: #e9ecff;
}

/* Bottom “extra links” list as a big card */
#information-sitemap .row + .row .list-unstyled {
  background: linear-gradient(180deg, #ffffff 0%, #fbfffd 100%);
  border: 1px solid #e7f2ea;
  border-radius: 12px;
  padding: 18px;
  margin-top: 12px;
  box-shadow: 0 8px 22px rgba(20, 60, 30, 0.06);
  column-count: 2;
  column-gap: 26px;
  position: relative;
  overflow: hidden;
}

#information-sitemap .row + .row .list-unstyled:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 6px;
  background: linear-gradient(180deg, #48bb78 0%, #38b2ac 100%);
}

#information-sitemap .row + .row .list-unstyled li {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  padding: 7px 0;
}

/* Add a little “pill” highlight on hover (feels nicer) */
#information-sitemap li a:hover {
  transform: translateX(1px);
}

/* Mobile */
@media (max-width: 767px) {
  #information-sitemap #content {
    padding: 14px 0 28px;
  }

  #information-sitemap #content > .row > .col-sm-6 > ul,
  #information-sitemap .row + .row .list-unstyled {
    padding: 14px;
  }

  #information-sitemap .row + .row .list-unstyled {
    column-count: 1;
  }
}

/* =========================
   Sitemap Section Headings
   ========================= */

/* Target ONLY first-level items inside the two main sitemap columns */
#information-sitemap 
#content > .row > .col-sm-6 > ul > li {

  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eef0ff;
}

/* Big section title look */
#information-sitemap 
#content > .row > .col-sm-6 > ul > li > a {

  display: block;
  font-size: 16px;
  /*font-weight: 800;*/
  letter-spacing: .3px;
  color: #1a202c;
  padding: 8px 12px;
  border-radius: 8px;
  background: linear-gradient(90deg, #f2f5ff, #ffffff);
  border-left: 4px solid #6ea8fe;
  box-shadow: 0 3px 8px rgba(0,0,0,.04);
}

/* Second column alternate accent colour */
#information-sitemap 
#content > .row > .col-sm-6:nth-child(2) > ul > li > a {
  border-left-color: #38b2ac;
  background: linear-gradient(90deg, #ecfdfb, #ffffff);
}

/* Hover effect for section headers */
#information-sitemap 
#content > .row > .col-sm-6 > ul > li > a:hover {

  background: linear-gradient(90deg, #e7edff, #ffffff);
  transform: translateX(3px);
  text-decoration: none;
}

/* Nested lists spacing under headings */
#information-sitemap 
#content > .row > .col-sm-6 > ul > li > ul {

  margin-top: 10px;
  margin-left: 8px;
}

/* Mobile spacing fix */
@media (max-width: 767px) {

  #information-sitemap 
  #content > .row > .col-sm-6 > ul > li > a {

    font-size: 15px;
    padding: 7px 10px;
  }
}

/* =========================
   Information Pages (route=information/information)
   Target: #information-information
   ========================= */

#information-information #content {
  max-width: 980px;
  margin: 0 auto;
}

/* Page title */
#information-information #content > h1 {
  font-size: 30px;
  line-height: 1.2;
  font-weight: 700; /* reduces “too bold” vibe */
  margin: 10px 0 12px;
  letter-spacing: -0.2px;
}

/* Make the content area feel like a readable article */
#information-information #content > hr {
  margin: 12px 0 18px;
  border: 0;
  height: 1px;
  background: #e9edf3;
}

/* General typography: override messy inline styles gently */
#information-information #content p,
#information-information #content li,
#information-information #content blockquote,
#information-information #content h2,
#information-information #content h3 {
  color: #2f343a !important;
}

/* Paragraph spacing */
#information-information #content p {
  font-size: 15px !important;
  line-height: 1.7;
  margin: 0 0 14px;
}

/* Headings inside content */
#information-information #content h2 {
  font-size: 18px !important;
  font-weight: 700;
  margin: 22px 0 10px;
  color: #111827 !important;
}

#information-information #content h3 {
  font-size: 16px !important;
  font-weight: 700;
  margin: 18px 0 10px;
  color: #111827 !important;
}

/* Links */
#information-information #content a {
  color: #0b5ed7;
  text-decoration: none;
  font-weight: 600;
}
#information-information #content a:hover {
  text-decoration: underline;
}

/* Images: responsive + centered */
#information-information #content img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 14px auto;
  border-radius: 6px; /* subtle */
}

/* If they set width:50% inline, keep it on desktop but make mobile full-width */
#information-information #content img[style*="width: 50%"],
#information-information #content img[style*="width:50%"] {
  width: 50% !important;
}
@media (max-width: 767px) {
  #information-information #content img[style*="width: 50%"],
  #information-information #content img[style*="width:50%"] {
    width: 100% !important;
  }
}

/* Blockquote: modern callout */
#information-information #content blockquote {
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 4px solid #6ea8fe;
  background: #f4f8ff;
  border-radius: 8px;
  font-size: 15px !important;
}
#information-information #content blockquote * {
  font-size: inherit !important;
}

/* Lists: cleaner + consistent */
#information-information #content ul {
  padding-left: 18px;
  margin: 10px 0 18px;
}
#information-information #content ul li {
  font-size: 15px !important;
  line-height: 1.65;
  margin: 6px 0;
}

/* “Top button” section at top (your .section with the CTA button) */
#information-information #content > .section:first-child {
  margin: 8px 0 14px;
  padding: 12px 14px;
  background: #f8fafc;
  border: 1px solid #e9edf3;
  border-radius: 10px;
}

/* Make CTA button nicer + less rounded */
#information-information #content .section .btn {
  border-radius: 6px !important;
  font-weight: 600;
  padding: 10px 14px;
}

/* Bottom “call us” section: convert into a highlight box */
#information-information #content .section:last-of-type {
  margin-top: 24px;
  padding: 16px;
  border-radius: 10px;
  background: linear-gradient(90deg, #fff7ed, #ffffff);
  border: 1px solid #ffe2c1;
}

#information-information #content .section:last-of-type hr {
  display: none; /* your inline hr lines look messy; hide them */
}

/* Make phone number stand out if present */
#information-information #content .section:last-of-type a,
#information-information #content .section:last-of-type {
  font-size: 15px;
}

#information-information #content img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}


/* =========================
   Info Page Specification Box
   ========================= */

#information-information .info-spec-box {

  margin: 18px 0 20px;
  padding: 16px 18px;
  border-radius: 10px;

  background: linear-gradient(135deg, #f8fafc, #ffffff);
  border: 1px solid #e5eaf1;

  box-shadow: 0 4px 10px rgba(0,0,0,.04);
}

/* Title inside spec box */
#information-information .info-spec-box strong {

  display: block;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #111827;
}

/* Remove default paragraph spacing inside box */
#information-information .info-spec-box p {
  margin-bottom: 8px;
}

/* Spec list formatting */
#information-information .info-spec-box ul {

  margin: 0;
  padding-left: 0;
  list-style: none;
}

/* Spec rows */
#information-information .info-spec-box li {

  padding: 7px 0;
  border-bottom: 1px solid #edf1f7;
  font-size: 14.5px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

/* Remove last border */
#information-information .info-spec-box li:last-child {
  border-bottom: none;
}

/* Mobile spacing */
@media (max-width: 767px) {

  #information-information .info-spec-box {
    padding: 14px;
  }

}


/* =========================
   Info Page: Article helpers
   ========================= */

#information-information .info-h2{
  font-size: 20px;
  font-weight: 800;
  margin: 18px 0 10px;
}

#information-information .info-h3{
  font-size: 16px;
  font-weight: 700;
  margin: 14px 0 6px;
}

/* Right-aligned media block (replaces inline float + width) */
#information-information .info-media-right{
  float: right;
  width: 46%;
  margin: 6px 0 12px 16px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e5eaf1;
  box-shadow: 0 6px 14px rgba(0,0,0,.06);
}

#information-information .info-media-right img{
  display: block;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

/* Clear floats so layout doesn't break below */
#information-information #content:after{
  content: "";
  display: block;
  clear: both;
}

/* Lists */
#information-information .info-bullets{
  margin: 10px 0 18px;
  padding-left: 18px;
}

#information-information .info-bullets li{
  margin-bottom: 8px;
  line-height: 1.55;
}

#information-information .info-steps{
  margin: 10px 0 18px;
  padding-left: 20px;
}

#information-information .info-steps li{
  margin-bottom: 10px;
  line-height: 1.55;
}

/* Quotes */
#information-information .info-quote{
  margin: 12px 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, #f8fafc, #ffffff);
  border: 1px solid #e5eaf1;
  box-shadow: 0 4px 10px rgba(0,0,0,.04);
}

#information-information .info-quote p{
  margin: 0;
}

/* CTA box */
#information-information .info-cta{
  margin: 18px 0 10px;
  padding: 16px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ecfdfb, #ffffff);
  border: 1px solid #d6f3ee;
  box-shadow: 0 6px 14px rgba(0,0,0,.05);
}

#information-information .info-cta .btn{
  margin-top: 8px;
  border-radius: 6px; /* matches your reduced radius goal */
}

/* Mobile: stack image full width */
@media (max-width: 767px){
  #information-information .info-media-right{
    float: none;
    width: 100%;
    margin: 12px 0;
  }
}

/* ==============================
   PRICE LIST PAGE STYLES
   Target: /fabric-price-list/
   ============================== */

/* Give the page breathing room */
body[class*="fabric-price-list"] #content,
#content{
  padding-top: 10px;
}

/* --- Top controls row (Show + dropdown + custom limit) --- */
#content .control-label[for="input-limit"]{
  font-weight: 600;
  margin: 8px 0 0;
}

#input-limit{
  border-radius: 6px;
  height: 38px;
}

.custom-limit{
  margin-top: 10px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.custom-limit #custom-limit{
  height: 38px;
  border-radius: 6px;
  max-width: 140px;
}

.custom-limit .submit-custom-limit{
  height: 38px;
  border-radius: 6px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Make the top bar wrap nicely on small screens */
@media (max-width: 767px){
  .custom-limit{
    justify-content: flex-start;
  }
}

/* --- Pagination blocks --- */
#content .pagination{
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

#content .pagination > li > a,
#content .pagination > li > span{
  border-radius: 6px !important;
  border: 1px solid #e5e7eb;
  padding: 8px 12px;
  line-height: 1;
}

#content .pagination > li.active > span{
  border-color: transparent;
}

/* --- Table wrapper --- */
#content .table-responsive{
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
}

/* --- Table base --- */
#content table.table{
  margin-bottom: 0;
  border: 0;
}

#content table.table > thead > tr > th{
  border-bottom: 1px solid #e5e7eb;
  border-top: 0;
  background: #f8fafc;
  font-weight: 700;
  vertical-align: middle;
  padding: 12px 12px;
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 2;
}

/* Sort links */
#content table.table > thead > tr > th a{
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

#content table.table > tbody > tr > td{
  border-top: 1px solid #eef2f7;
  padding: 12px;
  vertical-align: middle;
}

#content table.table > tbody > tr:hover{
  background: #fafafa;
}

/* Column sizing (keeps layout stable) */
#content table.table > thead > tr > th:nth-child(1),
#content table.table > tbody > tr > td:nth-child(1){
  width: 70px;
  text-align: center;
}

#content table.table > thead > tr > th:nth-child(2),
#content table.table > tbody > tr > td:nth-child(2){
  width: 70px;
  text-align: center;
}

/* Product image */
#content table.table td img{
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  background: #fff;
}

/* Product name link */
#content table.table td:nth-child(3) a{
  font-weight: 600;
  text-decoration: none;
}

#content table.table td:nth-child(3) a:hover{
  text-decoration: underline;
}

/* Product code */
#content table.table td:nth-child(4){
  font-size: 13px;
  color: #6b7280;
  word-break: break-word;
}

/* Price column */
#content table.table td:nth-child(5){
  white-space: nowrap;
}

#content table.table td:nth-child(5) .price-tax{
  font-size: 12px;
  margin-top: 4px;
  color: #6b7280;
}

/* --- Action column (qty + add to cart) --- */
#content table.table td.text-center{
  text-align: right;
}

#content table.table td .input-group{
  margin-left: auto;
  border-radius: 8px;
  overflow: hidden;
}

#content table.table td .input-group .form-control{
  height: 38px;
  border-radius: 0;
  border-right: 0;
  max-width: 70px;
  text-align: center;
}

#content table.table td .input-group-btn .btn{
  height: 38px;
  border-radius: 0;
  font-weight: 600;
}

/* Make action controls stack neatly on small screens */
@media (max-width: 991px){
  #content table.table td.text-center{
    text-align: left;
  }
  #content table.table td .input-group{
    margin-left: 0;
  }
}

/* --- Reduce table density on mobile: allow horizontal scroll but keep readable --- */
@media (max-width: 767px){
  #content table.table > thead > tr > th,
  #content table.table > tbody > tr > td{
    padding: 10px;
  }

  /* Hide the Ex Tax line to reduce clutter (optional) */
  #content table.table td:nth-child(5) .price-tax{
    display: none;
  }
}

/* ==============================
   PRICE LIST HEADER + FILTER BAR
   Wrapper: .digitcart-container
   ============================== */

.digitcart-container .breadcrumb{
  margin-bottom: 12px;
}

/* Page title */
.digitcart-container #content > h1{
  margin: 8px 0 14px;
  font-weight: 700;
  letter-spacing: -0.2px;
}

/* Turn the first search row into a nice "panel" */
.digitcart-container #content > .row:first-of-type{
  margin-top: 8px;
  margin-bottom: 8px;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #f8fafc;
}

/* Inputs & selects consistent height and radius */
.digitcart-container #input-search,
.digitcart-container select.form-control{
  height: 40px;
  border-radius: 8px;
}

.digitcart-container select.form-control{
  padding-right: 34px;
}

/* Subcategory checkbox alignment */
.digitcart-container .checkbox-inline{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font-size: 13px;
  color: #374151;
}
.digitcart-container .checkbox-inline input{
  margin: 0;
}

/* Search button */
.digitcart-container #button-search{
  height: 40px;
  border-radius: 8px;
  font-weight: 600;
  padding: 0 14px;
}

/* Reduce spacing from those HRs (they look heavy otherwise) */
.digitcart-container hr{
  margin: 14px 0;
  border-top: 1px solid #e5e7eb;
}

/* "Show:" row spacing and alignment */
.digitcart-container label.control-label[for="input-limit"]{
  margin-top: 10px;
  font-weight: 600;
  color: #374151;
}

/* Make the "Show + dropdown + custom limit" row look like a compact bar */
.digitcart-container #input-limit{
  height: 40px;
  border-radius: 8px;
}

/* custom limit layout fix (your HTML is missing a closing </span>) */
.digitcart-container .custom-limit{
  margin-top: 10px;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}
.digitcart-container .custom-limit #custom-limit{
  height: 40px;
  border-radius: 8px;
  max-width: 160px;
}
.digitcart-container .custom-limit .submit-custom-limit{
  height: 40px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}

/* Pagination + "showing X of Y" row */
.digitcart-container .row .text-right{
  color: #6b7280;
  font-size: 13px;
  margin-top: 8px;
}

/* Responsive: stack nicely on mobile */
@media (max-width: 767px){
  .digitcart-container #content > .row:first-of-type{
    padding: 12px;
  }

  .digitcart-container #content > .row:first-of-type .col-sm-3{
    margin-bottom: 10px;
  }

  .digitcart-container .custom-limit{
    justify-content: flex-start;
  }

  .digitcart-container #button-search{
    width: 100%;
  }
}

/* Keep header search from overflowing/overlapping */
#search, .header-search, .search-box {
  position: relative !important;
  max-width: 100%;
}

#search input[type="text"],
.header-search input[type="text"],
.search-box input[type="text"]{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* If the header uses flex, allow wrapping so it doesn't sit on top of content */
.header .row,
#top .row,
#header .row {
  flex-wrap: wrap;
}


/* Make sure the search area is on top AND clickable */
#search, .header-search, .search-box {
  position: relative !important;
  z-index: 9999 !important;
}

#search input,
.header-search input,
.search-box input {
  position: relative !important;
  z-index: 10000 !important;
  pointer-events: auto !important;
}

#search:before, #search:after,
.header-search:before, .header-search:after,
.search-box:before, .search-box:after {
  pointer-events: none !important;
}


/* Show search on mobile */
@media (max-width: 768px) {
  #search,
  .header-search,
  .search-box {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
  }

  /* if earlier fixes made it absolute/floating, keep it in normal flow on mobile */
  #search,
  .header-search,
  .search-box {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  /* keep live results aligned to the input */
  .live-search {
    top: 100% !important;
    margin-top: 6px !important;
    left: 0 !important;
    right: 0 !important;
  }
}

/* --- Trade Olfa added style 26-01-26 START ---*/

/* ---- Base ---- */
:root{
  --bg:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --border:#e5e7eb;
  --card:#ffffff;
  --accent:#111827;
  --accent2:#2563eb;
  --radius:12px;
}

html,body{background:var(--bg); color:var(--text);}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; line-height:1.45;}
a{color:var(--accent2); text-decoration:none;}
a:hover{text-decoration:underline;}

/* ---- Header / Nav (works with many OC themes) ---- */
#top, header{border-bottom:1px solid var(--border);}
#top{background:#f9fafb;}
#logo img{max-height:52px;}

/* ---- Buttons ---- */
.btn, .button, input[type="submit"], button{
  border-radius:10px !important;
}
.btn-primary, .btn.btn-primary{
  background:var(--accent2) !important;
  border-color:var(--accent2) !important;
}
.btn-primary:hover{filter:brightness(.95);}

/* ---- Cards / product blocks ---- */
.product-thumb, .product-layout .product-thumb, .thumbnail, .panel, .well{
  border:1px solid var(--border) !important;
  border-radius:var(--radius) !important;
  background:var(--card) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.product-thumb .caption{padding:14px !important;}
.product-thumb h4, .product-thumb .name{font-size:15px; margin:0 0 6px;}
.product-thumb p, .product-thumb .price, .product-thumb .description{color:var(--muted);}

/* ---- Price emphasis ---- */
.price, .product-thumb .price{
  color:var(--text) !important;
  font-weight:700 !important;
}
.price-tax, .price-ex-tax{color:var(--muted) !important; font-weight:500 !important;}

/* ---- Forms ---- */
.form-control, input, select, textarea{
  border-radius:10px !important;
  border-color:var(--border) !important;
}
.form-control:focus, input:focus, select:focus, textarea:focus{
  border-color:rgba(37,99,235,.7) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.15) !important;
}

/* ---- Page spacing ---- */
.container{max-width:1200px;}
h1,h2,h3{letter-spacing:-.01em;}

/* =========================
   HEADER LAYOUT FIX (OpenCart)
   ========================= */

/* General header spacing */
header, #top {
  padding-top: 1px;
  padding-bottom: 0px;
}

/* Make the main header row behave */
header .row,
#top .row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* LOGO */
#logo {
  flex: 0 0 auto;
}
#logo img {
  max-height: 56px;
  width: auto;
}

/* SEARCH (if present) */
#search {
  flex: 1 1 420px;
  min-width: 240px;
}
#search .input-group,
#search input {
  width: 100%;
}

/* RIGHT SIDE: phone / wishlist / compare / cart / account */
#top-links,
#top .pull-right,
header .pull-right,
header .col-sm-3,
header .col-sm-4 {
  flex: 0 0 auto;
  margin-left: auto;
}

/* Make top links sit nicely in one line */
#top-links > ul,
#top-links .list-inline {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0;
}

/* Cart alignment */
#cart {
  margin-left: 0;
}
#cart .btn {
  white-space: nowrap;
}

/* Phone number / extra text doesn’t push layout */
header .telephone,
#top .telephone,
header .phone,
#top .phone {
  white-space: nowrap;
}

/* MOBILE: stack cleanly */
@media (max-width: 768px) {
  header .row,
  #top .row {
    align-items: stretch;
  }

  #logo {
    width: 100%;
    text-align: center;
  }

  #search {
    order: 3;
    width: 100%;
  }

  #top-links,
  #top .pull-right {
    width: 100%;
    justify-content: center;
    margin-left: 0;
  }

  #top-links > ul,
  #top-links .list-inline {
    justify-content: center;
  }
}


#menu {
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}
#menu .nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
#menu .nav > li > a {
  padding: 10px 12px;
  border-radius: 10px;
}


/* =========================================
   UNIFORM HEADER ALIGNMENT (your markup)
   ========================================= */

/* 1) Make top-2 a proper layout grid */
#top-2 .top-2__container{
  display: grid;
  grid-template-columns: auto auto 1fr auto auto;
  align-items: center;          /* vertical alignment */
  column-gap: 16px;
  row-gap: 10px;
  min-height: 78px;             /* consistent header height */
}

/* Ensure each column behaves */
#top-2 .top-2__column{
  display: flex;
  align-items: center;
  min-height: 52px;             /* uniform “cell” height */
}

/* 2) Column-specific tuning */
#top-2 .main-nav-trigger-column{ justify-content: flex-start; }
#top-2 .logo__column{ justify-content: center; }
#top-2 .search__column_desktop{ width: 100%; }
#top-2 .header-icons__column{ justify-content: flex-end; }
#top-2 .cart-column{ justify-content: flex-end; }

/* Logo size + alignment */
#top-2 #logo{ display:flex; align-items:center; }
#top-2 .logo__img{
  max-height: 56px;
  width: auto;
}

/* 3) Search should fill its grid cell, not float */
#top-2 .search{ width: 100%; position: relative; }
#top-2 .search__input{ width: 100%; }
#top-2 .search__button{ height: 100%; }

/* 4) Make the icon area uniform (same baseline & spacing) */
#top-2 .header-icons{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  text-align: left;             /* stop odd label alignment */
}

#top-2 .header-icons__item a{
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

#top-2 .header-icons__label{
  display: inline-block;
  line-height: 1.1;
}

/* 5) Cart button aligns and doesn’t jump */
#top-2 #cart .cart__button{
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

/* 6) Optional: tidy the very top account bar */
#top{
  padding: 6px 0;
}
#top .pull-right{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

/* 7) Responsive: stack neatly when space runs out */
@media (max-width: 992px){
  #top-2 .top-2__container{
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "menu logo cart"
      "search search search"
      "icons icons icons";
  }
  #top-2 .main-nav-trigger-column{ grid-area: menu; }
  #top-2 .logo__column{ grid-area: logo; justify-content:center; }
  #top-2 .cart-column{ grid-area: cart; justify-content:flex-end; }
  #top-2 .search__column_desktop{ grid-area: search; }
  #top-2 .header-icons__column{ grid-area: icons; justify-content:center; }
  #top-2 .header-icons{ justify-content:center; flex-wrap: wrap; }
}



/* ======================================
   FIX MOBILE / DESKTOP VISIBILITY
   ====================================== */

/* ---------- DESKTOP ---------- */
@media (min-width: 992px){

  /* Hide mobile menu toggle */
  .main-nav-trigger-column{
    display: none !important;
  }

  /* Hide mobile search bar */
  .search__wrapper_mobile{
    display: none !important;
  }

  /* Show desktop header icons + layout */
  #top-2 .header-icons__column,
  #top-2 .cart-column,
  #top-2 .logo__column{
    display: flex !important;
  }
}

/* ---------- MOBILE + TABLET ---------- */
@media (max-width: 991px){

  /* Hide desktop search */
  #top-2 .search__column_desktop{
    display: none !important;
  }

  /* Show mobile menu toggle */
  .main-nav-trigger-column{
    display: flex !important;
  }

  /* Show mobile search */
  .search__wrapper_mobile{
    display: block !important;
  }

  /* Optional: hide wishlist/compare labels on small screens */
  .header-icons__label{
    display: none;
  }

  /* Center logo on mobile */
  #top-2 .logo__column{
    justify-content: center;
    width: 100%;
  }
}


/* =====================================
   GLOBAL BUTTON UPGRADE (SITE WIDE)
   ===================================== */

/* Base button reset */
.btn,
button,
input[type="submit"],
input[type="button"],
.cart__button,
.search__button,
.main-menu-toggle {
  min-height: 46px;
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 12px;
  letter-spacing: .2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all .18s ease;
}

/* PRIMARY BUTTONS */
.btn-primary,
.btn.btn-primary,
button.btn-primary,
input.btn-primary {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

/* Primary hover */
.btn-primary:hover,
.btn-primary:focus {
  background: #1d4ed8;
  border-color: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(37,99,235,.25);
}

/* SECONDARY BUTTONS */
.btn-default,
.btn-secondary {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  color: #111827;
}

/* Secondary hover */
.btn-default:hover,
.btn-secondary:hover {
  background: #f3f4f6;
  transform: translateY(-1px);
}

/* CART BUTTON */
.cart__button {
  background: #111827;
  color: #fff;
  border: none;
}

.cart__button:hover {
  background: #000;
  transform: translateY(-1px);
}

/* SEARCH BUTTON */
.search__button {
  background: #2563eb;
  border: none;
  color: white;
  border-radius: 10px;
}

.search__button:hover {
  background: #1d4ed8;
}

/* OUTLINE BUTTONS */
.btn-outline,
.btn-outline-primary {
  background: transparent;
  border: 2px solid #2563eb;
  color: #2563eb;
}

.btn-outline-primary:hover {
  background: #2563eb;
  color: #fff;
}

/* DISABLED */
.btn:disabled,
button:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* ICON ALIGNMENT FIX */
.btn i,
button i {
  line-height: 1;
}

/* MOBILE TOUCH FRIENDLY */
@media (max-width: 768px){
  .btn,
  button,
  input[type="submit"],
  input[type="button"]{
    min-height: 48px;
    font-size: 16px;
  }
}


button[onclick*="cart.add"],
.btn-cart,
.product-thumb button {
  width: 100%;
  border-radius: 14px;
  font-weight: 700;
}

/* ======================================
   MOVE HEADER ICONS TO TOP ACCOUNT BAR
   ====================================== */

/* 1) Hide icons from main header row */
#top-2 .header-icons__column{
  display: none !important;
}

/* 2) Inject icons visually into top bar */
#top .pull-right{
  display: flex !important;
  align-items: center;
  gap: 18px;
}

/* Make the header icons appear inside top bar */
#top .pull-right:after{
  content: "";
  display: none;
}

/* Re-enable icons but attach to top bar */
#top .header-icons{
  display: flex !important;
  align-items: center;
  gap: 14px;
  margin-left: 16px;
}

/* 3) Compact style for top bar */
#top .header-icons__item a{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  white-space: nowrap;
}

/* Smaller icons for top bar */
#top .header-icon,
#top .fa-lg{
  font-size: 14px;
}

/* Optional: remove circles for cleaner top look */
#top .fa-circle-thin{
  display: none;
}

/* Align account + icons nicely */
.top-dropdown__toggle{
  display: flex;
  align-items: center;
  gap: 6px;
}

#top{
  background:#111827;
  color:#fff;
}

#top a,
#top button{
  color:#fff;
}

#top a:hover{
  opacity:.85;
}

/* Top bar icons next to Account */
#top .pull-right{
  display:flex;
  align-items:center;
  gap:14px;
}

#top .header-icons--top{
  display:flex;
  align-items:center;
  gap:14px;
}

#top .header-icons--top .header-icons__item a{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

/* Force the “lower” search to show on desktop too */
.search__wrapper_mobile.search__wrapper_all{
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

/* Make sure the search box itself isn’t hidden */
.search__wrapper_mobile.search__wrapper_all .search{
  display: flex !important;
}

/* =========================
   FIX DROPDOWN “INVISIBLE TEXT”
   (Account + Cart)
   ========================= */

/* Make dropdown menu readable */
#top .dropdown-menu,
#top #cart .dropdown-menu,
#top #cart .cart__dropdown{
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #e5e7eb !important;
}

/* Ensure all text inside is dark */
#top .dropdown-menu *,
#top #cart .dropdown-menu *,
#top #cart .cart__dropdown *{
  color: #111827 !important;
}

/* Links */
#top .dropdown-menu a,
#top #cart .dropdown-menu a,
#top #cart .cart__dropdown a{
  color: #111827 !important;
  text-decoration: none;
}

#top .dropdown-menu a:hover,
#top #cart .dropdown-menu a:hover,
#top #cart .cart__dropdown a:hover{
  background: #f3f4f6 !important;
}

/* Cart totals / strong text */
#top #cart strong{
  color: #111827 !important;
}

/* =========================
   CART DROPDOWN ALIGNMENT
   ========================= */

/* Ensure the cart dropdown positions relative to the cart container */
#top #cart{
  position: relative !important;
}

/* Align dropdown to the right under the button */
#top #cart > .dropdown-menu,
#top #cart > .cart__dropdown{
  right: 0 !important;
  left: auto !important;
  top: calc(100% + 8px) !important;   /* small gap under button */
  margin-top: 0 !important;

  min-width: 340px;                  /* adjust */
  width: max-content;
  max-width: 520px;                  /* adjust */
}

/* If theme forces pull-right or transforms, neutralize */
#top #cart > .dropdown-menu.pull-right{
  right: 0 !important;
  left: auto !important;
}

/* Make sure it doesn't overflow off-screen on small widths */
@media (max-width: 480px){
  #top #cart > .dropdown-menu,
  #top #cart > .cart__dropdown{
    right: 8px !important;
    left: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* Optional: clean panel look */
#top #cart > .dropdown-menu,
#top #cart > .cart__dropdown{
  border-radius: 12px !important;
  padding: 10px 10px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;
}

/* =========================================
   HEADER POLISH PACK
   - Sticky header (top bar + search/logo row)
   - Cart hover highlight
   - Search focus glow
   - Reduce top bar height
   - Mobile cart icon tuning
   ========================================= */

/* 1) Reduce top bar height (cleaner) */
#top{
  padding: 4px 0 !important;
}
#top .top-dropdown__toggle{
  padding-top: 6px;
  padding-bottom: 6px;
}

/* 2) Sticky header (keeps cart + search visible) */
header{
  position: sticky;
  top: 0;
  z-index: 9998; /* below dropdown z-index 9999 you set earlier */
  background: #fff;
}

/* Prevent content jump under sticky header if needed */
body{
  scroll-padding-top: 110px; /* adjust if your header is taller/shorter */
}

/* Give sticky header a subtle separation */
header{
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* 3) Cart button hover highlight */
#cart .cart__button{
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#cart .cart__button:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
  filter: brightness(1.03);
}

/* Also highlight the cart icon/quantity a touch */
#cart:hover #cart-quantity{
  transform: scale(1.05);
}
#cart #cart-quantity{
  transition: transform .15s ease;
}

/* 4) Search focus glow (modern feel) */
.search__input{
  transition: box-shadow .15s ease, border-color .15s ease;
}
.search__input:focus{
  border-color: rgba(37,99,235,.70) !important;
  box-shadow: 0 0 0 4px rgba(37,99,235,.16) !important;
  outline: none !important;
}

/* Optional: make the whole search container respond on focus */
.search:focus-within{
  box-shadow: 0 0 0 4px rgba(37,99,235,.10);
  border-radius: 14px;
}

/* 5) Mobile cart icon size tuning */
@media (max-width: 767px){
  /* Slightly smaller cart button so it fits nicely */
  #cart .cart__button{
    padding: 10px 12px !important;
  }

  /* Tune icon + quantity badge */
  #cart .cart-icon{
    font-size: 18px !important;
  }
  #cart-quantity{
    font-size: 12px !important;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
  }

  /* If you show cart total text on mobile, hide it for space */
  #cart-total{
    display: none !important;
  }
}

/* Hide hamburger (mobile menu trigger) on desktop */
@media (min-width: 992px){
  .main-nav-trigger-column{
    display: none !important;
  }
}

/* Show it on mobile/tablet */
@media (max-width: 991px){
  .main-nav-trigger-column{
    display: flex !important;
  }
}


/* Hide Bootstrap navbar toggle on desktop */
@media (min-width: 992px){
  button.navbar-toggle,
  .navbar-toggle,
  .btn.btn-navbar.navbar-toggle{
    display: none !important;
  }
}

/* Ensure it can show on mobile */
@media (max-width: 991px){
  button.navbar-toggle,
  .navbar-toggle,
  .btn.btn-navbar.navbar-toggle{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
}


/* =========================================
   PRODUCT PAGE TIDY (OpenCart / Nice theme)
   ========================================= */

/* Page container spacing */
#product-product #content{
  padding-top: 10px;
}

/* Product title */
#product-product h1{
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 10px;
}

/* Main product panel / columns */
#product-product .row{
  row-gap: 18px;
}

/* Image area: give it a clean card */
#product-product .thumbnails,
#product-product .thumbnail,
#product-product .image-additional a{
  border-radius: 14px;
}

/* Main image card */
#product-product .thumbnails > li:first-child a,
#product-product .thumbnails .thumbnail{
  border: 1px solid #e5e7eb !important;
  background: #fff;
  padding: 10px;
}

/* Thumbnails row */
#product-product .image-additional{
  margin-top: 10px;
}
#product-product .image-additional a{
  border: 1px solid #e5e7eb !important;
  padding: 6px;
  transition: transform .15s ease, box-shadow .15s ease;
}
#product-product .image-additional a:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

/* Right side buy box - make it a “sticky-ish” card */
#product-product .list-unstyled,
#product-product .product-price,
#product-product .product-info,
#product-product .product-options{
  border-radius: 16px;
}

#product-product .product-info,
#product-product .product-options,
#product-product .list-unstyled{
  background: #fff;
}

/* Price styling */
#product-product h2,
#product-product .price{
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #111827 !important;
}
#product-product .price-tax,
#product-product .price-ex-tax{
  color: #6b7280 !important;
  font-size: 14px !important;
}

/* Qty + Add to cart alignment */
#product-product #product .form-group{
  margin-bottom: 12px;
}

#product-product #input-quantity{
  height: 50px;
  border-radius: 12px;
  font-size: 16px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
}

#product-product #button-cart,
#product-product button[onclick*="cart.add"]{
  height: 50px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 800;
  padding: 0 18px;
}

/* Make Add to Cart more prominent */
#product-product #button-cart{
  background: #111827 !important;
  border-color: #111827 !important;
  color: #fff !important;
}
#product-product #button-cart:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}

/* Minimum quantity notice - make it readable */
#product-product .alert,
#product-product .text-danger,
#product-product .minimum{
  border-radius: 12px;
}

/* Tabs (Description / Reviews) */
#product-product .nav-tabs{
  border-bottom: 1px solid #e5e7eb;
}
#product-product .nav-tabs>li>a{
  border-radius: 12px 12px 0 0;
  padding: 10px 14px;
  font-weight: 700;
}
#product-product .tab-content{
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 14px 14px 14px;
  padding: 16px;
  background: #fff;
}

/* Related products section (your “Spare Blades & Related Products”) */
#product-product h3{
  margin-top: 26px;
}
#product-product .product-layout .product-thumb,
#product-product .related-products .product-thumb{
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
  overflow: hidden;
}
#product-product .product-thumb .image img{
  transition: transform .18s ease;
}
#product-product .product-thumb:hover .image img{
  transform: scale(1.02);
}
#product-product .product-thumb .caption{
  padding: 14px !important;
}
#product-product .product-thumb h4{
  font-size: 15px;
  line-height: 1.25;
  margin: 0 0 8px;
}
#product-product .product-thumb .price{
  font-size: 16px !important;
  font-weight: 800 !important;
}

/* Mobile tweaks */
@media (max-width: 767px){
  #product-product h1{ font-size: 22px; }
  #product-product h2, #product-product .price{ font-size: 24px !important; }
  #product-product #button-cart{ width: 100%; }
}

/* =========================================
   PRODUCT PAGE — B2B / UTILITARIAN
   Dense, clear, minimal
   ========================================= */

/* Global product page density */
#product-product #content{
  padding-top: 8px;
}
#product-product .row{
  row-gap: 12px;
}

/* Title: utilitarian */
#product-product h1{
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
  margin: 0 0 8px;
}

/* Two-column layout: make right side feel like a “buy panel” */
#product-product #content .col-sm-4,
#product-product #content .col-md-4,
#product-product #content .col-lg-4{
  border-left: 1px solid #e5e7eb;
  padding-left: 18px;
}
@media (max-width: 767px){
  #product-product #content .col-sm-4,
  #product-product #content .col-md-4,
  #product-product #content .col-lg-4{
    border-left: 0;
    padding-left: 15px;
  }
}

/* Images: simple border, no “card” look */
#product-product .thumbnails .thumbnail,
#product-product .thumbnails > li:first-child a{
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}
#product-product .image-additional a{
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  padding: 4px !important;
  box-shadow: none !important;
}
#product-product .image-additional a:hover{
  transform: none !important;
  box-shadow: none !important;
}

/* Price: big, bold, clear */
#product-product .price,
#product-product h2{
  font-size: 26px !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em;
  color: #111827 !important;
  margin: 6px 0 8px !important;
}
#product-product .price-tax,
#product-product .price-ex-tax{
  font-size: 13px !important;
  color: #374151 !important;
}

/* “Key facts” list: make it look like a spec block */
#product-product .list-unstyled{
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  margin: 10px 0 12px !important;
}
#product-product .list-unstyled li{
  padding: 6px 0;
  border-bottom: 1px dashed #e5e7eb;
}
#product-product .list-unstyled li:last-child{
  border-bottom: 0;
}

/* Qty + Add to Cart: trade-style, full width */
#product-product #input-quantity{
  height: 46px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  font-size: 15px;
  padding: 8px 10px;
}
#product-product #button-cart{
  height: 46px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 900;
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
  padding: 0 14px;
  width: 100%;
  box-shadow: none !important;
  transform: none !important;
}
#product-product #button-cart:hover{
  background: #111827 !important;
}

/* Secondary buttons near buy area (wishlist/compare etc.) */
#product-product .btn,
#product-product button{
  border-radius: 8px !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Alerts/min qty: clear, not flashy */
#product-product .alert,
#product-product .minimum{
  border-radius: 8px !important;
  border: 1px solid #e5e7eb !important;
}

/* Tabs: utilitarian “folder” style */
#product-product .nav-tabs{
  border-bottom: 2px solid #e5e7eb;
}
#product-product .nav-tabs>li>a{
  border-radius: 8px 8px 0 0;
  padding: 8px 12px;
  font-weight: 800;
  color: #111827;
}
#product-product .tab-content{
  border: 1px solid #e5e7eb;
  border-top: 0;
  border-radius: 0 8px 8px 8px;
  padding: 14px;
  background: #fff;
}

/* Description text: tighter leading, better scan */
#product-product .tab-content,
#product-product #tab-description{
  line-height: 1.45;
  color: #111827;
}
#product-product #tab-description table{
  width: 100%;
  border-collapse: collapse;
}
#product-product #tab-description table td,
#product-product #tab-description table th{
  border: 1px solid #e5e7eb;
  padding: 8px;
}

/* Related products: denser grid, less “marketing” */
#product-product .product-layout .product-thumb{
  border: 1px solid #d1d5db !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
#product-product .product-thumb .caption{
  padding: 10px 12px !important;
}
#product-product .product-thumb h4{
  font-size: 14px;
  font-weight: 800;
  margin: 0 0 6px;
}
#product-product .product-thumb .price{
  font-size: 15px !important;
  font-weight: 900 !important;
}

/* Mobile: keep buy action prominent */
@media (max-width: 767px){
  #product-product h1{ font-size: 20px; }
  #product-product #button-cart{ width: 100%; }
}


/* Trade Olfa added style 26-01-26 END ---- */



