/* =========================
   KBT 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-top: 1px;
  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: 8px;
  box-shadow: none;
  padding: 1px 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 (KBT)
   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;
  --radius:14px;
  --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; */
  border-radius: 8px;
  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-radius: 8px;
  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-ex1collapse .dropdown-menu{
    width: min(820px, 92vw);
  }
  #navbar-ex1collapse .dropdown-menu .dropdown-inner{
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 768px){
  #navbar-ex1collapse .dropdown-menu{
    width: 92vw;
    left: 50%;
    transform: translateX(-50%);
  }
  #navbar-ex1collapse .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;
  /* margin-left: 20px; */
  
}

/* 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;
  width: auto;
}
#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);
  text-align: right;
  font-size: 20px;
   line-height: 40px;
}
#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; }
}

/* =========================================================
   KBT / 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; old colour */
  color: #151518;
  text-decoration: none;
  font-weight: 600;
}
#information-information #content a:hover {
  text-decoration: underline;
   color: blue;
}

/* 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;
  }
}

/* Force the colour name onto its own line under the main image */
#product-product .product-images ul.thumbnails > li#selected-option-text{
  display: block;
  width: 100%;
  float: none;
  clear: both;
  margin: 8px 0 12px;
  font-weight: 600;
}

#selected-option-text{
  display:block;
  width:100%;
}

#selected-option-text{
  display: block;
  width: 100%;
  text-align: center;

  margin: 8px 0 14px;
  padding: 6px 0;

  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.3px;

  color: #333;
}

#selected-option-text{
  text-align: center;
  display: inline-block;
  width: auto;
  margin: 8px auto 14px;
  padding: 6px 14px;
  border-radius: 20px;
  background: #f5f5f5;
  font-weight: 600;
}

#search {
    position: relative;
    width: 100%;
}

#search input,
#search .search__field {
    width: 100%;
    padding-right: 56px; /* room for button */
}

#search .search__button {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 44px;
    height: 40px;
    margin: 0;
}


@media (max-width: 768px) {
    .search-column--desktop {
        display: block;
    }
	
    .top-2__container {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0;
    }

    /* Top row */
    .logo-column {		
        flex: 0 0 24%;
        width: 24%;
		margin-left: 4px;
    }

    .header-icons-column {
        flex: 0 0 45%;
        width: 45%;
    }

    .cart-column {
        flex: 0 0 22%;
        width: 22%;
        display: flex;
        justify-content: flex-end;
    }

    /* Search moves to second row */
    .search-column--desktop {
        flex: 0 0 100%;
        width: 100%;
        margin-top: 8px;
		padding-right: 4px;
        padding-left: 4px;	
		z-index: 999;
    }	
	
    .logo-column {
        order: 1;
    }

    .header-icons-column {
        order: 2;
    }

    .cart-column {
        order: 3;
    }

    .search-column--desktop {
        order: 4;
    }	
	
    #search {
        display: flex;
        align-items: center;
        width: 100%;
    }

    #search input,
    #search .search__field {
        flex: 1 1 auto;
        min-width: 0;
    }

    #search .search__button {
        flex: 0 0 44px;
        margin-left: 8px;
        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;
    }
	
	
    #navbar-ex1-collapse .dropdown-menu {
        width: calc(100vw - 20px);
        max-width: calc(100vw - 20px);
        left: 10px;
        right: 10px;
        transform: none;
        box-sizing: border-box;
    }	
}






/* <============  add custom CSS 31-08-26  Start =====================>  */





.galleria-content {
    padding-top: 1px;
}

.block_with_feedback {
    width: max-content;
    margin: auto;
    margin-top: 20px;
}

 @media (min-width: 1200px) {
  h3 {
    font-size: 20px;
  }
}


/* Mobile responsiveness */
@media screen and (max-width: 768px) {
    .block_with_feedback {
        width: 90%; /* Adjust width to fit smaller screens */
        margin: auto;
        margin-top: 15px; /* Reduce margin for better mobile spacing */
        text-align: center; /* Center content for mobile */
    }

    .galleria-album-name {
        font-size: 18px; /* Adjust font size for smaller screens */
        line-height: 28px; /* Adjust line height for better readability */
    }
}

@media screen and (max-width: 480px) {
    .block_with_feedback {
        width: 95%; /* Use more screen width for very small devices */
        padding: 10px; /* Add padding for spacing */
    }

    .galleria-album-name {
        font-size: 16px; /* Further reduce font size for smaller screens */
        line-height: 24px;
        font-weight: 600; /* Slightly lighter font for compact view */
    }
}

.btn
{
border-radius: 4px;
}

#menu-categories .dropdown-inner {
  display: table;
  min-width: 620px;
}

{

#form-control
   border: 5px solid #64666a80;

}

.pagination {
    display: inline-block;
    padding-left: 50px;
    margin: 20px 0;
    border-radius: 4px;
}


li#selected-option-text {
    text-align: center;
    background-color: #ddd;
    padding: 10px;
    border: 2px dashed #000;
    margin-bottom: 20px;
    color: blue;
    font-weight: 400;
    font-size: xx-large;
}


/* carpet start */
        :root {
            --purple: #6c3df4;
            --pink: #f43f8c;
            --orange: #ff8a3d;
            --yellow: #ffd84d;
            --blue: #20b8e8;
            --green: #28c76f;
            --dark: #202033;
            --light: #f8f7ff;
            --white: #ffffff;
            --muted: #686878;
            --border: #e8e5f2;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: Arial, Helvetica, sans-serif;
            color: var(--dark);
            background: var(--white);
            line-height: 1.7;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        .container {
            max-width: 1180px;
            margin: auto;
            padding: 0 25px;
        }

        /* HERO */

        .hero {
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(circle at 10% 20%, #ffdb55 0, transparent 22%),
                radial-gradient(circle at 90% 20%, #f968a7 0, transparent 25%),
                radial-gradient(circle at 80% 90%, #36c7eb 0, transparent 25%),
                linear-gradient(135deg, #6337ed, #8b48f5 50%, #e84591);
            color: white;
            padding: 85px 0 90px;
        }

        .hero:before,
        .hero:after {
            content: "";
            position: absolute;
            border-radius: 50%;
            background: rgba(255,255,255,0.12);
        }

        .hero:before {
            width: 300px;
            height: 300px;
            right: -100px;
            top: -100px;
        }

        .hero:after {
            width: 180px;
            height: 180px;
            left: -70px;
            bottom: -60px;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            max-width: 820px;
        }

        .eyebrow {
            display: inline-block;
            background: rgba(255,255,255,0.18);
            border: 1px solid rgba(255,255,255,0.3);
            padding: 7px 17px;
            border-radius: 50px;
            font-size: 14px;
            font-weight: bold;
            letter-spacing: .5px;
            margin-bottom: 20px;
        }

        /* disabled 31-08-26 prod font too big
        h1 {
            font-size: clamp(38px, 6vw, 68px);
            line-height: 1.08;
            margin-bottom: 24px;
        } 
        */

        .hero p {
            font-size: 20px;
            max-width: 700px;
            opacity: .95;
            margin-bottom: 32px;
        }

        .buttons {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
        }

        .btn {
            display: inline-block;
            padding: 14px 25px;
            border-radius: 10px;
            font-weight: bold;
            transition: .2s ease;
        }

        .btn-primary {
            background: var(--yellow);
            color: #28220a;
            box-shadow: 0 8px 25px rgba(0,0,0,.15);
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            background: #ffe47c;
        }

        .btn-light {
            background: white;
            color: var(--purple);
        }

        .btn-light:hover {
            transform: translateY(-2px);
        }

        /* INTRO */

        .intro {
            padding: 75px 0 55px;
            text-align: center;
        }

        .intro h2 {
            font-size: 38px;
            margin-bottom: 18px;
        }

        .intro p {
            max-width: 800px;
            margin: auto;
            color: var(--muted);
            font-size: 17px;
        }

        /* FEATURES */

        .features {
            background: var(--light);
            padding: 65px 0;
        }

        .section-heading {
            text-align: center;
            margin-bottom: 40px;
        }

        .section-heading h2 {
            font-size: 36px;
            margin-bottom: 10px;
        }

        .section-heading p {
            color: var(--muted);
        }

        .feature-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 22px;
        }

        .feature {
            background: white;
            padding: 28px 22px;
            border-radius: 18px;
            text-align: center;
            border: 1px solid var(--border);
            box-shadow: 0 8px 25px rgba(44, 28, 90, .05);
        }

        .feature-icon {
            width: 65px;
            height: 65px;
            margin: 0 auto 17px;
            display: grid;
            place-items: center;
            border-radius: 18px;
            font-size: 29px;
            background: linear-gradient(135deg, #ffe274, #ff9b52);
        }

        .feature:nth-child(2) .feature-icon {
            background: linear-gradient(135deg, #78e7ff, #4d9df7);
        }

        .feature:nth-child(3) .feature-icon {
            background: linear-gradient(135deg, #ff8fc0, #e94f96);
        }

        .feature:nth-child(4) .feature-icon {
            background: linear-gradient(135deg, #80edaf, #35c979);
        }

        .feature h3 {
            margin-bottom: 8px;
        }

        .feature p {
            color: var(--muted);
            font-size: 14px;
        }

        /* PRODUCT TYPES */

        .products {
            padding: 75px 0;
        }

        .product-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 25px;
        }

        .product-card {
            border: 1px solid var(--border);
            border-radius: 20px;
            overflow: hidden;
            background: white;
            box-shadow: 0 10px 35px rgba(40,30,80,.07);
            transition: .25s ease;
        }

        .product-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(40,30,80,.12);
        }

        .product-colour {
            height: 150px;
            background: linear-gradient(135deg, #ffce3a, #ff743d);
            position: relative;
        }

        .product-card:nth-child(2) .product-colour {
            background: linear-gradient(135deg, #36c5e9, #5266f5);
        }

        .product-card:nth-child(3) .product-colour {
            background: linear-gradient(135deg, #ee55a2, #8339df);
        }

        .tape-shape {
            position: absolute;
            width: 75%;
            height: 45px;
            left: 12%;
            top: 52px;
            background: rgba(255,255,255,.9);
            border-radius: 5px;
            transform: rotate(-7deg);
            box-shadow: 0 7px 20px rgba(0,0,0,.18);
        }

        .product-info {
            padding: 25px;
        }

        .product-info h3 {
            font-size: 22px;
            margin-bottom: 10px;
        }

        .product-info p {
            color: var(--muted);
            margin-bottom: 17px;
        }

        .learn {
            color: var(--purple);
            font-weight: bold;
        }

        /* BENEFITS */

        .benefits {
            background: linear-gradient(135deg, #fff5d6, #ffe9f3);
            padding: 75px 0;
        }

        .benefit-layout {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 55px;
            align-items: center;
        }

        .benefits h2 {
            font-size: 38px;
            margin-bottom: 20px;
        }

        .benefits p {
            color: var(--muted);
        }

        .check-list {
            list-style: none;
            margin-top: 25px;
        }

        .check-list li {
            margin-bottom: 13px;
            font-weight: 600;
        }

        .check-list li:before {
            content: "✓";
            display: inline-grid;
            place-items: center;
            width: 25px;
            height: 25px;
            margin-right: 10px;
            border-radius: 50%;
            background: var(--green);
            color: white;
            font-size: 13px;
        }

        .colour-box {
            background: linear-gradient(135deg, #6536ee, #ec4991);
            color: white;
            padding: 45px;
            border-radius: 25px;
            box-shadow: 0 20px 50px rgba(95,52,190,.25);
        }

        .colour-box h3 {
            font-size: 27px;
            margin-bottom: 14px;
        }

        .colour-box p {
            color: rgba(255,255,255,.9);
        }

        /* APPLICATION */

        .application {
            padding: 75px 0;
        }

        .application-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 25px;
        }

        .application-item {
            padding: 28px;
            border-radius: 18px;
            background: #fff;
            border: 2px solid #eeeaf8;
        }

        .application-item span {
            font-size: 35px;
        }

        .application-item h3 {
            margin: 10px 0;
        }

        .application-item p {
            color: var(--muted);
            font-size: 15px;
        }

        /* SEO CONTENT */

        .seo-content {
            background: #f7f8fc;
            padding: 75px 0;
        }

        .seo-content article {
            max-width: 900px;
            margin: auto;
        }

        .seo-content h2 {
            font-size: 32px;
            margin: 35px 0 12px;
        }

        .seo-content h2:first-child {
            margin-top: 0;
        }

        .seo-content p {
            color: #555567;
            margin-bottom: 15px;
        }

        .seo-content strong {
            color: var(--dark);
        }

        /* FAQ */

        .faq {
            padding: 75px 0;
        }

        .faq-list {
            max-width: 850px;
            margin: auto;
        }

        details {
            border: 1px solid var(--border);
            border-radius: 12px;
            padding: 20px 22px;
            margin-bottom: 13px;
            background: white;
        }

        summary {
            cursor: pointer;
            font-weight: bold;
            font-size: 17px;
        }

        details p {
            margin-top: 13px;
            color: var(--muted);
        }

        /* CTA */

        .cta {
            padding: 75px 0;
            text-align: center;
            color: white;
            background: linear-gradient(135deg, #5f38e8, #d9469a);
        }

        .cta h2 {
            font-size: 40px;
            margin-bottom: 15px;
        }

        .cta p {
            max-width: 650px;
            margin: 0 auto 25px;
            opacity: .92;
        }

        /* FOOTER */

        footer {
            background: #202033;
            color: #d8d8e4;
            text-align: center;
            padding: 30px 20px;
            font-size: 14px;
        }

        /* RESPONSIVE */

        @media (max-width: 900px) {
            .feature-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .benefit-layout {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 650px) {
            .feature-grid,
            .product-grid,
            .application-grid {
                grid-template-columns: 1fr;
            }

            .hero {
                padding: 60px 0;
            }

            .intro,
            .products,
            .benefits,
            .application,
            .seo-content,
            .faq {
                padding: 55px 0;
            }

            h1 {
                font-size: 42px;
            }

            .hero p {
                font-size: 17px;
            }

            .section-heading h2,
            .benefits h2,
            .cta h2 {
                font-size: 30px;
            }
        }
    /* carpet end*/


/* =========================================================
OLFA CUTTERS PAGE
OpenCart Nice Theme
========================================================= */

.olfa-page {
width: 100%;
max-width: 1140px;
margin: 0 auto;
color: #333;
font-size: 15px;
line-height: 1.7;
}

.olfa-page .olfa-content {
width: 100%;
}

.olfa-page .olfa-hero {
width: 100%;
margin: 0 0 30px;
overflow: hidden;
border-radius: 4px;
}

.olfa-page .olfa-hero img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
}

.olfa-page h1 {
margin: 0 0 20px;
color: #222;
font-size: 32px;
font-weight: 600;
line-height: 1.3;
}

.olfa-page h2 {
margin: 35px 0 16px;
padding: 0 0 10px;
color: #222;
font-size: 25px;
font-weight: 600;
line-height: 1.35;
border-bottom: 1px solid #e5e5e5;
}

.olfa-page h3 {
margin: 0 0 8px;
color: #222;
font-size: 18px;
font-weight: 600;
line-height: 1.4;
}

.olfa-page p {
margin: 0 0 18px;
}

.olfa-page a {
color: #1e73be;
text-decoration: none;
}

.olfa-page a:hover {
color: #111;
text-decoration: underline;
}

.olfa-page .olfa-intro {
font-size: 16px;
}

.olfa-page .olfa-callout {
margin: 25px 0 30px;
padding: 20px 24px;
background: #f7f7f7;
border-left: 4px solid #222;
border-radius: 3px;
}

.olfa-page .olfa-callout strong {
display: block;
margin-bottom: 5px;
color: #222;
font-size: 17px;
}

.olfa-page .olfa-callout p {
margin-bottom: 0;
}

/* Product Cards */

.olfa-page .olfa-product-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
margin: 25px 0 35px;
}

.olfa-page .olfa-product-card {
display: block;
padding: 22px;
background: #fff;
border: 1px solid #e3e3e3;
border-radius: 5px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
transition: all .2s ease;
}

.olfa-page .olfa-product-card:hover {
color: inherit;
text-decoration: none;
border-color: #c8c8c8;
box-shadow: 0 5px 18px rgba(0, 0, 0, 0.09);
transform: translateY(-2px);
}

.olfa-page .olfa-product-card h3 {
color: #222;
}

.olfa-page .olfa-product-card p {
margin-bottom: 10px;
color: #666;
font-size: 14px;
line-height: 1.6;
}

.olfa-page .olfa-product-card span {
display: inline-block;
color: #1e73be;
font-size: 14px;
font-weight: 600;
}

/* Main Image */

.olfa-page .olfa-image {
margin: 30px 0;
text-align: center;
}

.olfa-page .olfa-image img {
display: block;
width: 100%;
max-width: 100%;
height: auto;
margin: 0 auto;
border-radius: 4px;
}

/* Benefits */

.olfa-page .olfa-benefits {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0 30px;
margin: 20px 0 30px;
padding: 0;
list-style: none;
}

.olfa-page .olfa-benefits li {
position: relative;
padding: 8px 0 8px 25px;
}

.olfa-page .olfa-benefits li:before {
content: "\2713";
position: absolute;
left: 0;
top: 8px;
font-weight: 700;
}

/* CTA */

.olfa-page .olfa-cta {
margin: 40px 0 10px;
padding: 30px;
text-align: center;
background: #f7f7f7;
border: 1px solid #ddd;
border-radius: 5px;
}

.olfa-page .olfa-cta h2 {
margin: 0 0 12px;
padding: 0;
border: 0;
}

.olfa-page .olfa-cta p {
max-width: 750px;
margin-right: auto;
margin-left: auto;
}

.olfa-page .olfa-phone {
color: #222;
font-size: 17px;
font-weight: 600;
}

.olfa-page .olfa-button {
display: inline-block;
margin-top: 5px;
padding: 12px 25px;
background: #222;
color: #fff !important;
border-radius: 4px;
font-weight: 600;
text-decoration: none !important;
transition: background .2s ease;
}

.olfa-page .olfa-button:hover {
background: #444;
color: #fff !important;
}

/* Tablet */

@media (max-width: 991px) {

```
.olfa-page {
    max-width: 100%;
}

.olfa-page h1 {
    font-size: 29px;
}

.olfa-page h2 {
    font-size: 23px;
}
```

}

/* Mobile */

@media (max-width: 767px) {

```
.olfa-page {
    font-size: 14px;
    line-height: 1.65;
}

.olfa-page h1 {
    font-size: 26px;
}

.olfa-page h2 {
    margin-top: 28px;
    font-size: 21px;
}

.olfa-page .olfa-intro {
    font-size: 15px;
}

.olfa-page .olfa-product-grid {
    grid-template-columns: 1fr;
    gap: 15px;
}

.olfa-page .olfa-product-card {
    padding: 18px;
}

.olfa-page .olfa-benefits {
    grid-template-columns: 1fr;
}

.olfa-page .olfa-callout {
    padding: 18px;
}

.olfa-page .olfa-cta {
    padding: 25px 18px;
}

.olfa-page .olfa-button {
    display: block;
    width: 100%;
}
```

}


/* add custom CSS 31-08-26 End */


/* <======== added Related prods layout 31-08-26 Start ==========> */

/* ==========================================================
KBT - NICE THEME
RELATED PRODUCTS / PRODUCT GRID
========================================================== */

/* Related products heading */
#content .product-layout + h3,
#content h3 + .row {
clear: both;
}

/* ----------------------------------------------------------
PRODUCT GRID
---------------------------------------------------------- */

/* Make every product column equal height */
#content .product-layout {
display: flex;
margin-bottom: 30px;
}

/* ----------------------------------------------------------
PRODUCT CARD
---------------------------------------------------------- */

#content .product-layout .product-thumb {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
background: #fff;
border: 1px solid #e5e5e5;
border-radius: 4px;
overflow: hidden;

```
transition:
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
```

}

/* Card hover */
#content .product-layout .product-thumb:hover {
border-color: #d5d5d5;
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.10);
transform: translateY(-2px);
}

/* ----------------------------------------------------------
PRODUCT IMAGE
---------------------------------------------------------- */

#content .product-layout .product-thumb .image {
width: 100%;
height: 210px;
display: flex;
align-items: center;
justify-content: center;

```
margin: 0;
padding: 15px;

background: #fff;
overflow: hidden;
```

}

#content .product-layout .product-thumb .image a {
width: 100%;
height: 100%;

```
display: flex;
align-items: center;
justify-content: center;
```

}

#content .product-layout .product-thumb .image img {
width: auto;
max-width: 100%;
height: auto;
max-height: 180px;

```
object-fit: contain;

margin: 0 auto;

transition: transform 0.25s ease;
```

}

/* Image zoom on hover */
#content .product-layout .product-thumb:hover .image img {
transform: scale(1.04);
}

/* ----------------------------------------------------------
PRODUCT INFORMATION
---------------------------------------------------------- */

#content .product-layout .product-thumb .caption {
flex: 1;

```
display: flex;
flex-direction: column;

padding: 15px 16px 12px;
```

}

/* Product title */
#content .product-layout .product-thumb .caption h4 {
min-height: 48px;

```
margin: 0 0 10px;

font-size: 15px;
line-height: 1.45;
font-weight: 600;
```

}

#content .product-layout .product-thumb .caption h4 a {
color: #333;
text-decoration: none;

```
transition: color 0.2s ease;
```

}

#content .product-layout .product-thumb .caption h4 a:hover {
color: #1d73a8;
}

/* Product description */
#content .product-layout .product-thumb .caption p {
margin: 0 0 10px;

```
color: #666;

font-size: 13px;
line-height: 1.5;
```

}

/* ----------------------------------------------------------
PRICE
---------------------------------------------------------- */

#content .product-layout .product-thumb .price {
margin-top: auto;
margin-bottom: 12px;

```
color: #222;

font-size: 18px;
line-height: 1.3;
font-weight: 700;
```

}

#content .product-layout .product-thumb .price-new {
font-weight: 700;
}

#content .product-layout .product-thumb .price-old {
margin-right: 6px;

```
color: #999;

font-size: 14px;
font-weight: 400;
text-decoration: line-through;
```

}

#content .product-layout .product-thumb .price-tax {
display: block;

```
margin-top: 3px;

color: #777;

font-size: 11px;
font-weight: 400;
```

}

/* ----------------------------------------------------------
ADD TO CART / BUTTON AREA
---------------------------------------------------------- */

#content .product-layout .product-thumb .button-group {
display: flex;

```
width: 100%;

margin: 0;
padding: 0;

border-top: 1px solid #e8e8e8;

background: #fafafa;
```

}

#content .product-layout .product-thumb .button-group button,
#content .product-layout .product-thumb .button-group .btn {
flex: 1;

```
min-height: 42px;

margin: 0;
padding: 10px 8px;

border: 0;
border-radius: 0;

font-size: 13px;
font-weight: 600;

box-shadow: none;
```

}

#content .product-layout .product-thumb .button-group button:hover,
#content .product-layout .product-thumb .button-group .btn:hover {
opacity: 0.9;
}

/* ----------------------------------------------------------
RELATED PRODUCTS - 4 PER ROW
DESKTOP
---------------------------------------------------------- */

@media (min-width: 1200px) {

```
#content .product-layout {
    width: 25%;
    flex: 0 0 25%;
}
```

}

/* ----------------------------------------------------------
TABLET - 3 PER ROW
---------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1199px) {

```
#content .product-layout {
    width: 33.333333%;
    flex: 0 0 33.333333%;
}

#content .product-layout .product-thumb .image {
    height: 190px;
}

#content .product-layout .product-thumb .image img {
    max-height: 160px;
}
```

}

/* ----------------------------------------------------------
MOBILE - 2 PER ROW
---------------------------------------------------------- */

@media (max-width: 767px) {

```
#content .product-layout {
    width: 50%;
    flex: 0 0 50%;

    margin-bottom: 15px;
}

#content .product-layout .product-thumb .image {
    height: 150px;
    padding: 10px;
}

#content .product-layout .product-thumb .image img {
    max-height: 130px;
}

#content .product-layout .product-thumb .caption {
    padding: 10px;
}

#content .product-layout .product-thumb .caption h4 {
    min-height: 0;

    font-size: 14px;
    line-height: 1.35;
}

#content .product-layout .product-thumb .caption p {
    display: none;
}

#content .product-layout .product-thumb .price {
    font-size: 16px;
}

#content .product-layout .product-thumb .button-group button,
#content .product-layout .product-thumb .button-group .btn {
    min-height: 40px;

    padding: 9px 5px;

    font-size: 12px;
}
```

}

/* ----------------------------------------------------------
VERY SMALL MOBILE - SINGLE COLUMN
---------------------------------------------------------- */

@media (max-width: 480px) {

```
#content .product-layout {
    width: 100%;
    flex: 0 0 100%;
}

#content .product-layout .product-thumb {
    flex-direction: row;
    align-items: stretch;
}

#content .product-layout .product-thumb .image {
    width: 38%;
    height: auto;
    min-height: 130px;
    flex: 0 0 38%;

    padding: 8px;
}

#content .product-layout .product-thumb .image img {
    max-height: 115px;
}

#content .product-layout .product-thumb .caption {
    width: 62%;
    flex: 0 0 62%;

    padding: 12px;
}
```

}

/* ----------------------------------------------------------
CLEAN UP PRODUCT GRID FLOATING
---------------------------------------------------------- */

#content .product-layout:before,
#content .product-layout:after {
display: none;
}

/* ----------------------------------------------------------
EQUAL HEIGHT PRODUCT CARDS
---------------------------------------------------------- */

#content .product-layout .product-thumb .caption h4 {
overflow-wrap: break-word;
word-wrap: break-word;
}

/* ----------------------------------------------------------
NICE THEME COMPATIBILITY
---------------------------------------------------------- */

#content .product-layout .product-thumb .rating {
margin-bottom: 8px;
}

#content .product-layout .product-thumb .rating .fa {
font-size: 12px;
}

/* Prevent images from overflowing */
#content .product-layout img {
max-width: 100%;
}

/* Remove unwanted default margins */
#content .product-layout .product-thumb p {
margin-top: 0;
}

/* Keep product cards aligned */
#content .row + .row {
clear: both;
}



/* <========= added Related Prods layout END ===========> */

#quickcheckoutconfirm .quickcheckout-cart .quantity input[name^="quantity["] {
  text-align: center;
  width: auto;
  min-width: 40px;
}


/* Stair Runner Carpet Tape Banner START */
.stair-runner-banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0 0 30px;
}

.stair-runner-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.stair-runner-banner-text {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    transform: translate(-50%, -50%);
    text-align: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.58);
}

.stair-runner-banner-text h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
}

.stair-runner-banner-text p {
    margin: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
}

@media (max-width: 767px) {
    .stair-runner-banner-text {
        width: 94%;
        padding: 12px 10px;
    }

    .stair-runner-banner-text h2 {
        font-size: 20px;
    }

    .stair-runner-banner-text p {
        font-size: 14px;
    }
}

/* Stair Runner Carpet Tape Banner END */
