/* =====================================================
   KELLY'S FOOTWEAR — LIVE MIGRATION MASTER CSS
   Prepared from staging master on 22 July 2026.

   The valid legacy live rules were audited against this file.
   They are already included or intentionally superseded.
   Do not append the old live CSS beneath this file.
===================================================== */

/* =====================================================
   KELLY'S FOOTWEAR 2026 MASTER CSS
   Additional CSS Production Version 8.0
===================================================== */

:root {
  --kellys-navy:#17365D;
  --kellys-dark-navy:#0F234A;
  --kellys-gold:#B89A4B;
  --kellys-sale-gold:#BE9426;
  --kellys-charcoal:#2B2B2B;
  --kellys-soft-grey:#F5F5F3;
  --kellys-white:#FFFFFF;
  --kellys-sale-red:#C0392B;
}

/* GENERAL */
h1 { font-weight:300; }

/* CHECKOUT / PAYMENT */
.woocommerce #payment div.payment_box p,
.woocommerce-page #payment div.payment_box p {
  padding:0 0 10px 0;
}

#afterpay-checkout-instalment-info-container .img-wrapper {
  padding-bottom:15px;
}

#payment > ul > li.wc_payment_method.payment_method_afterpay > div > ul > li > p {
  text-align:center;
}

/* WOO CLEANUP */
span.onsale,
.woocommerce span.onsale {
  display:none !important;
}

h2.woocommerce-loop-product__title + h2.woocommerce-loop-product__title {
  display:none !important;
}

.single-product span.onsale,
.single-product .onsale,
.single-product .product-badge,
.single-product .product-label,
.single-product .new-badge {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* HOMEPAGE */
.home .entry-header,
.home .page-header,
.home .page-title,
.home h1.entry-title {
  display:none !important;
}

.home .site-content,
.home .content-area {
  padding-top:0 !important;
}

.home .site-content {
  margin-top:-20px !important;
}

.home .main-content > .vc_row:first-child {
  margin-top:-15px !important;
}

.home .main-content > .vc_row:nth-child(2) {
  margin-top:-35px !important;
}

.home .main-content > .vc_row:nth-child(3) {
  margin-top:-15px !important;
}

/* TOP ANNOUNCEMENT BAR */
#site-top-bar {
  background:var(--kellys-navy) !important;
}

.site-top-bar-inner {
  display:flex;
  align-items:center;
  position:relative;
  min-height:38px;
}

.site-top-message {
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  text-align:center;
}

.site-top-message,
.site-top-message * {
  color:#fff !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.5px;
  text-transform:uppercase;
}

.topbar-menu {
  margin-left:auto;
}

/* HEADER */
.site-header {
  margin-bottom:0 !important;
}

.top-headers-wrapper .site-header {
  padding-top:5px !important;
  padding-bottom:0 !important;
}

.site-header .main-navigation a {
  transition:all .25s ease;
}

.site-header .main-navigation a:hover {
  color:var(--kellys-gold);
}

.site-header .main-navigation > ul > li {
  padding:0 14px;
}

/* PRODUCT GRID CARDS */
.woocommerce ul.products {
  display:flex;
  flex-wrap:wrap;
}

.woocommerce ul.products li.product {
  background:#fff;
  border-radius:20px;
  padding:22px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  transition:all .3s ease;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column;
}

.woocommerce ul.products li.product:hover {
  transform:translateY(-8px);
  box-shadow:0 18px 40px rgba(0,0,0,.14);
}

.woocommerce ul.products li.product img {
  width:100%;
  max-height:320px;
  object-fit:contain;
  margin-bottom:18px !important;
  border-radius:12px;
  transition:transform .35s ease;
}

.woocommerce ul.products li.product:hover img {
  transform:scale(1.04);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  color:#222 !important;
  margin-top:14px;
  min-height:42px;
}

/* PRODUCT GRID PRICING */
.woocommerce ul.products li.product .price {
  display:grid !important;
  grid-template-columns:115px auto;
  row-gap:10px;
  column-gap:10px;
  align-items:center;
  margin:16px 0 22px !important;
  line-height:1.2;
  font-size:16px !important;
  font-weight:700;
  color:var(--kellys-gold) !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins {
  display:contents !important;
  text-decoration:none !important;
  opacity:1 !important;
}

.woocommerce ul.products li.product .price del:before {
  content:"RRP";
  grid-column:1;
  color:#999;
  font-size:13px;
  font-weight:600;
  letter-spacing:1px;
}

.woocommerce ul.products li.product .price del .amount {
  grid-column:2;
  color:#888 !important;
  font-size:18px !important;
  font-weight:600 !important;
  text-decoration:line-through !important;
  text-decoration-color:var(--kellys-sale-red) !important;
  text-decoration-thickness:2px !important;
}

.woocommerce ul.products li.product .price ins:before {
  content:"Kelly's Price";
  grid-column:1;
  color:var(--kellys-navy);
  font-size:13px;
  font-weight:700;
}

.woocommerce ul.products li.product .price ins .amount,
.woocommerce ul.products li.product .price .amount {
  grid-column:2;
  color:var(--kellys-gold) !important;
  font-size:22px !important;
  font-weight:800 !important;
}

/* PRODUCT BUTTONS */
.woocommerce ul.products li.product .button {
  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:none !important;
  border-radius:8px !important;
  width:100%;
  padding:11px 14px !important;
  font-size:12px !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.7px !important;
  transition:all .3s ease;
  text-align:center;
  margin-top:auto !important;
}

.woocommerce ul.products li.product .button:hover {
  background:var(--kellys-gold) !important;
  color:#fff !important;
}

/* CATEGORY CARDS */
.product-category {
  overflow:hidden;
  border-radius:22px;
  transition:transform .25s ease, box-shadow .25s ease;
}

.product-category a {
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:22px;
}

.product-category a:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(23,54,93,.12), rgba(23,54,93,.12));
  pointer-events:none;
  z-index:1;
}

.product-category .woocommerce-loop-category__title,
.product-category h2 {
  position:absolute !important;
  left:20px !important;
  bottom:28px !important;
  top:auto !important;
  display:inline-block !important;
  width:auto !important;
  max-width:82%;
  margin:0 !important;
  padding:11px 18px !important;
  background:#fff !important;
  color:var(--kellys-navy) !important;
  border-radius:12px;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:-.2px !important;
  text-shadow:none !important;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
  z-index:50 !important;
  opacity:1 !important;
  visibility:visible !important;
}

.product-category .count,
.product-category mark {
  display:none !important;
}

.product-category img {
  transition:transform .35s ease;
}

@media (min-width:769px) {
  .product-category:hover {
    transform:translateY(-4px);
    box-shadow:0 14px 34px rgba(0,0,0,.13);
  }

  .product-category:hover img {
    transform:scale(1.04);
  }
}

/* BRAND TILES */
.brand-tiles .wpb_single_image {
  border-radius:16px;
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.035);
  transition:all .3s ease;
  margin-bottom:14px;
}

.brand-tiles .wpb_single_image img {
  display:block;
  width:100%;
  height:auto;
  border-radius:16px;
  transition:transform .3s ease, filter .3s ease;
}

.brand-tiles .wpb_single_image:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}

.brand-tiles .wpb_single_image:hover img {
  transform:scale(1.03);
  filter:brightness(1.02);
}

/* MEGA MENU DESKTOP */
#mega-menu-wrap-main-navigation,
#mega-menu-wrap-main-navigation #mega-menu-main-navigation {
  background:var(--kellys-navy) !important;
}

#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-item > a.mega-menu-link {
  background:var(--kellys-navy) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
  padding:0 13px !important;
}

#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-item:hover > a.mega-menu-link,
#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-current-menu-item > a.mega-menu-link {
  background:#102744 !important;
  color:var(--kellys-gold) !important;
}

#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu {
  background:#fff !important;
  width:1180px !important;
  max-width:1180px !important;
  padding:50px 42px 34px !important;
  min-height:360px !important;
  box-shadow:0 20px 50px rgba(0,0,0,.14) !important;
  border-top:3px solid var(--kellys-gold) !important;
}

#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item {
  padding:0 34px !important;
}

#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
  color:var(--kellys-gold) !important;
  font-size:20px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  line-height:1.2 !important;
  margin-bottom:18px !important;
  padding:0 !important;
  background:transparent !important;
}

#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
  color:#2f2f2f !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.8 !important;
  padding:4px 0 !important;
  background:transparent !important;
  text-transform:none !important;
  letter-spacing:.2px !important;
  border-bottom:none !important;
  margin-bottom:0 !important;
  transition:all .2s ease;
}

#mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover {
  color:var(--kellys-gold) !important;
  padding-left:5px !important;
}

/* MEGA MENU IMAGE CARDS */
.kellys-mega-image-card {
  width:210px !important;
  height:300px !important;
  border-radius:16px;
  overflow:hidden;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  position:relative;
  margin-left:0 !important;
  margin-top:-12px !important;
  box-shadow:0 16px 38px rgba(0,0,0,.16), 0 3px 10px rgba(0,0,0,.08);
  transition:all .25s ease;
}

.kellys-mega-image-card:hover {
  transform:translateY(-3px);
  box-shadow:0 22px 50px rgba(0,0,0,.20), 0 8px 18px rgba(0,0,0,.12);
}

.kellys-mega-image-overlay {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  background:linear-gradient(to top, rgba(8,25,48,.86), rgba(8,25,48,.55), rgba(8,25,48,.08));
}

.kellys-mega-image-overlay span {
  color:var(--kellys-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:8px;
}

.kellys-mega-image-overlay h3 {
  color:#fff;
  font-size:29px;
  font-weight:700;
  line-height:1;
  margin:0 0 16px;
}

.kellys-mega-image-overlay a {
  display:inline-block;
  width:fit-content;
  min-width:135px;
  text-align:center;
  padding:9px 16px;
  border-radius:30px;
  background:var(--kellys-navy);
  color:#fff !important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:.25s ease;
}

.kellys-mega-image-overlay a:hover {
  background:var(--kellys-gold);
  color:var(--kellys-navy) !important;
}

#mega-menu-wrap-main-navigation .mega-menu-grid img {
  display:block;
  width:100%;
  height:auto;
  border-radius:16px !important;
  overflow:hidden;
  box-shadow:0 16px 38px rgba(0,0,0,.16), 0 3px 10px rgba(0,0,0,.08);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

#mega-menu-wrap-main-navigation .mega-menu-grid a:hover img {
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 22px 50px rgba(0,0,0,.20), 0 8px 18px rgba(0,0,0,.12);
  filter:brightness(1.03);
}

#mega-menu-wrap-main-navigation .mega-menu-grid .widget_media_image {
  margin-bottom:18px !important;
}

#mega-menu-wrap-main-navigation .mega-menu-grid .widget_text {
  min-height:68px;
  display:flex;
  align-items:flex-end;
  margin-bottom:16px !important;
}

#mega-menu-wrap-main-navigation .mega-menu-grid .widget_text h3,
#mega-menu-wrap-main-navigation .mega-menu-grid .widget_text h4,
#mega-menu-wrap-main-navigation .mega-menu-grid .widget_text p {
  color:var(--kellys-gold) !important;
  font-size:20px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  line-height:1.2 !important;
  margin:0 0 22px !important;
  padding:0 !important;
}

.mega-shop-link {
  margin-top:10px;
}

.mega-shop-link a {
  color:var(--kellys-navy);
  font-weight:600;
  font-size:14px;
  text-decoration:none;
}

.mega-shop-link a:hover {
  color:var(--kellys-gold);
}

/* MOBILE MEGA MENU */
@media (max-width:768px) {
  #mega-menu-wrap-main-navigation,
  #mega-menu-wrap-main-navigation #mega-menu-main-navigation,
  #mega-menu-wrap-main-navigation .mega-menu-toggle {
    background:var(--kellys-navy) !important;
  }

  #mega-menu-wrap-main-navigation .mega-menu-toggle {
    min-height:56px !important;
    border-radius:0 !important;
  }

  #mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-item > a.mega-menu-link {
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:56px !important;
    padding:14px 24px !important;
    background:var(--kellys-navy) !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:800 !important;
    letter-spacing:.3px !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
    box-sizing:border-box !important;
  }

  #mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-toggle-on > a.mega-menu-link {
    color:var(--kellys-gold) !important;
    border-bottom:2px solid var(--kellys-gold) !important;
  }

  #mega-menu-wrap-main-navigation .mega-indicator {
    margin-left:auto !important;
    right:auto !important;
    position:static !important;
  }

  #mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu {
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:24px 28px !important;
    background:#fff !important;
    border-top:none !important;
    box-shadow:none !important;
  }

  #mega-menu-wrap-main-navigation #mega-menu-main-navigation ul.mega-sub-menu,
  #mega-menu-wrap-main-navigation #mega-menu-main-navigation ul.mega-sub-menu li,
  #mega-menu-wrap-main-navigation #mega-menu-main-navigation ul.mega-sub-menu ul {
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
  }

  #mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item {
    padding:0 !important;
    margin:0 0 18px !important;
  }

  #mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    display:block !important;
    width:100% !important;
    padding:16px 0 8px !important;
    margin:0 !important;
    background:transparent !important;
    color:var(--kellys-gold) !important;
    font-size:15px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:1.2px !important;
    line-height:1.25 !important;
    border-bottom:1px solid #eee !important;
  }

  #mega-menu-wrap-main-navigation #mega-menu-main-navigation > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
    display:block !important;
    padding:10px 0 !important;
    background:transparent !important;
    color:#222 !important;
    font-size:18px !important;
    font-weight:500 !important;
    line-height:1.35 !important;
    text-transform:none !important;
    letter-spacing:.2px !important;
    border-bottom:none !important;
  }

  .kellys-mega-image-card {
    width:100% !important;
    max-width:270px !important;
    height:330px !important;
    margin:24px auto 8px !important;
    border-radius:18px !important;
  }

  #mobiles-menu-offcanvas .mega-menu-toggle {
    display:none !important;
  }

  #mobiles-menu-offcanvas #mega-menu-main-navigation {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    margin:0 !important;
  }

  #mobiles-menu-offcanvas,
  #offCanvasRight1 #mobiles-menu-offcanvas,
  .off-canvas #mobiles-menu-offcanvas {
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }

  #mobiles-menu-offcanvas #mega-menu-wrap-main-navigation,
  #offCanvasRight1 #mega-menu-wrap-main-navigation,
  #offCanvasRight1 #mega-menu-main-navigation,
  .off-canvas #mega-menu-wrap-main-navigation,
  .off-canvas #mega-menu-main-navigation {
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  #offCanvasRight1 #mega-menu-main-navigation > li > a.mega-menu-link,
  .off-canvas #mega-menu-main-navigation > li > a.mega-menu-link {
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

/* SINGLE PRODUCT PAGE */
.single-product .product_infos .price {
  display:grid !important;
  grid-template-columns:170px auto;
  row-gap:8px;
  column-gap:12px;
  align-items:center;
  margin:18px 0 24px !important;
  line-height:1.2;
}

.single-product .product_infos .price del,
.single-product .product_infos .price ins {
  display:contents !important;
  text-decoration:none !important;
  opacity:1 !important;
}

.single-product .product_infos .price del:before {
  content:"RRP";
  grid-column:1;
  color:#999;
  font-size:16px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}

.single-product .product_infos .price del .amount {
  grid-column:2;
  color:#888 !important;
  font-size:18px !important;
  font-weight:600 !important;
  text-decoration:line-through !important;
  text-decoration-color:var(--kellys-sale-red) !important;
  text-decoration-thickness:2px !important;
}

.single-product .product_infos .price ins:before {
  content:"Kelly's Price";
  grid-column:1;
  color:#8a8a8a;
  font-size:17px;
  font-weight:800;
}

.single-product .product_infos .price ins .amount {
  grid-column:2;
  color:var(--kellys-gold) !important;
  font-size:30px !important;
  font-weight:900 !important;
}

.single-product .product_infos .price ins {
  text-decoration:none !important;
}

.single-product select,
.variations select {
  height:52px;
  border:1px solid #d8d8d8;
  border-radius:6px;
  padding:0 18px;
  font-size:15px;
  background:#fff;
}

.single-product select:hover {
  border-color:var(--kellys-gold);
}

.single-product select:focus {
  border-color:var(--kellys-navy);
  box-shadow:0 0 0 3px rgba(23,54,93,.08);
}

.reset_variations,
.product_meta {
  display:none !important;
}

.single-product form.cart {
  display:block !important;
}

.single-product .quantity,
.quantity.custom {
  display:flex !important;
  justify-content:center;
  align-items:center;
  float:none !important;
  height:52px;
  border:1px solid #e7e7e7;
  border-radius:10px;
  overflow:hidden;
  margin:0 auto 15px auto !important;
}

.single-product .quantity .minus,
.single-product .quantity .plus {
  width:42px;
  height:52px;
  line-height:52px;
  color:var(--kellys-navy) !important;
  font-size:20px !important;
  font-weight:700;
  background:#fff !important;
}

.single-product .quantity input.qty {
  width:42px !important;
  height:52px !important;
  border:none !important;
  text-align:center;
  font-size:20px;
  font-weight:600;
  color:var(--kellys-navy);
  background:#fff;
}

.single-product .quantity .minus:hover,
.single-product .quantity .plus:hover {
  background:#f8f4e8 !important;
  color:var(--kellys-gold) !important;
}

.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.single-product .cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed,
.single-product .single_add_to_cart_button.alt.disabled,
.single-product .single_add_to_cart_button.alt.wc-variation-selection-needed {
  display:block !important;
  width:100% !important;
  max-width:520px;
  min-height:56px;
  height:56px;
  margin-top:8px !important;
  background:var(--kellys-dark-navy) !important;
  border:2px solid var(--kellys-dark-navy) !important;
  border-radius:8px !important;
  color:#fff !important;
  opacity:1 !important;
  font-size:16px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  transition:.25s ease;
}

.single-product .single_add_to_cart_button:hover,
.single-product button.single_add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background:var(--kellys-gold) !important;
  border-color:var(--kellys-gold) !important;
  color:#fff !important;
}

.single-product .stock {
  color:#2f7d32 !important;
  font-weight:700;
  margin:18px 0;
}

/* STOCK MESSAGE */
.kellys-stock-message {
  color:var(--kellys-navy) !important;
  font-weight:700 !important;
  margin:18px 0 16px !important;
  line-height:1.3;
}

.kellys-stock-message .stock-dot {
  display:inline-block;
  width:8px;
  height:8px;
  background:#2f9e44;
  border-radius:50%;
  margin-right:8px;
}

.kellys-stock-message small {
  color:#666;
  font-size:13px;
  font-weight:400;
  margin-left:21px;
}

/* SIZE GUIDE BUTTON */
.single-product a[href*="size-chart"] {
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  margin:10px 0 14px;
  padding:12px 20px;
  background:#fff;
  border:2px solid var(--kellys-navy);
  border-radius:10px;
  color:var(--kellys-navy) !important;
  font-size:0 !important;
  font-weight:700;
  text-decoration:none !important;
  transition:.25s;
}

.single-product a[href*="size-chart"]::before {
  content:"📏";
  font-size:18px;
}

.single-product a[href*="size-chart"]::after {
  content:"Find Your Size";
  font-size:16px;
}

.single-product a[href*="size-chart"]:hover {
  background:var(--kellys-navy);
  color:#fff !important;
}

/* PRODUCT TRUST BOXES */
.kellys-product-trust {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:20px 0 28px !important;
  border:1px solid #eee;
  border-top:4px solid var(--kellys-gold);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
  transition:.3s ease;
}

.kellys-product-trust:hover {
  box-shadow:0 14px 32px rgba(0,0,0,.08);
}

.kellys-trust-item {
  padding:22px 20px;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:#fff !important;
}

.kellys-trust-item:nth-child(odd) {
  border-right:1px solid #eee !important;
}

.kellys-trust-item:nth-child(1),
.kellys-trust-item:nth-child(2) {
  border-bottom:1px solid #eee !important;
}

.kellys-trust-item span {
  font-size:20px;
  margin-bottom:7px;
}

.kellys-trust-item strong {
  color:var(--kellys-navy);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.7px;
}

.kellys-trust-item small {
  color:#666;
  font-size:12.5px;
  line-height:1.4;
}

/* BEROCKET NEW BADGE */
.br_alabel.berocket_alabel_id_27370 {
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

.br_alabel.berocket_alabel_id_27370 > span {
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(180deg,#214977 0%,#17365D 100%) !important;
  border-radius:8px !important;
  min-height:24px !important;
  padding:6px 14px 6px 25px !important;
  box-shadow:0 3px 8px rgba(0,0,0,.16) !important;
}

.br_alabel.berocket_alabel_id_27370 > span i {
  display:none !important;
}

.br_alabel.berocket_alabel_id_27370 b {
  color:#fff !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
}

.br_alabel.berocket_alabel_id_27370 > span:before {
  content:"";
  position:absolute;
  left:9px;
  top:50%;
  width:5px;
  height:5px;
  transform:translateY(-50%);
  background:#fff;
  border-radius:50%;
}

/* BEROCKET SALE BADGE */
.br_alabel.berocket_alabel_id_8956 {
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

.br_alabel.berocket_alabel_id_8956 > span {
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--kellys-sale-gold) !important;
  border-radius:8px !important;
  min-height:24px !important;
  padding:5px 13px 5px 23px !important;
  box-shadow:0 3px 8px rgba(0,0,0,.16) !important;
}

.br_alabel.berocket_alabel_id_8956 > span i {
  display:none !important;
}

.br_alabel.berocket_alabel_id_8956 b {
  color:#fff !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
}

.br_alabel.berocket_alabel_id_8956 > span:before {
  content:"";
  position:absolute;
  left:9px;
  top:50%;
  width:5px;
  height:5px;
  transform:translateY(-50%);
  background:#fff;
  border-radius:50%;
}

/* FAQ / HELP CENTRE */
.page .wpb_text_column h2,
.page .wpb_text_column h3,
.entry-content h2,
.entry-content h3,
.wpb_wrapper h2,
.wpb_wrapper h3,
.wpb_wrapper h4,
.page .vc_custom_heading {
  color:var(--kellys-gold) !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:20px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:1.4px !important;
  line-height:1.2 !important;
  margin-top:42px !important;
  margin-bottom:18px !important;
}

.wpb_accordion {
  border-radius:14px;
  overflow:hidden;
}

.wpb_accordion .wpb_accordion_wrapper {
  border-radius:14px !important;
  overflow:hidden;
  border:1px solid #e8e8e8;
}

.wpb_accordion .wpb_accordion_header {
  background:#fff !important;
  border-bottom:1px solid #e8e8e8 !important;
  margin:0 !important;
}

.wpb_accordion .wpb_accordion_header a {
  color:var(--kellys-navy) !important;
  font-family:inherit !important;
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:.2px !important;
  padding:16px 22px 16px 54px !important;
}

.wpb_accordion .wpb_accordion_header.ui-state-active a,
.wpb_accordion .wpb_accordion_header a:hover,
.wpb_accordion .wpb_accordion_header:hover a {
  color:var(--kellys-gold) !important;
}

.wpb_accordion .ui-accordion-header-icon {
  left:22px !important;
  color:var(--kellys-gold) !important;
}

.wpb_accordion .wpb_accordion_content {
  background:#fbfbfb !important;
  color:#333 !important;
  font-size:15px !important;
  line-height:1.75 !important;
  padding:18px 22px !important;
}

.vc_tta-controls-icon::before,
.vc_tta-controls-icon::after {
  border-color:var(--kellys-gold) !important;
}

.faq-section {
  margin:50px 0 20px;
}

.page .wpb_text_column p {
  font-size:15px;
  line-height:1.7;
}

/* SIZE GUIDE TABLES */
.page table:not(.shop_table):not(.woocommerce-table):not(.woocommerce-checkout-review-order-table) {
  width:75% !important;
  margin:18px auto 34px !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden !important;
  border-radius:14px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}

.page table:not(.shop_table):not(.woocommerce-table):not(.woocommerce-checkout-review-order-table) thead th,
.page table:not(.shop_table):not(.woocommerce-table):not(.woocommerce-checkout-review-order-table) tr:first-child th {
  background:var(--kellys-navy) !important;
  color:#fff !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.8px !important;
  padding:13px 16px !important;
}

.page table:not(.shop_table):not(.woocommerce-table):not(.woocommerce-checkout-review-order-table) td {
  padding:10px 16px !important;
  border-bottom:1px solid #eee !important;
  text-align:center !important;
}

.page table:not(.shop_table):not(.woocommerce-table):not(.woocommerce-checkout-review-order-table) tbody tr:nth-child(even) td {
  background:#fafafa !important;
}

.page table:not(.shop_table):not(.woocommerce-table):not(.woocommerce-checkout-review-order-table) tbody tr:hover td {
  background:#f8f4e8 !important;
  transition:.2s ease;
}

.page table:not(.shop_table):not(.woocommerce-table):not(.woocommerce-checkout-review-order-table) tr:last-child td {
  border-bottom:none !important;
}

.page .wpb_wrapper h3:after,
.page .wpb_wrapper h4:after {
  content:"";
  display:block;
  width:80px;
  height:2px;
  background:var(--kellys-gold);
  margin-top:10px;
}

.page .wpb_wrapper p strong:first-child {
  color:var(--kellys-navy);
}

/* FOOTER */
.kellys-footer-brand,
.kellys-footer-columns {
  background:var(--kellys-navy) !important;
}

.kellys-footer-brand {
  text-align:center;
  padding:50px 20px 20px !important;
}

.kellys-footer-brand img {
  max-width:240px !important;
  height:auto !important;
}

.kellys-footer-brand * {
  color:#fff !important;
}

.kellys-footer-brand:after {
  content:"";
  display:block;
  width:140px;
  height:1px;
  background:var(--kellys-gold);
  margin:28px auto 0;
}

.kellys-footer-columns {
  padding:10px 10% 70px !important;
}

.kellys-footer-columns * {
  color:#fff !important;
}

.kellys-footer-columns .footer-title {
  color:var(--kellys-gold) !important;
  font-size:18px !important;
  letter-spacing:2px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  border-bottom:2px solid var(--kellys-gold) !important;
  display:inline-block !important;
  padding-bottom:10px !important;
  margin-bottom:18px !important;
}

.kellys-footer-columns p,
.kellys-footer-columns a {
  font-size:16px !important;
  line-height:1.9 !important;
  text-decoration:none !important;
}

.kellys-footer-columns a:hover {
  color:var(--kellys-gold) !important;
}

.footer-icon {
  display:inline-flex;
  width:22px;
  height:22px;
  margin-right:10px;
  vertical-align:middle;
  color:var(--kellys-gold) !important;
}

.site-footer {
  display:none !important;
}

/* ARCHIVE FILTER / SORT BAR */
@media (max-width:768px) {
  .woocommerce .shop-tools,
  .woocommerce .catalog-ordering,
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count {
    margin:0 !important;
  }

  .woocommerce .shop-tools {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:22px 22px 18px !important;
    border-bottom:1px solid #f0f0f0 !important;
  }

  .woocommerce .shop-tools .filters_button,
  .woocommerce .shop-tools .filter-button,
  .woocommerce .shop-tools .woocommerce-ordering select,
  .woocommerce .woocommerce-ordering select {
    height:42px !important;
    border-radius:999px !important;
    border:1px solid #e7e7e7 !important;
    background:#fff !important;
    color:var(--kellys-navy) !important;
    font-size:13px !important;
    font-weight:800 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    box-shadow:0 6px 18px rgba(0,0,0,.045) !important;
  }

  .woocommerce .shop-tools .filters_button,
  .woocommerce .shop-tools .filter-button {
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
  }

  .woocommerce .woocommerce-ordering select {
    max-width:190px !important;
    padding:0 38px 0 16px !important;
  }
}

/* MOBILE PRODUCT CARDS */
@media (max-width:768px) {
  .woocommerce ul.products {
    display:block !important;
    padding:0 18px !important;
    margin:0 !important;
  }

  .woocommerce ul.products li.product {
    width:100% !important;
    max-width:390px !important;
    margin:0 auto 28px !important;
    padding:22px 26px 26px !important;
    float:none !important;
    clear:both !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border-radius:20px !important;
    box-shadow:0 8px 24px rgba(0,0,0,.055) !important;
    overflow:visible !important;
  }

  .woocommerce ul.products li.product .product_thumbnail,
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    width:100% !important;
    display:block !important;
    text-align:center !important;
  }

  .woocommerce ul.products li.product img {
    width:100% !important;
    max-width:315px !important;
    max-height:285px !important;
    object-fit:contain !important;
    margin:0 auto 18px !important;
    display:block !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2,
  .woocommerce ul.products li.product h3 {
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
    color:#111 !important;
    margin:12px 0 18px !important;
    max-width:100% !important;
    min-height:0 !important;
    letter-spacing:-.2px !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  .woocommerce ul.products li.product .price {
    display:grid !important;
    grid-template-columns:1fr !important;
    row-gap:5px !important;
    column-gap:0 !important;
    align-items:start !important;
    width:100% !important;
    margin:18px 0 22px !important;
  }

  .woocommerce ul.products li.product .price del,
  .woocommerce ul.products li.product .price ins {
    display:contents !important;
    text-decoration:none !important;
  }

  .woocommerce ul.products li.product .price del:before,
  .woocommerce ul.products li.product .price del .amount,
  .woocommerce ul.products li.product .price ins:before,
  .woocommerce ul.products li.product .price ins .amount {
    grid-column:1 !important;
  }

  .woocommerce ul.products li.product .price del:before {
    font-size:14px;
  }

  .woocommerce ul.products li.product .price del .amount {
    font-size:17px !important;
  }

  .woocommerce ul.products li.product .price ins:before {
    font-size:14px;
  }

  .woocommerce ul.products li.product .price ins .amount {
    font-size:24px !important;
  }

  .woocommerce ul.products li.product .button {
    width:100% !important;
    display:block !important;
    min-height:58px !important;
    padding:15px 16px !important;
    margin-top:4px !important;
    background:var(--kellys-navy) !important;
    color:#fff !important;
    border-radius:9px !important;
    font-size:14px !important;
    font-weight:800 !important;
    letter-spacing:1.2px !important;
    text-align:center !important;
  }

  .woocommerce ul.products li.product .yith-wcwl-add-to-wishlist,
  .woocommerce ul.products li.product .wishlist-button,
  .woocommerce ul.products li.product .add_to_wishlist {
    transform:translateY(-8px) !important;
  }

  .single-product .product_infos {
    padding-left:22px !important;
    padding-right:22px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .single-product .product_infos .price {
    grid-template-columns:1fr !important;
    row-gap:6px !important;
    margin-bottom:28px !important;
  }

  .single-product .product_infos .price del:before,
  .single-product .product_infos .price del .amount,
  .single-product .product_infos .price ins:before,
  .single-product .product_infos .price ins .amount {
    grid-column:1 !important;
  }

  .single-product .product_infos .price ins .amount {
    font-size:34px !important;
  }

  .single-product table.variations,
  .single-product .variations select,
  .single-product select {
    width:100% !important;
    max-width:100% !important;
  }

  .single-product #woocommerce_after_add_to_cart_form {
    display:block !important;
    width:100% !important;
    clear:both !important;
    margin:22px 0 25px !important;
    padding:0 !important;
    position:relative !important;
    z-index:5 !important;
  }

  .single-product #woocommerce_after_add_to_cart_form a[href*="size-chart"] {
    display:flex !important;
    width:100% !important;
    min-height:54px !important;
    padding:10px 16px !important;
    margin:0 0 24px !important;
    box-sizing:border-box !important;
    position:static !important;
    transform:none !important;
  }

  .single-product .kellys-product-trust {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:0 !important;
    margin:25px 0 36px !important;
    clear:both !important;
    position:static !important;
    float:none !important;
    overflow:hidden !important;
    z-index:1 !important;
  }

  .single-product .kellys-trust-item {
    display:block !important;
    width:100% !important;
    min-height:90px !important;
    padding:18px 20px !important;
    box-sizing:border-box !important;
    border-right:none !important;
    border-bottom:1px solid #eee !important;
  }

  .single-product .kellys-trust-item:last-child {
    border-bottom:none !important;
  }

  .page table {
    width:100% !important;
    font-size:13px !important;
  }

  .page table td,
  .page table th {
    padding:9px 10px !important;
  }

  .kellys-footer-columns {
    padding:40px 30px !important;
  }
}
/* Shopkeeper mini-cart colours */
.shopkeeper-mini-cart,
.shopkeeper-mini-cart .widget_shopping_cart,
.shopkeeper-mini-cart .widget_shopping_cart_content {
  background: var(--kellys-navy) !important;
  color: #fff !important;
}

.shopkeeper-mini-cart .mini_cart_item,
.shopkeeper-mini-cart .woocommerce-mini-cart__total {
  border-color: rgba(255,255,255,.18) !important;
}

.shopkeeper-mini-cart a,
.shopkeeper-mini-cart p,
.shopkeeper-mini-cart span,
.shopkeeper-mini-cart strong,
.shopkeeper-mini-cart .variation,
.shopkeeper-mini-cart .variation p {
  color: #fff !important;
}

/* Checkout button */
.shopkeeper-mini-cart .button.checkout {
  background: #fff !important;
  color: var(--kellys-navy) !important;
  border: 2px solid #fff !important;
}

/* View cart button */
.shopkeeper-mini-cart .button.wc-forward:not(.checkout) {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
}

/* Button hover */
.shopkeeper-mini-cart .button:hover {
  background: var(--kellys-gold) !important;
  border-color: var(--kellys-gold) !important;
  color: #fff !important;
}
/* Remove Shopkeeper receipt-paper effect from cart totals */

.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

.woocommerce .cart-collaterals::before,
.woocommerce .cart-collaterals::after,
.woocommerce-page .cart-collaterals::before,
.woocommerce-page .cart-collaterals::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* =====================================================
   KELLY'S CHECKOUT — CLEAN MASTER VERSION
===================================================== */

/* ---------- TWO-COLUMN CHECKOUT LAYOUT ---------- */

.woocommerce-checkout #customer_details {
  padding-right:32px;
  box-sizing:border-box;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  background:#fff !important;
  padding:30px 34px !important;
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.055) !important;
  box-sizing:border-box !important;
}

.woocommerce-checkout #customer_details .col-2 {
  margin-top:24px !important;
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
  color:var(--kellys-navy) !important;
  font-size:21px !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
  margin:0 0 26px !important;
}


/* ---------- BILLING FIELDS ---------- */

.woocommerce-checkout form .form-row {
  margin-bottom:20px !important;
}

.woocommerce-checkout form .form-row label {
  display:block !important;
  color:#222 !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.65px !important;
  text-transform:uppercase !important;
  margin-bottom:8px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width:100% !important;
  min-height:48px !important;
  border:1px solid #dedede !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#222 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
  padding:0 14px !important;
}

.woocommerce-checkout textarea {
  min-height:120px !important;
  padding-top:14px !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
  border-color:var(--kellys-navy) !important;
  box-shadow:0 0 0 3px rgba(23,54,93,.08) !important;
  outline:none !important;
}


/* ---------- ORDER REVIEW CARD ---------- */

.woocommerce-checkout #order_review {
  background:#fff !important;
  padding:30px !important;
  border:none !important;
  border-radius:20px !important;
  box-shadow:0 12px 32px rgba(0,0,0,.07) !important;
  box-sizing:border-box !important;
  background-image:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

.woocommerce-checkout #order_review::before,
.woocommerce-checkout #order_review::after {
  content:none !important;
  display:none !important;
}


/* ---------- ORDER TABLE ---------- */

.woocommerce-checkout-review-order-table {
  width:100% !important;
  table-layout:auto !important;
  margin:0 0 24px !important;
  border:none !important;
  border-collapse:collapse !important;
  box-shadow:none !important;
}

.woocommerce-checkout-review-order-table thead th {
  padding:15px 18px !important;
  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:none !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
}

.woocommerce-checkout-review-order-table thead th:first-child {
  width:72% !important;
  border-radius:14px 0 0 0 !important;
  text-align:left !important;
}

.woocommerce-checkout-review-order-table thead th:last-child {
  width:28% !important;
  border-radius:0 14px 0 0 !important;
  text-align:right !important;
}

.woocommerce-checkout-review-order-table tbody td {
  padding:18px 0 !important;
  background:#fff !important;
  border-bottom:1px solid #e7e7e7 !important;
  vertical-align:top !important;
}

.woocommerce-checkout-review-order-table td.product-name {
  width:72% !important;
  padding-right:18px !important;
  color:#111 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
  text-align:left !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.woocommerce-checkout-review-order-table td.product-total {
  width:28% !important;
  color:#111 !important;
  font-size:14px !important;
  font-weight:800 !important;
  text-align:right !important;
  white-space:nowrap !important;
}


/* ---------- PRODUCT OPTIONS ---------- */

.woocommerce-checkout-review-order-table dl.variation {
  margin:10px 0 0 !important;
  font-size:12px !important;
  line-height:1.5 !important;
}

.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dd {
  display:block !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
}

.woocommerce-checkout-review-order-table dl.variation dt {
  color:#777 !important;
  font-weight:700 !important;
}

.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dd p {
  color:#333 !important;
  margin:0 0 5px !important;
}


/* ---------- SUBTOTAL AND TOTAL ---------- */

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  padding:17px 0 !important;
  background:#fff !important;
  border-bottom:1px solid #e7e7e7 !important;
  vertical-align:top !important;
}

.woocommerce-checkout-review-order-table tfoot th {
  width:38% !important;
  color:var(--kellys-navy) !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.8px !important;
  text-transform:uppercase !important;
  text-align:left !important;
}

.woocommerce-checkout-review-order-table tfoot td {
  width:62% !important;
  color:#111 !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-align:right !important;
}

.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .cart-subtotal td {
  background:#fff !important;
  padding:18px 0 !important;
  border-bottom:1px solid #e7e7e7 !important;
}

.woocommerce-checkout-review-order-table .cart-subtotal th {
  color:var(--kellys-navy) !important;
}

.woocommerce-checkout-review-order-table .cart-subtotal td {
  color:#111 !important;
  text-align:right !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  padding-top:22px !important;
  padding-bottom:22px !important;
  border-bottom:none !important;
}

.woocommerce-checkout-review-order-table .order-total .amount {
  color:var(--kellys-gold) !important;
  font-size:28px !important;
  font-weight:900 !important;
}


/* ---------- SHIPPING SECTION ---------- */

/* Make the shipping row full width */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
  display:block !important;
  width:100% !important;
  padding:18px 0 !important;
  border-bottom:1px solid #e7e7e7 !important;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
  display:block !important;
  width:100% !important;
  padding:0 !important;
  border:none !important;
  background:#fff !important;
  text-align:left !important;
}

.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th {
  margin-bottom:14px !important;
  color:var(--kellys-navy) !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.8px !important;
  text-transform:uppercase !important;
}

/* Shipping list */
.woocommerce-checkout #shipping_method {
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.woocommerce-checkout #shipping_method > li {
  position:relative !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Keep WooCommerce radio hidden */
.woocommerce-checkout #shipping_method input.shipping_method {
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  opacity:0 !important;
  cursor:pointer !important;
  z-index:3 !important;
}

/* Shipping option card */
.woocommerce-checkout #shipping_method input.shipping_method + label {
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;

  width:100% !important;
  min-height:60px !important;
  margin:0 !important;
  padding:14px 18px !important;

  border:1px solid #e3e3e3 !important;
  border-radius:10px !important;
  background:#fff !important;

  color:#222 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;

  text-align:left !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  white-space:normal !important;
  word-break:normal !important;

  box-sizing:border-box !important;
  cursor:pointer !important;
}

/* One custom radio circle only */
.woocommerce-checkout #shipping_method input.shipping_method + label::before {
  content:"" !important;
  display:block !important;
  position:static !important;
  flex:0 0 18px !important;

  width:18px !important;
  height:18px !important;
  margin:0 !important;

  border:2px solid #777 !important;
  border-radius:50% !important;
  background:#fff !important;

  transform:none !important;
  box-sizing:border-box !important;
}

/* Remove any other theme-generated circles */
.woocommerce-checkout #shipping_method label::after,
.woocommerce-checkout #shipping_method li::before,
.woocommerce-checkout #shipping_method li::after {
  content:none !important;
  display:none !important;
}

/* Selected option */
.woocommerce-checkout #shipping_method input.shipping_method:checked + label {
  border-color:var(--kellys-navy) !important;
  background:rgba(23,54,93,.045) !important;
  box-shadow:0 0 0 2px rgba(23,54,93,.07) !important;
}

.woocommerce-checkout #shipping_method input.shipping_method:checked + label::before {
  border-color:var(--kellys-navy) !important;
  background:
    radial-gradient(
      circle,
      var(--kellys-navy) 0 4px,
      #fff 5px
    ) !important;
}




/* ---------- PAYMENT METHODS ---------- */

.woocommerce-checkout #payment {
  margin-top:26px !important;
  padding:16px !important;
  background:#f7f7f7 !important;
  border-radius:18px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  margin:0 !important;
  padding:0 !important;
  border:none !important;
}

.woocommerce-checkout #payment ul.payment_methods > li {
  margin:0 0 10px !important;
  padding:15px 16px !important;
  background:#fff !important;
  border:1px solid #e6e6e6 !important;
  border-radius:10px !important;
}

.woocommerce-checkout #payment ul.payment_methods > li:last-child {
  margin-bottom:0 !important;
}

.woocommerce-checkout #payment ul.payment_methods > li > label {
  color:#222 !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.woocommerce-checkout #payment div.payment_box {
  margin:14px 0 0 !important;
  padding:14px !important;
  background:#f3f3f3 !important;
  border-radius:10px !important;
}


/* ---------- TERMS AND PLACE ORDER ---------- */

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin:22px 0 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  width:18px !important;
  height:18px !important;
  accent-color:var(--kellys-navy) !important;
}

.woocommerce-checkout #place_order {
  width:100% !important;
  min-height:58px !important;
  margin-top:18px !important;
  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:none !important;
  border-radius:10px !important;
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
  box-shadow:0 8px 20px rgba(23,54,93,.16) !important;
}

.woocommerce-checkout #place_order:hover {
  background:var(--kellys-gold) !important;
}


/* ---------- MOBILE ---------- */

@media (max-width:768px) {

  .woocommerce-checkout #customer_details {
    padding-right:0 !important;
  }

  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout #order_review {
    padding:22px 18px !important;
    border-radius:16px !important;
  }

  .woocommerce-checkout #order_review {
    margin-top:28px !important;
  }

  .woocommerce-checkout form .form-row-first,
  .woocommerce-checkout form .form-row-last {
    width:100% !important;
    float:none !important;
  }

  .woocommerce-checkout-review-order-table thead th {
    padding:14px 12px !important;
  }

  .woocommerce-checkout-review-order-table thead th:first-child,
  .woocommerce-checkout-review-order-table td.product-name {
    width:70% !important;
  }

  .woocommerce-checkout-review-order-table thead th:last-child,
  .woocommerce-checkout-review-order-table td.product-total {
    width:30% !important;
  }

  .woocommerce-checkout-review-order-table td.product-name {
    padding-right:12px !important;
    font-size:14px !important;
  }

  .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
    padding:18px 0 !important;
  }

  .woocommerce-checkout #shipping_method input.shipping_method + label {
    min-height:58px !important;
    padding:14px 16px !important;
  }

  .woocommerce-checkout #payment {
    padding:12px !important;
  }

  .woocommerce-checkout #payment ul.payment_methods > li {
    padding:14px !important;
  }
}

/* =====================================================
   KELLY'S MY ACCOUNT — ORDERS TABLE FINAL
===================================================== */

/* Table */
.woocommerce-account table.woocommerce-orders-table {
  width:100% !important;
  table-layout:fixed !important;
  margin:0 !important;
  border:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
}

/* Header */
.woocommerce-account table.woocommerce-orders-table thead th {
  padding:18px 20px !important;
  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:0 !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  text-align:center !important;
  text-transform:uppercase !important;
}

/* Body cells */
.woocommerce-account table.woocommerce-orders-table tbody th,
.woocommerce-account table.woocommerce-orders-table tbody td {
  padding:20px !important;
  background:#fff !important;
  color:#222 !important;
  border:0 !important;
  border-bottom:1px solid #ededed !important;
  font-size:15px !important;
  line-height:1.45 !important;
  text-align:center !important;
  vertical-align:middle !important;
}

.woocommerce-account table.woocommerce-orders-table tbody tr:last-child th,
.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td {
  border-bottom:0 !important;
}

/* Column widths */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__header-order-number,
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-number {
  width:14% !important;
}

.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__header-order-date,
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-date {
  width:21% !important;
}

.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__header-order-status,
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-status {
  width:20% !important;
}

.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__header-order-total,
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-total {
  width:23% !important;
}

.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__header-order-actions,
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions {
  width:22% !important;
}

/* Order number */
.woocommerce-account table.woocommerce-orders-table
th.woocommerce-orders-table__cell-order-number a {
  color:var(--kellys-gold) !important;
  font-size:15px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

.woocommerce-account table.woocommerce-orders-table
th.woocommerce-orders-table__cell-order-number a:hover {
  color:var(--kellys-navy) !important;
}

/* Status */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-status {
  font-weight:800 !important;
}

.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-status::before {
  content:"" !important;
  display:inline-block !important;
  width:6px !important;
  height:6px !important;
  margin-right:8px !important;
  border-radius:50% !important;
  background:#4f9d69 !important;
  vertical-align:middle !important;
}

/* Actions cell */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions {
  text-align:right !important;
  white-space:nowrap !important;
  padding-right:34px !important;
}

/* Matching action buttons */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions a {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:88px !important;
  height:40px !important;
  padding:0 14px !important;
  margin:0 0 0 8px !important;
  border-radius:10px !important;
  box-sizing:border-box !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.6px !important;
  text-align:center !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
}

/* View */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions a.view {
  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:2px solid var(--kellys-navy) !important;
}

/* Invoice */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions a:not(.view) {
  background:#fff !important;
  color:var(--kellys-gold) !important;
  border:2px solid var(--kellys-gold) !important;
}

/* Hover */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions a:hover {
  background:var(--kellys-gold) !important;
  border-color:var(--kellys-gold) !important;
  color:#fff !important;
}

/* Remove theme button decorations */
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions a::before,
.woocommerce-account table.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions a::after {
  content:none !important;
  display:none !important;
}

/* Mobile */
@media (max-width:768px) {
  .woocommerce-account table.woocommerce-orders-table {
    table-layout:auto !important;
    border-radius:12px !important;
    box-shadow:none !important;
  }

  .woocommerce-account table.woocommerce-orders-table
  .woocommerce-orders-table__cell-order-actions {
    padding-right:16px !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .woocommerce-account table.woocommerce-orders-table
  .woocommerce-orders-table__cell-order-actions a {
    margin:4px 6px 4px 0 !important;
  }
}
/* =====================================================
   KELLY'S MY ACCOUNT — ADDRESS CARDS FINAL
===================================================== */

/* Address grid */
.woocommerce-account
.woocommerce-Addresses.col2-set.addresses {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:36px !important;
  align-items:stretch !important;
  width:100% !important;
  margin-top:28px !important;
}

/* Remove the clearfix pseudo-elements */
.woocommerce-account
.woocommerce-Addresses.col2-set.addresses::before,
.woocommerce-account
.woocommerce-Addresses.col2-set.addresses::after {
  content:none !important;
  display:none !important;
}

/* Keep each address in its proper column */
.woocommerce-account
.woocommerce-Addresses.col2-set.addresses > .u-column1 {
  grid-column:1 !important;
  grid-row:1 !important;
}

.woocommerce-account
.woocommerce-Addresses.col2-set.addresses > .u-column2 {
  grid-column:2 !important;
  grid-row:1 !important;
}

/* Address cards */
.woocommerce-account
.woocommerce-Addresses.col2-set.addresses
> .woocommerce-Address {
  display:flex !important;
  flex-direction:column !important;

  width:100% !important;
  min-height:270px !important;
  margin:0 !important;
  padding:30px 32px !important;

  float:none !important;
  clear:none !important;
  max-width:none !important;

  background:#fff !important;
  border:0 !important;
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
  box-sizing:border-box !important;
}

/* Address-card header */
.woocommerce-account
.woocommerce-Address-title.title {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;

  width:100% !important;
  margin:0 0 24px !important;
  padding:0 0 16px !important;

  border-bottom:1px solid #e7e7e7 !important;
  box-sizing:border-box !important;
}

/* Address headings */
.woocommerce-account
.woocommerce-Address-title.title h2 {
  margin:0 !important;

  color:var(--kellys-gold) !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
}

/* Edit button */
.woocommerce-account
.woocommerce-Address-title.title a.edit{

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:170px !important;
    min-width:170px !important;
    height:44px !important;

    padding:0 18px !important;

    background:var(--kellys-navy) !important;
    color:#fff !important;

    border:2px solid var(--kellys-navy) !important;
    border-radius:10px !important;

    font-size:13px !important;
    font-weight:800 !important;
    letter-spacing:.6px !important;
    text-transform:uppercase !important;
    text-decoration:none !important;

    white-space:nowrap !important;

    transition:.25s ease !important;
}

.woocommerce-account
.woocommerce-Address-title.title a.edit:hover{
    background:var(--kellys-gold) !important;
    border-color:var(--kellys-gold) !important;
}

/* Address text */
.woocommerce-account
.woocommerce-Address address {
  margin:0 !important;
  color:#333 !important;
  font-size:15px !important;
  font-style:normal !important;
  line-height:1.8 !important;
}

/* Intro paragraph */
.woocommerce-account
.woocommerce-MyAccount-content > p:first-child {
  max-width:760px !important;
  margin:0 auto 20px !important;
  color:#444 !important;
  font-size:15px !important;
  line-height:1.7 !important;
  text-align:center !important;
}

/* Mobile */
@media (max-width:768px) {
  .woocommerce-account
  .woocommerce-Addresses.col2-set.addresses {
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .woocommerce-account
  .woocommerce-Addresses.col2-set.addresses > .u-column1,
  .woocommerce-account
  .woocommerce-Addresses.col2-set.addresses > .u-column2 {
    grid-column:1 !important;
    grid-row:auto !important;
  }

  .woocommerce-account
  .woocommerce-Addresses.col2-set.addresses
  > .woocommerce-Address {
    min-height:0 !important;
    padding:24px 20px !important;
    border-radius:16px !important;
  }

  .woocommerce-account
  .woocommerce-Address-title.title {
    align-items:flex-start !important;
  }

  .woocommerce-account
  .woocommerce-Address-title.title h2 {
    font-size:18px !important;
  }

  .woocommerce-account
  .woocommerce-Address-title.title a.edit {
    min-width:112px !important;
    min-height:40px !important;
    padding:0 12px !important;
  }
}
/* Shorten address-card button wording safely */
.woocommerce-account
.woocommerce-Address-title.title a.edit {
  font-size:0 !important;
}

/* Display the replacement text */
.woocommerce-account
.woocommerce-Address-title.title a.edit::after {
  content:"EDIT ADDRESS" !important;
  display:block !important;

  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.6px !important;
  text-transform:uppercase !important;
}
/* Smaller address edit button */
.woocommerce-account
.woocommerce-Address-title.title a.edit {
  width:145px !important;
  min-width:145px !important;
  min-height:42px !important;
  padding:0 14px !important;
  white-space:nowrap !important;
}
.woocommerce-account .woocommerce-Address-title.title a.edit{
    margin-top:8px !important;
}
.woocommerce-account .woocommerce-Address-title.title a.edit{
    height:50px !important;
    min-height:50px !important;
}

/* =====================================================
   KELLY'S MY ACCOUNT — ACCOUNT DETAILS
===================================================== */

/* Form card */
.woocommerce-account
.woocommerce-MyAccount-content
form.woocommerce-EditAccountForm {
  width:100% !important;
  margin:0 !important;
  padding:38px 40px !important;

  background:#fff !important;
  border:0 !important;
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;

  box-sizing:border-box !important;
}

/* Form rows */
.woocommerce-account
form.woocommerce-EditAccountForm
.form-row {
  margin-bottom:22px !important;
}

/* First and last name row */
.woocommerce-account
form.woocommerce-EditAccountForm
.form-row-first,
.woocommerce-account
form.woocommerce-EditAccountForm
.form-row-last {
  width:48.5% !important;
}

.woocommerce-account
form.woocommerce-EditAccountForm
.form-row-first {
  float:left !important;
}

.woocommerce-account
form.woocommerce-EditAccountForm
.form-row-last {
  float:right !important;
}

/* Labels */
.woocommerce-account
form.woocommerce-EditAccountForm
label {
  display:block !important;

  margin-bottom:8px !important;
  color:var(--kellys-navy) !important;

  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  letter-spacing:.7px !important;
  text-transform:uppercase !important;
}

/* Inputs */
.woocommerce-account
form.woocommerce-EditAccountForm
input.input-text {
  width:100% !important;
  min-height:52px !important;
  padding:0 15px !important;

  border:1px solid #dedede !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#222 !important;

  font-size:15px !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

/* Input focus */
.woocommerce-account
form.woocommerce-EditAccountForm
input.input-text:focus {
  border-color:var(--kellys-navy) !important;
  box-shadow:0 0 0 3px rgba(23,54,93,.08) !important;
  outline:none !important;
}

/* Helper text */
.woocommerce-account
form.woocommerce-EditAccountForm
em,
.woocommerce-account
form.woocommerce-EditAccountForm
span.description {
  display:block !important;
  margin-top:8px !important;

  color:#777 !important;
  font-size:13px !important;
  font-style:italic !important;
  line-height:1.5 !important;
}

/* Password section */
.woocommerce-account
form.woocommerce-EditAccountForm
fieldset {
  margin:34px 0 28px !important;
  padding:28px 0 0 !important;

  border:0 !important;
  border-top:1px solid #e7e7e7 !important;
}

/* Password heading */
.woocommerce-account
form.woocommerce-EditAccountForm
fieldset legend {
  margin:0 0 24px !important;
  padding:0 !important;

  color:var(--kellys-gold) !important;
  font-size:20px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
}

/* Password field spacing */
.woocommerce-account
form.woocommerce-EditAccountForm
fieldset .form-row {
  margin-bottom:20px !important;
}

/* Password eye icon */
.woocommerce-account
form.woocommerce-EditAccountForm
.show-password-input {
  right:15px !important;
}

/* Newsletter / account option rows */
.woocommerce-account
form.woocommerce-EditAccountForm
input[type="radio"],
.woocommerce-account
form.woocommerce-EditAccountForm
input[type="checkbox"] {
  width:18px !important;
  height:18px !important;
  margin-right:10px !important;

  accent-color:var(--kellys-navy) !important;
  vertical-align:middle !important;
}

/* Option labels */
.woocommerce-account
form.woocommerce-EditAccountForm
label:has(input[type="radio"]),
.woocommerce-account
form.woocommerce-EditAccountForm
label:has(input[type="checkbox"]) {
  display:flex !important;
  align-items:center !important;

  margin-bottom:14px !important;
  color:#222 !important;

  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.4px !important;
}

/* Save button */
.woocommerce-account
form.woocommerce-EditAccountForm
button[type="submit"],
.woocommerce-account
form.woocommerce-EditAccountForm
.button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-width:230px !important;
  min-height:54px !important;
  padding:0 24px !important;
  margin-top:10px !important;

  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:2px solid var(--kellys-navy) !important;
  border-radius:10px !important;

  font-size:14px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.7px !important;
  text-transform:uppercase !important;

  box-shadow:0 8px 18px rgba(23,54,93,.14) !important;
  transition:.2s ease !important;
}

/* Save button hover */
.woocommerce-account
form.woocommerce-EditAccountForm
button[type="submit"]:hover,
.woocommerce-account
form.woocommerce-EditAccountForm
.button:hover {
  background:var(--kellys-gold) !important;
  border-color:var(--kellys-gold) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

/* Clear floated name fields */
.woocommerce-account
form.woocommerce-EditAccountForm::after {
  content:"" !important;
  display:block !important;
  clear:both !important;
}

/* Mobile */
@media (max-width:768px) {
  .woocommerce-account
  .woocommerce-MyAccount-content
  form.woocommerce-EditAccountForm {
    padding:26px 22px !important;
    border-radius:16px !important;
  }

  .woocommerce-account
  form.woocommerce-EditAccountForm
  .form-row-first,
  .woocommerce-account
  form.woocommerce-EditAccountForm
  .form-row-last {
    width:100% !important;
    float:none !important;
  }

  .woocommerce-account
  form.woocommerce-EditAccountForm
  fieldset legend {
    font-size:18px !important;
  }

  .woocommerce-account
  form.woocommerce-EditAccountForm
  button[type="submit"],
  .woocommerce-account
  form.woocommerce-EditAccountForm
  .button {
    width:100% !important;
    min-width:0 !important;
  }
}

/* =====================================================
   KELLY'S MY ACCOUNT — VIEW ORDER PAGE
===================================================== */

/* Main content width */
.woocommerce-view-order .woocommerce-MyAccount-content {
  max-width:1100px !important;
  margin:0 auto !important;
}

/* Order status message */
.woocommerce-view-order
.woocommerce-MyAccount-content > p:first-child {
  position:relative !important;
  margin:0 0 38px !important;
  padding:24px 28px 24px 58px !important;

  background:#fff !important;
  border:1px solid #e8e8e8 !important;
  border-left:5px solid #4f9d69 !important;
  border-radius:16px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.05) !important;

  color:#222 !important;
  font-size:15px !important;
  line-height:1.7 !important;
}

/* Green completed dot */
.woocommerce-view-order
.woocommerce-MyAccount-content > p:first-child::before {
  content:"" !important;
  position:absolute !important;
  left:28px !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#4f9d69 !important;
  transform:translateY(-50%) !important;
}

/* Emphasised order details */
.woocommerce-view-order
.woocommerce-MyAccount-content > p:first-child mark,
.woocommerce-view-order
.woocommerce-MyAccount-content > p:first-child strong {
  background:transparent !important;
  color:var(--kellys-navy) !important;
  font-weight:900 !important;
}

/* Section headings */
.woocommerce-view-order
.woocommerce-order-details__title,
.woocommerce-view-order
.woocommerce-customer-details h2,
.woocommerce-view-order
.woocommerce-column__title {
  margin:0 0 20px !important;
  color:var(--kellys-gold) !important;
  font-size:21px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
}

/* Order-details card */
.woocommerce-view-order
.woocommerce-order-details {
  margin:0 0 36px !important;
  padding:30px !important;

  background:#fff !important;
  border:0 !important;
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
}

/* Order table */
.woocommerce-view-order
table.woocommerce-table--order-details {
  width:100% !important;
  margin:0 !important;
  border:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:none !important;
}

/* Table heading */
.woocommerce-view-order
table.woocommerce-table--order-details thead th {
  padding:16px 20px !important;
  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:0 !important;

  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details thead th:first-child {
  text-align:left !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details thead th:last-child {
  text-align:right !important;
}

/* Table body */
.woocommerce-view-order
table.woocommerce-table--order-details tbody th,
.woocommerce-view-order
table.woocommerce-table--order-details tbody td {
  padding:20px !important;
  background:#fff !important;
  border-bottom:1px solid #e8e8e8 !important;
  color:#222 !important;
  font-size:15px !important;
  vertical-align:top !important;
}

/* Product name */
.woocommerce-view-order
table.woocommerce-table--order-details
td.woocommerce-table__product-name {
  text-align:left !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details
td.woocommerce-table__product-name a {
  color:var(--kellys-navy) !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  text-decoration:none !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details
td.woocommerce-table__product-name a:hover {
  color:var(--kellys-gold) !important;
}

/* Product total */
.woocommerce-view-order
table.woocommerce-table--order-details
td.woocommerce-table__product-total {
  text-align:right !important;
  white-space:nowrap !important;
  font-weight:800 !important;
}

/* Product variations */
.woocommerce-view-order
table.woocommerce-table--order-details
dl.variation {
  margin:12px 0 0 !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details
dl.variation dt,
.woocommerce-view-order
table.woocommerce-table--order-details
dl.variation dd {
  float:none !important;
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details
dl.variation dt {
  color:#777 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details
dl.variation dd {
  color:#333 !important;
  margin-right:16px !important;
}

/* Totals */
.woocommerce-view-order
table.woocommerce-table--order-details tfoot th,
.woocommerce-view-order
table.woocommerce-table--order-details tfoot td {
  padding:16px 20px !important;
  background:#fff !important;
  border-bottom:1px solid #e8e8e8 !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details tfoot th {
  color:var(--kellys-navy) !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.6px !important;
  text-align:left !important;
  text-transform:uppercase !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details tfoot td {
  color:#222 !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-align:right !important;
}

/* Final total */
.woocommerce-view-order
table.woocommerce-table--order-details tfoot tr:nth-last-child(2) th,
.woocommerce-view-order
table.woocommerce-table--order-details tfoot tr:nth-last-child(2) td {
  color:var(--kellys-gold) !important;
  font-size:18px !important;
  font-weight:900 !important;
}

/* Invoice button */
.woocommerce-view-order
table.woocommerce-table--order-details tfoot a,
.woocommerce-view-order
table.woocommerce-table--order-details .button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-width:150px !important;
  min-height:44px !important;
  padding:0 18px !important;

  background:#fff !important;
  color:var(--kellys-gold) !important;
  border:2px solid var(--kellys-gold) !important;
  border-radius:10px !important;

  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.7px !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details tfoot a:hover,
.woocommerce-view-order
table.woocommerce-table--order-details .button:hover {
  background:var(--kellys-gold) !important;
  color:#fff !important;
}

/* Order Again button */
.woocommerce-view-order p.order-again {
  margin:24px 0 36px !important;
}

.woocommerce-view-order p.order-again a.button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  min-width:220px !important;
  min-height:52px !important;
  padding:0 24px !important;

  background:var(--kellys-navy) !important;
  color:#fff !important;
  border:2px solid var(--kellys-navy) !important;
  border-radius:10px !important;

  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.8px !important;
  text-decoration:none !important;
  text-transform:uppercase !important;

  box-shadow:0 8px 18px rgba(23,54,93,.14) !important;
}

.woocommerce-view-order p.order-again a.button:hover {
  background:var(--kellys-gold) !important;
  border-color:var(--kellys-gold) !important;
  color:#fff !important;
}

/* Customer address area */
.woocommerce-view-order
.woocommerce-customer-details {
  margin:0 !important;
  padding:30px !important;

  background:#fff !important;
  border:0 !important;
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
}

/* Address columns */
.woocommerce-view-order
.woocommerce-customer-details
.woocommerce-columns {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
}

.woocommerce-view-order
.woocommerce-customer-details
.woocommerce-column {
  width:100% !important;
  float:none !important;
  margin:0 !important;
}

/* Address text */
.woocommerce-view-order
.woocommerce-customer-details address {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;

  color:#333 !important;
  font-size:15px !important;
  font-style:normal !important;
  line-height:1.8 !important;
}

/* Phone and email */
.woocommerce-view-order
.woocommerce-customer-details
.woocommerce-customer-details--phone,
.woocommerce-view-order
.woocommerce-customer-details
.woocommerce-customer-details--email {
  margin:10px 0 0 !important;
  color:var(--kellys-navy) !important;
  font-weight:600 !important;
}

/* Mobile */
@media (max-width:768px) {

  .woocommerce-view-order
  .woocommerce-MyAccount-content > p:first-child {
    padding:20px 20px 20px 48px !important;
    border-radius:14px !important;
  }

  .woocommerce-view-order
  .woocommerce-MyAccount-content > p:first-child::before {
    left:22px !important;
  }

  .woocommerce-view-order
  .woocommerce-order-details,
  .woocommerce-view-order
  .woocommerce-customer-details {
    padding:22px 18px !important;
    border-radius:16px !important;
  }

  .woocommerce-view-order
  table.woocommerce-table--order-details thead th,
  .woocommerce-view-order
  table.woocommerce-table--order-details tbody th,
  .woocommerce-view-order
  table.woocommerce-table--order-details tbody td,
  .woocommerce-view-order
  table.woocommerce-table--order-details tfoot th,
  .woocommerce-view-order
  table.woocommerce-table--order-details tfoot td {
    padding:14px 12px !important;
  }

  .woocommerce-view-order
  .woocommerce-customer-details
  .woocommerce-columns {
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .woocommerce-view-order p.order-again a.button {
    width:100% !important;
  }
}
/* =====================================================
   VIEW ORDER — FINAL POLISH
===================================================== */

/* Bigger Order Again button */
.woocommerce-view-order p.order-again a.button{
    min-width:280px !important;
    min-height:56px !important;
    padding:0 34px !important;

    font-size:14px !important;
    font-weight:800 !important;
    letter-spacing:1px !important;

    border-radius:10px !important;
}

/* Payment Method heading back to navy */
.woocommerce-view-order
table.woocommerce-table--order-details
tfoot tr:nth-last-child(2) th{
    color:var(--kellys-navy) !important;
}

/* Payment Method value */
.woocommerce-view-order
table.woocommerce-table--order-details
tfoot tr:nth-last-child(2) td{
    color:var(--kellys-navy) !important;
    font-weight:700 !important;
}

/* Cleaner product variations */
.woocommerce-view-order
table.woocommerce-table--order-details dl.variation{
    margin-top:16px !important;
    display:grid !important;
    grid-template-columns:90px 1fr !important;
    gap:6px 12px !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details dl.variation dt{
    margin:0 !important;
    padding:0 !important;

    color:#7d7d7d !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.5px !important;
    text-transform:capitalize !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details dl.variation dd{
    margin:0 !important;
    padding:0 !important;

    color:#333 !important;
    font-size:13px !important;
    font-weight:600 !important;
}

.woocommerce-view-order
table.woocommerce-table--order-details dl.variation dd p{
    margin:0 !important;
}

/* Billing address card polish */
.woocommerce-view-order .woocommerce-customer-details{
    padding:36px !important;
}

.woocommerce-view-order .woocommerce-customer-details address{
    font-size:17px !important;
    line-height:2 !important;
}

.woocommerce-view-order .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-customer-details--email{
    margin-top:12px !important;
    color:var(--kellys-navy) !important;
    font-weight:600 !important;
}
/* =====================================================
   VIEW ORDER - BILLING ADDRESS CARD
===================================================== */

/* Card */
.woocommerce-view-order .woocommerce-customer-details{
    background:#fff !important;
    border-radius:20px !important;
    box-shadow:0 10px 28px rgba(0,0,0,.06) !important;
    padding:40px !important;
    margin-top:40px !important;
    border:none !important;
}

/* Heading */
.woocommerce-view-order .woocommerce-customer-details h2,
.woocommerce-view-order .woocommerce-column__title{
    color:var(--kellys-gold) !important;
    text-transform:uppercase !important;
    font-size:22px !important;
    font-weight:800 !important;
    letter-spacing:1px !important;
    margin:0 0 24px !important;
    padding-bottom:18px !important;
    border-bottom:1px solid #ececec !important;
}

/* Address */
.woocommerce-view-order .woocommerce-customer-details address{
    border:none !important;
    padding:0 !important;
    margin:0 !important;

    font-style:normal !important;
    font-size:17px !important;
    line-height:2 !important;
    color:#333 !important;
}

/* Phone & Email */
.woocommerce-view-order .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-customer-details--email{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;

    margin-top:18px !important;

    color:var(--kellys-navy) !important;
    font-weight:600 !important;
    font-size:16px !important;
}

/* Two-column layout when both billing & shipping exist */
.woocommerce-view-order .woocommerce-columns{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:40px !important;
}

.woocommerce-view-order .woocommerce-column{
    width:100% !important;
    float:none !important;
    margin:0 !important;
}

/* Mobile */
@media (max-width:768px){

    .woocommerce-view-order .woocommerce-columns{
        grid-template-columns:1fr !important;
    }

    .woocommerce-view-order .woocommerce-customer-details{
        padding:28px !important;
    }

    .woocommerce-view-order .woocommerce-customer-details h2,
    .woocommerce-view-order .woocommerce-column__title{
        font-size:20px !important;
    }
}

/* =====================================================
   PRODUCTION OVERRIDES — VERSION 8.0
===================================================== */

/* Orders: one stable final column definition */
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number,
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date {
  white-space:nowrap !important;
}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__header-order-number,
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number { width:16% !important; }
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__header-order-date,
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date { width:20% !important; }
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__header-order-status,
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status { width:19% !important; }
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__header-order-total,
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total { width:23% !important; }
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__header-order-actions,
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { width:22% !important; }
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
  padding-left:10px !important;
  padding-right:28px !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
  min-width:82px !important;
  height:40px !important;
  margin-left:8px !important;
  padding:0 10px !important;
}

/* Account Details: final spacing and controls */
.woocommerce-account form.woocommerce-EditAccountForm fieldset {
  position:relative !important;
  margin:38px 0 34px !important;
  padding:30px 0 0 !important;
  border:0 !important;
}
.woocommerce-account form.woocommerce-EditAccountForm fieldset::before {
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:310px !important;
  height:1px !important;
  background:#e7e7e7 !important;
}
.woocommerce-account form.woocommerce-EditAccountForm label:has(input[type="radio"]),
.woocommerce-account form.woocommerce-EditAccountForm label:has(input[type="checkbox"]) {
  min-height:54px !important;
  margin:0 0 12px !important;
  padding:14px 18px !important;
  background:#fafafa !important;
  border:1px solid #e6e6e6 !important;
  border-radius:10px !important;
  box-sizing:border-box !important;
}
.woocommerce-account form.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-account form.woocommerce-EditAccountForm .button {
  width:250px !important;
  min-width:250px !important;
  min-height:56px !important;
  margin-top:24px !important;
}

/* Cart: allow the product title room and keep all values visible */
@media (min-width:992px) {
  .woocommerce-cart table.shop_table.cart td.product-name {
    width:52% !important;
    min-width:340px !important;
  }
  .woocommerce-cart table.shop_table.cart td.product-price,
  .woocommerce-cart table.shop_table.cart td.product-subtotal {
    width:110px !important;
    min-width:110px !important;
  }
  .woocommerce-cart table.shop_table.cart td.product-quantity {
    width:128px !important;
    min-width:128px !important;
  }
}

/* Continue Shopping — common Shopkeeper/WooCommerce selectors */
.woocommerce-cart a.continue-shopping,
.woocommerce-cart .continue-shopping a,
.woocommerce-cart a.button.continue-shopping,
.woocommerce-cart .wc-backward {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 20px !important;
  color:var(--kellys-navy) !important;
  background:#fff !important;
  border:2px solid var(--kellys-navy) !important;
  border-radius:9px !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.7px !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
}
.woocommerce-cart a.continue-shopping:hover,
.woocommerce-cart .continue-shopping a:hover,
.woocommerce-cart a.button.continue-shopping:hover,
.woocommerce-cart .wc-backward:hover {
  color:#fff !important;
  background:var(--kellys-gold) !important;
  border-color:var(--kellys-gold) !important;
}

@media (max-width:768px) {
  .woocommerce-account form.woocommerce-EditAccountForm fieldset::before { width:210px !important; }
  .woocommerce-account form.woocommerce-EditAccountForm button[type="submit"],
  .woocommerce-account form.woocommerce-EditAccountForm .button {
    width:100% !important;
    min-width:0 !important;
  }
}

/* =====================================================
   KELLY'S CART — PRODUCTION VERSION 8.0
===================================================== */

/* Keep the standard WooCommerce cart tables independent from Size Guide tables */
.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart .cart-collaterals table.shop_table {
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  table-layout:auto !important;
}

/* Desktop two-column layout — uses floats so other Shopkeeper elements
   such as Continue Shopping are not pulled into the same row */
@media (min-width:992px) {
  .woocommerce-cart form.woocommerce-cart-form {
    float:left !important;
    width:calc(100% - 440px) !important;
    max-width:calc(100% - 440px) !important;
    margin:0 !important;
  }

  .woocommerce-cart .cart-collaterals {
    float:right !important;
    width:400px !important;
    max-width:400px !important;
    margin:0 !important;
  }

  .woocommerce-cart .woocommerce::after {
    content:"" !important;
    display:block !important;
    clear:both !important;
  }
}

/* Main cart card */
.woocommerce-cart form.woocommerce-cart-form {
  min-width:0 !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border-radius:20px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.05) !important;
  overflow:hidden !important;
}

/* Cart table */
.woocommerce-cart table.shop_table.cart {
  border:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  box-shadow:none !important;
}

.woocommerce-cart table.shop_table.cart .cart_item td {
  padding-top:28px !important;
  padding-bottom:28px !important;
  vertical-align:middle !important;
}

/* Stable column sizing */
.woocommerce-cart table.shop_table.cart td.product-remove {
  width:38px !important;
  min-width:38px !important;
}

.woocommerce-cart table.shop_table.cart td.product-thumbnail {
  width:104px !important;
  min-width:104px !important;
}

.woocommerce-cart table.shop_table.cart td.product-name {
  width:auto !important;
  min-width:260px !important;
  padding-left:18px !important;
  padding-right:24px !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
}

.woocommerce-cart table.shop_table.cart td.product-price,
.woocommerce-cart table.shop_table.cart td.product-subtotal {
  width:110px !important;
  min-width:110px !important;
  white-space:nowrap !important;
}

.woocommerce-cart table.shop_table.cart td.product-quantity {
  width:128px !important;
  min-width:128px !important;
}

/* Product image */
.woocommerce-cart td.product-thumbnail img {
  display:block !important;
  width:82px !important;
  max-width:82px !important;
  height:72px !important;
  margin:0 !important;
  padding:6px !important;
  object-fit:contain !important;
  background:#f7f7f7 !important;
  border-radius:10px !important;
  box-sizing:border-box !important;
}

/* Product title and options */
.woocommerce-cart td.product-name,
.woocommerce-cart td.product-name a {
  text-align:left !important;
}

.woocommerce-cart td.product-name > a {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin-bottom:9px !important;
  color:#111 !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  text-decoration:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.woocommerce-cart td.product-name > a:hover {
  color:var(--kellys-gold) !important;
}

.woocommerce-cart td.product-name dl.variation {
  margin:0 !important;
  font-size:12px !important;
  line-height:1.55 !important;
  text-align:left !important;
}

.woocommerce-cart td.product-name dl.variation dt {
  color:#777 !important;
  font-weight:700 !important;
}

.woocommerce-cart td.product-name dl.variation dd,
.woocommerce-cart td.product-name dl.variation dd p {
  margin:0 !important;
  color:#333 !important;
}

/* Remove button */
.woocommerce-cart td.product-remove a.remove {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  color:#777 !important;
  background:transparent !important;
  font-size:18px !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.woocommerce-cart td.product-remove a.remove::before,
.woocommerce-cart td.product-remove a.remove::after {
  content:none !important;
  display:none !important;
}

.woocommerce-cart td.product-remove a.remove:hover {
  color:var(--kellys-sale-red) !important;
  background:transparent !important;
}

/* Quantity */
.woocommerce-cart td.product-quantity .quantity {
  border:1px solid #e3e3e3 !important;
  border-radius:10px !important;
  overflow:hidden !important;
}

/* Coupon row */
.woocommerce-cart table.shop_table.cart td.actions {
  width:100% !important;
  padding:24px 28px !important;
  background:#fbfbfb !important;
}

.woocommerce-cart .coupon {
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:560px !important;
}

.woocommerce-cart .coupon::before,
.woocommerce-cart .coupon label::before {
  content:none !important;
  display:none !important;
}

.woocommerce-cart .coupon label {
  display:none !important;
}

.woocommerce-cart .coupon input.input-text {
  flex:1 1 auto !important;
  width:auto !important;
  min-width:180px !important;
  height:48px !important;
  margin:0 !important;
  padding:0 15px !important;
  border:1px solid #dcdcdc !important;
  border-radius:9px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

.woocommerce-cart .coupon button.button {
  flex:0 0 auto !important;
  min-width:150px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 20px !important;
  border:0 !important;
  border-radius:9px !important;
  background:var(--kellys-navy) !important;
  color:#fff !important;
  white-space:nowrap !important;
}

.woocommerce-cart .coupon button.button:hover {
  background:var(--kellys-gold) !important;
}

/* Remove Shopkeeper receipt-paper effect */
.woocommerce-cart .cart-collaterals,
.woocommerce-page.woocommerce-cart .cart-collaterals {
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
}

.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after {
  content:none !important;
  display:none !important;
}

/* Cart totals */
.woocommerce-cart .cart-collaterals .cart_totals {
  width:100% !important;
  padding:28px 30px !important;
  background:#fff !important;
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.055) !important;
  box-sizing:border-box !important;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
  margin:0 0 22px !important;
  color:var(--kellys-gold) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
  width:100% !important;
  margin:0 0 22px !important;
  border:0 !important;
  border-collapse:collapse !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
  padding:15px 0 !important;
  border-bottom:1px solid #e8e8e8 !important;
  background:transparent !important;
  vertical-align:top !important;
}

.woocommerce-cart .cart-collaterals .cart_totals th {
  width:38% !important;
  color:var(--kellys-navy) !important;
  font-weight:800 !important;
  letter-spacing:.4px !important;
  text-align:left !important;
  text-transform:uppercase !important;
}

.woocommerce-cart .cart-collaterals .cart_totals td {
  width:62% !important;
  color:#222 !important;
  text-align:right !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
  padding-top:18px !important;
  padding-bottom:18px !important;
  border-bottom:0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .order-total strong,
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
  color:var(--kellys-gold) !important;
  font-size:24px !important;
  font-weight:900 !important;
}

/* Shipping options */
.woocommerce-cart .cart-collaterals ul#shipping_method {
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.woocommerce-cart .cart-collaterals ul#shipping_method li {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  gap:9px !important;
  margin:0 0 12px !important;
  line-height:1.45 !important;
}

.woocommerce-cart .cart-collaterals ul#shipping_method label {
  display:inline-block !important;
  max-width:190px !important;
  color:#222 !important;
  font-weight:600 !important;
  text-align:left !important;
}

/* Gift card */
.woocommerce-cart .cart-collaterals .giftcard-section,
.woocommerce-cart .cart-collaterals [class*="gift"],
.woocommerce-cart .cart-collaterals form[class*="gift"] {
  margin-top:22px !important;
  padding:20px !important;
  background:#fff !important;
  border-radius:16px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.06) !important;
}

/* Mobile */
@media (max-width:991px) {
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    float:none !important;
    width:100% !important;
    max-width:100% !important;
  }

  .woocommerce-cart .cart-collaterals {
    margin-top:28px !important;
  }
}

@media (max-width:768px) {
  .woocommerce-cart form.woocommerce-cart-form {
    border-radius:16px !important;
  }

  .woocommerce-cart table.shop_table.cart .cart_item td {
    padding-top:12px !important;
    padding-bottom:12px !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-name,
  .woocommerce-cart table.shop_table.cart td.product-price,
  .woocommerce-cart table.shop_table.cart td.product-quantity,
  .woocommerce-cart table.shop_table.cart td.product-subtotal {
    width:100% !important;
    min-width:0 !important;
  }

  .woocommerce-cart td.product-thumbnail img {
    width:74px !important;
    max-width:74px !important;
    height:74px !important;
  }

  .woocommerce-cart .coupon {
    display:grid !important;
    grid-template-columns:1fr !important;
    max-width:none !important;
  }

  .woocommerce-cart .coupon input.input-text,
  .woocommerce-cart .coupon button.button {
    width:100% !important;
    min-width:0 !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    padding:24px 20px !important;
    border-radius:16px !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals th,
  .woocommerce-cart .cart-collaterals .cart_totals td {
    display:block !important;
    width:100% !important;
    text-align:left !important;
  }

  .woocommerce-cart .cart-collaterals ul#shipping_method li {
    justify-content:flex-start !important;
  }
}

/* =====================================================
   CHECKOUT SHIPPING — DEFINITIVE RADIO FIX
===================================================== */

.woocommerce-checkout #shipping_method {
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.woocommerce-checkout #shipping_method > li {
  position:relative !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Hide the real WooCommerce radio completely */
.woocommerce-checkout #shipping_method input.shipping_method {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  opacity:0 !important;
  visibility:visible !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  cursor:pointer !important;
  z-index:3 !important;
}

/* Shipping option card */
.woocommerce-checkout #shipping_method input.shipping_method + label {
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:60px !important;
  margin:0 !important;
  padding:18px 18px 18px 52px !important;

  border:1px solid #e3e3e3 !important;
  border-radius:10px !important;
  background:#fff !important;

  color:#222 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:left !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  white-space:normal !important;

  box-sizing:border-box !important;
  cursor:pointer !important;
}

/* Draw one radio circle in a fixed position */
.woocommerce-checkout #shipping_method input.shipping_method + label::before {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:18px !important;
  top:50% !important;

  width:18px !important;
  height:18px !important;
  margin:0 !important;

  border:2px solid #777 !important;
  border-radius:50% !important;
  background:#fff !important;

  transform:translateY(-50%) !important;
  box-sizing:border-box !important;
}

/* Remove all other generated marks */
.woocommerce-checkout #shipping_method input.shipping_method + label::after,
.woocommerce-checkout #shipping_method li::before,
.woocommerce-checkout #shipping_method li::after {
  content:none !important;
  display:none !important;
}

/* Selected card and radio */
.woocommerce-checkout #shipping_method input.shipping_method:checked + label {
  border-color:var(--kellys-navy) !important;
  background:rgba(23,54,93,.045) !important;
  box-shadow:0 0 0 2px rgba(23,54,93,.07) !important;
}

.woocommerce-checkout #shipping_method input.shipping_method:checked + label::before {
  border-color:var(--kellys-navy) !important;
  background:
    radial-gradient(
      circle,
      var(--kellys-navy) 0 4px,
      #fff 5px
    ) !important;
}
/* FINAL SHOPKEEPER SHIPPING OFFSET FIX */

.woocommerce-checkout #shipping_method input.shipping_method + label {
    padding-left: 74px !important;
}

.woocommerce-checkout #shipping_method input.shipping_method + label::before {
    left: 14px !important;
}

/* =====================================================
   KELLY'S SHOP FILTER DRAWER — CLEAN FINAL VERSION
===================================================== */

/* Drawer */
.offcanvas_content_left {
    width: 400px !important;
    max-width: 92vw !important;
    height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #fff !important;
    box-shadow: 14px 0 35px rgba(0,0,0,.14) !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left #filters-offcanvas {
    width: 100% !important;
    padding: 28px 28px 44px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* Filter sections */
.offcanvas_content_left #filters-offcanvas > .widget {
    width: 100% !important;
    margin: 0 !important;
    padding: 28px 0 !important;
    border-bottom: 1px solid #e9e9e9 !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left #filters-offcanvas > .widget:first-child {
    padding-top: 8px !important;
}

.offcanvas_content_left #filters-offcanvas > .widget:last-child {
    border-bottom: 0 !important;
}

/* Headings */
.offcanvas_content_left #filters-offcanvas .widget-title {
    position: relative !important;
    display: block !important;
    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 0 12px !important;

    color: #17365D !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    letter-spacing: .8px !important;
    text-transform: uppercase !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.offcanvas_content_left #filters-offcanvas .widget-title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;

    width: 42px !important;
    height: 3px !important;

    background: #B89A4B !important;
    border-radius: 3px !important;
}

/* Lists */
.offcanvas_content_left #filters-offcanvas ul {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

/* =====================================================
   CATEGORY ACCORDION
===================================================== */

.offcanvas_content_left .widget_product_categories li {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_product_categories li > a {
    display: block !important;
    width: 100% !important;

    padding: 10px 42px 10px 0 !important;

    color: #222 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_product_categories li > a:hover {
    color: #B89A4B !important;
}

/* Children */
.offcanvas_content_left .widget_product_categories ul.children {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 5px 18px !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_product_categories ul.children li > a {
    padding-top: 7px !important;
    padding-bottom: 7px !important;

    color: #555 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Accordion button */
.offcanvas_content_left .kellys-category-toggle {
    position: absolute !important;
    top: 6px !important;
    right: 0 !important;

    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;

    background: #f6f6f6 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;

    cursor: pointer !important;
}

.offcanvas_content_left .kellys-category-toggle::before {
    content: "" !important;
    position: absolute !important;
    top: 10px !important;
    left: 11px !important;

    width: 7px !important;
    height: 7px !important;

    border-right: 2px solid #17365D !important;
    border-bottom: 2px solid #17365D !important;

    transform: rotate(45deg) !important;
    transition: transform .2s ease !important;
}

.offcanvas_content_left
.kellys-category-toggle[aria-expanded="true"]::before {
    transform: rotate(225deg) translate(-2px,-2px) !important;
}

/* Remove unwanted category circles */
.offcanvas_content_left
.widget_product_categories
.product-categories li > a::before {
    content: none !important;
    display: none !important;
}

/* =====================================================
   BRAND FILTER
===================================================== */

.offcanvas_content_left
.wc-brand-list-layered-nav-product_brand li {
    position: relative !important;
    display: block !important;
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

.offcanvas_content_left
.wc-brand-list-layered-nav-product_brand li > a {
    position: relative !important;
    display: block !important;
    width: 100% !important;

    padding: 8px 0 8px 28px !important;

    color: #222 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
}

/* Checkbox */
.offcanvas_content_left
.wc-brand-list-layered-nav-product_brand li > a::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;

    width: 16px !important;
    height: 16px !important;

    background: #fff !important;
    border: 1.5px solid #999 !important;
    border-radius: 4px !important;

    transform: translateY(-50%) !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left
.wc-brand-list-layered-nav-product_brand li.chosen > a::before {
    border-color: #17365D !important;
    background:
        linear-gradient(#17365D,#17365D) center/9px 9px no-repeat,
        #fff !important;
}

.offcanvas_content_left
.wc-brand-list-layered-nav-product_brand li > a:hover {
    color: #B89A4B !important;
}

/* Hide all product counts */
.offcanvas_content_left .count,
.offcanvas_content_left .wc-layered-nav-term .count,
.offcanvas_content_left .widget_product_categories .count {
    display: none !important;
}

/* =====================================================
   PRICE FILTER
===================================================== */

.offcanvas_content_left .widget_price_filter .price_slider_wrapper {
    padding-top: 5px !important;
}

.offcanvas_content_left .widget_price_filter .price_slider {
    height: 6px !important;
    margin: 16px 9px 24px !important;

    background: #e4e4e4 !important;
    border-radius: 999px !important;
}

.offcanvas_content_left
.widget_price_filter
.ui-slider-range {
    background: #B89A4B !important;
    border-radius: 999px !important;
}

.offcanvas_content_left
.widget_price_filter
.ui-slider-handle {
    top: 50% !important;

    width: 19px !important;
    height: 19px !important;
    margin-top: -9px !important;

    background: #fff !important;
    border: 3px solid #17365D !important;
    border-radius: 50% !important;
    box-shadow: 0 3px 8px rgba(0,0,0,.14) !important;
}

.offcanvas_content_left
.widget_price_filter
.price_slider_amount {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.offcanvas_content_left
.widget_price_filter
.price_label {
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.offcanvas_content_left
.widget_price_filter
button.button {
    min-width: 105px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 18px !important;

    background: #17365D !important;
    color: #fff !important;

    border: 0 !important;
    border-radius: 9px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .7px !important;
    text-transform: uppercase !important;
}

.offcanvas_content_left
.widget_price_filter
button.button:hover {
    background: #B89A4B !important;
}

/* =====================================================
   RESET FILTERS
===================================================== */

.offcanvas_content_left
.product-search-filter-reset-clear {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 44px !important;

    background: #fff !important;
    color: #17365D !important;

    border: 2px solid #17365D !important;
    border-radius: 9px !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .7px !important;
    text-transform: uppercase !important;
}

.offcanvas_content_left
.product-search-filter-reset-clear:hover {
    background: #B89A4B !important;
    border-color: #B89A4B !important;
    color: #fff !important;
}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 768px) {

    .offcanvas_content_left {
        width: 90vw !important;
        max-width: 370px !important;
    }

    .offcanvas_content_left #filters-offcanvas {
        padding: 22px 22px 36px !important;
    }

    .offcanvas_content_left #filters-offcanvas > .widget {
        padding: 23px 0 !important;
    }

    .offcanvas_content_left #filters-offcanvas .widget-title {
        font-size: 15px !important;
    }
}
/* =====================================================
   PRICE FILTER — STOP HORIZONTAL OVERFLOW
===================================================== */

.offcanvas_content_left .widget_price_filter,
.offcanvas_content_left .widget_price_filter .price_slider_wrapper,
.offcanvas_content_left .widget_price_filter form {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_price_filter .price_slider {
    width: auto !important;
    max-width: 100% !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_price_filter .ui-slider-handle {
    box-sizing: border-box !important;
}

/* Keep the price text and button inside the drawer */
.offcanvas_content_left .widget_price_filter .price_slider_amount {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_price_filter .price_label {
    min-width: 0 !important;
    white-space: normal !important;
}

/* =====================================================
   FILTER DRAWER — NARROW SCREEN OVERFLOW FIX
===================================================== */

/* Keep every widget inside the drawer */
.offcanvas_content_left,
.offcanvas_content_left #filters-offcanvas,
.offcanvas_content_left #filters-offcanvas .widget {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* Allow long headings to wrap */
.offcanvas_content_left #filters-offcanvas .widget-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;

    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;

    font-size: 14px !important;
    line-height: 1.35 !important;
    box-sizing: border-box !important;
}

/* Force the price slider to stay inside the widget */
.offcanvas_content_left .widget_price_filter .price_slider_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_price_filter .price_slider {
    display: block !important;
    position: relative !important;

    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;

    margin: 16px 9px 24px !important;
    left: 0 !important;
    right: auto !important;

    box-sizing: border-box !important;
}

/* Keep slider handles inside both ends */
.offcanvas_content_left .widget_price_filter .ui-slider-handle:first-of-type {
    margin-left: 0 !important;
}

.offcanvas_content_left .widget_price_filter .ui-slider-handle:last-of-type {
    margin-left: -18px !important;
}

/* Keep price text/button contained */
.offcanvas_content_left .widget_price_filter .price_slider_amount {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.offcanvas_content_left .widget_price_filter .price_label {
    min-width: 0 !important;
    font-size: 11px !important;
    white-space: normal !important;
}

/* =====================================================
   KELLY'S SEARCH OVERLAY — EXACT SHOPKEEPER SELECTORS
===================================================== */

/* Search overlay spacing */
#offCanvasTop1.site-search .row.has-scrollbar {
    padding: 38px 70px 42px !important;
    margin: 0 !important;
    min-height: 190px !important;
    box-sizing: border-box !important;
}

/* Small prompt */
#offCanvasTop1.site-search .search-text {
    margin: 0 0 14px !important;
    color: #B89A4B !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 1.3px !important;
    text-transform: uppercase !important;
}

/* Exact search input */
#offCanvasTop1.site-search #search-input {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 58px 14px 0 !important;

    color: #17365D !important;
    -webkit-text-fill-color: #17365D !important;

    background: transparent !important;
    border: 0 !important;
    border-bottom: 2px solid #dedede !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

/* Exact placeholder */
#offCanvasTop1.site-search #search-input::placeholder {
    color: #17365D !important;
    -webkit-text-fill-color: #17365D !important;
    opacity: .55 !important;
}

#offCanvasTop1.site-search #search-input::-webkit-input-placeholder {
    color: #17365D !important;
    -webkit-text-fill-color: #17365D !important;
    opacity: .55 !important;
}

#offCanvasTop1.site-search #search-input::-moz-placeholder {
    color: #17365D !important;
    opacity: .55 !important;
}

/* Gold line while typing */
#offCanvasTop1.site-search #search-input:focus {
    border-bottom-color: #B89A4B !important;
    outline: 0 !important;
}

/* Search icon area */
#offCanvasTop1.site-search .search-preloader {
    right: 0 !important;
}

#offCanvasTop1.site-search .search-preloader::before,
#offCanvasTop1.site-search .search-preloader::after {
    border-color: #17365D !important;
}

/* Close button */
#offCanvasTop1.site-search .site-search-close {
    top: 24px !important;
    right: 28px !important;
    color: #17365D !important;
}

/* Mobile */
@media (max-width: 768px) {
    #offCanvasTop1.site-search .row.has-scrollbar {
        padding: 34px 24px 36px !important;
        min-height: 170px !important;
    }

    #offCanvasTop1.site-search #search-input {
        padding-right: 48px !important;
        font-size: 24px !important;
    }
}
/* Final search overlay refinements */

#offCanvasTop1.site-search .row.has-scrollbar {
    min-height: 165px !important;
    padding-bottom: 1px !important;
}

#offCanvasTop1.site-search .search-preloader,
#offCanvasTop1.site-search .search-preloader::before,
#offCanvasTop1.site-search .search-preloader::after {
    color: #17365D !important;
    border-color: #17365D !important;
}

/* =====================================================
   KELLY'S FOOTER — FINAL POLISH
===================================================== */

/* Trust bar */
.kellys-footer-trust {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.kellys-footer-trust .vc_icon_element-icon {
    color: #B89A4B !important;
    font-size: 32px !important;
}

.kellys-footer-trust h4,
.kellys-footer-trust h5,
.kellys-footer-trust h6 {
    margin: 10px 0 0 !important;
    color: #B89A4B !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

/* Social icons side by side */
.kellys-footer-socials {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    margin-top: 16px !important;
}

.kellys-footer-socials .wpb_column {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kellys-footer-socials .vc_icon_element {
    margin: 0 !important;
}

.kellys-footer-socials .vc_icon_element-icon {
    color: #fff !important;
    transition: color .2s ease !important;
}

.kellys-footer-socials a:hover .vc_icon_element-icon {
    color: #B89A4B !important;
}

/* Payment logos */
.kellys-footer-payments {
    padding: 18px 20px !important;
    text-align: center !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
}

.kellys-footer-payments img {
    width: auto !important;
    max-width: 320px !important;
    max-height: 30px !important;
}

/* Copyright */
.kellys-footer-copyright {
    padding: 14px 20px !important;
    background: #102B4C !important;
    text-align: center !important;
}

.kellys-footer-copyright p {
    margin: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* Mobile */
@media (max-width: 767px) {
    .kellys-footer-trust .wpb_column {
        margin-bottom: 24px !important;
    }

    .kellys-footer-socials {
        justify-content: center !important;
    }

    .kellys-footer-payments img {
        max-width: 240px !important;
    }

    .kellys-footer-copyright p {
        font-size: 12px !important;
    }
}

/* Trust-bar headings in Kelly's navy */
.kellys-footer-trust .vc_custom_heading,
.kellys-footer-trust h1,
.kellys-footer-trust h2,
.kellys-footer-trust h3,
.kellys-footer-trust h4,
.kellys-footer-trust h5,
.kellys-footer-trust h6 {
    color: #17365D !important;
}


/* Remove stray global heading underline from footer brand section */
.page .kellys-footer-brand .wpb_wrapper h3::after,
.page .kellys-footer-brand .wpb_wrapper h4::after,
.page .kellys-footer-brand .vc_custom_heading::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
}
/* Hide Shopkeeper's default footer */
.site-footer,
#site-footer,
.footer,
footer.site-footer {
    display: none !important;
}
/* =====================================================
   MY ACCOUNT ORDERS — KEEP ACTION BUTTONS INSIDE CARD
===================================================== */

.woocommerce-account .woocommerce-orders-table {
    width: 100% !important;
    table-layout: auto !important;
}

.woocommerce-account
.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions {
    min-width: 250px !important;
    white-space: nowrap !important;
    text-align: right !important;
}

.woocommerce-account
.woocommerce-orders-table
.woocommerce-orders-table__cell-order-actions .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 118px !important;
    margin: 4px 0 4px 8px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* Give the whole table/card a little more usable width */
.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 1320px !important;
}
@media (max-width: 768px) {
    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-actions {
        min-width: 0 !important;
        white-space: normal !important;
        text-align: left !important;
    }

    .woocommerce-account
    .woocommerce-orders-table
    .woocommerce-orders-table__cell-order-actions .button {
        width: 100% !important;
        margin: 6px 0 !important;
    }
}

/* Sports mega menu — lift Rugby image into alignment */
#mega-menu-item-media_image-6 {
    margin-top: -24px !important;
}
/* =====================================================
   CART — REMOVE EXCESS EMPTY HEIGHT
===================================================== */

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .woocommerce-cart-form table.shop_table,
.woocommerce-cart .woocommerce-cart-form .shop_table,
.woocommerce-cart .cart-collaterals {
    min-height: 0 !important;
    height: auto !important;
}

.woocommerce-cart .woocommerce-cart-form {
    padding-bottom: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table {
    margin-bottom: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form .actions {
    padding-bottom: 26px !important;
    margin-bottom: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form::after,
.woocommerce-cart .woocommerce-cart-form table.shop_table::after {
    content: none !important;
    display: none !important;
}
/* Align shipping methods neatly */
.woocommerce-cart #shipping_method {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart #shipping_method li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
}

.woocommerce-cart #shipping_method input[type="radio"] {
    margin-top: 4px !important;
    flex: 0 0 auto !important;
}

.woocommerce-cart #shipping_method label {
    display: block !important;
    margin: 0 !important;
    line-height: 1.6 !important;
    font-weight: 600;
}

.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .woocommerce-shipping-calculator {
    margin-left: 32px !important;
    color: #777;
    font-size: 14px;
}
/* =====================================================
   CART SHIPPING — FINAL ALIGNMENT FIX
===================================================== */

.woocommerce-cart
.cart_totals
ul#shipping_method.woocommerce-shipping-methods li {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;

    text-align: left !important;
}

.woocommerce-cart
.cart_totals
ul#shipping_method li input.shipping_method {
    position: static !important;
    flex: 0 0 18px !important;

    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;

    transform: none !important;
}

.woocommerce-cart
.cart_totals
ul#shipping_method li label {
    position: static !important;
    display: block !important;
    flex: 1 1 auto !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
    line-height: 1.45 !important;
}

/* Align the delivery-address note beneath the method wording */
.woocommerce-cart
.cart_totals
.woocommerce-shipping-destination {
    margin: 2px 0 0 30px !important;
    text-align: left !important;
    line-height: 1.45 !important;
}
/* Hide mobile labels inside cart */
@media (max-width: 768px){

.woocommerce-cart td.product-name::before,
.woocommerce-cart td.product-price::before,
.woocommerce-cart td.product-quantity::before,
.woocommerce-cart td.product-subtotal::before{
    display:none !important;
}

}
/* =====================================================
   MOBILE CART — REMOVE GENERATED DATA-TITLE LABELS
===================================================== */

@media (max-width: 768px) {

    .woocommerce-cart
    table.shop_table_responsive
    tr.cart_item
    td::before,

    .woocommerce-cart
    table.shop_table_responsive
    tr.woocommerce-cart-form__cart-item
    td::before,

    .woocommerce-cart
    table.shop_table_responsive
    tr.cart_item
    td[data-title]::before {
        content: none !important;
        display: none !important;
        width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

}

/* =====================================================
   MOBILE CART — FINAL PRODUCT CARD
===================================================== */

@media (max-width: 768px) {

    .woocommerce-cart
    tr.woocommerce-cart-form__cart-item {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 14px 18px !important;

        width: 100% !important;
        padding: 28px 22px !important;
        box-sizing: border-box !important;
    }

    /* Remove stray blue dot / decoration */
    .woocommerce-cart
    tr.woocommerce-cart-form__cart-item::before,
    .woocommerce-cart
    tr.woocommerce-cart-form__cart-item::after {
        content: none !important;
        display: none !important;
    }

    /* Reset cells */
    .woocommerce-cart
    tr.woocommerce-cart-form__cart-item td {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    /* Remove button */
    .woocommerce-cart td.product-remove {
        position: absolute !important;
        top: 22px !important;
        right: 22px !important;
        z-index: 3 !important;
    }

    /* Product image */
    .woocommerce-cart td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .woocommerce-cart td.product-thumbnail img {
        width: 92px !important;
        height: 92px !important;
        max-width: 92px !important;
        object-fit: contain !important;
        border-radius: 12px !important;
    }

    /* Product information */
    .woocommerce-cart td.product-name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding-right: 28px !important;
    }

    .woocommerce-cart td.product-name > a {
        display: block !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
    }

    .woocommerce-cart td.product-name .variation {
        margin-top: 12px !important;
    }

    /* Price, quantity and subtotal rows */
    .woocommerce-cart td.product-price,
    .woocommerce-cart td.product-quantity,
    .woocommerce-cart td.product-subtotal {
        grid-column: 1 / -1 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        padding-top: 16px !important;
        border-top: 1px solid #eeeeee !important;
    }

    .woocommerce-cart td.product-price::before {
        content: "Price" !important;
    }

    .woocommerce-cart td.product-quantity::before {
        content: "Quantity" !important;
    }

    .woocommerce-cart td.product-subtotal::before {
        content: "Subtotal" !important;
    }

    .woocommerce-cart td.product-price::before,
    .woocommerce-cart td.product-quantity::before,
    .woocommerce-cart td.product-subtotal::before {
        display: block !important;
        width: auto !important;
        margin: 0 !important;

        color: #17365D !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        letter-spacing: .5px !important;
        text-transform: uppercase !important;
    }

/* ============================
   MOBILE CART QUANTITY
============================ */

@media (max-width:768px){

.woocommerce-cart td.product-quantity{
    text-align:center !important;
}

.woocommerce-cart td.product-quantity .quantity.custom{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
    margin:18px auto !important;
}

.woocommerce-cart td.product-quantity .quantity{
    width:220px !important;
    max-width:220px !important;
    margin:0 auto !important;
}

.woocommerce-cart td.product-quantity input.qty{
    width:60px !important;
}

}

    /* Coupon */
    .woocommerce-cart td.actions {
        display: block !important;
        width: 100% !important;
        padding: 24px 22px !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart td.actions .coupon {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: none !important;
    }

    .woocommerce-cart td.actions .coupon input,
    .woocommerce-cart td.actions .coupon button {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}
/* =====================================================
   CART — REMOVE ESCAPED SHIPPING RADIO DOT
===================================================== */

.woocommerce-cart
#shipping_method
input.shipping_method::before,
.woocommerce-cart
#shipping_method
input.shipping_method::after {
    content: none !important;
    display: none !important;
}

/* Use the normal radio control inside Cart Totals */
.woocommerce-cart
#shipping_method
input.shipping_method {
    position: static !important;
    appearance: auto !important;
    -webkit-appearance: radio !important;

    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;

    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
/* ==========================================
   Secondary Gift Card Button
========================================== */

.woocommerce-cart .giftcard_button,
.woocommerce-cart .gift-card-apply-button {
    background: #fff !important;
    color: #17365D !important;
    border: 2px solid #17365D !important;
    box-shadow: none !important;
    transition: all .25s ease;
}

.woocommerce-cart .giftcard_button:hover,
.woocommerce-cart .gift-card-apply-button:hover {
    background: #17365D !important;
    color: #fff !important;
}
/* ==========================================
   Rounded Cart & Checkout Buttons
========================================== */

.woocommerce-cart .giftcard_button,
.woocommerce-cart .gift-card-apply-button,
.woocommerce-cart .wc-proceed-to-checkout a,
.woocommerce-cart .ppc-button-wrapper,
.woocommerce-cart .paypal-buttons,
.woocommerce-cart .paypal-buttons iframe,
.woocommerce-cart .ppc-button {
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Also round the native buttons */
.woocommerce-cart button,
.woocommerce-cart input[type="submit"] {
    border-radius: 12px !important;
}

/* ==========================================
   Gift Card Section
========================================== */

.woocommerce-cart .giftcard {
    margin-top: 28px !important;
}

.woocommerce-cart .giftcard h3,
.woocommerce-cart .giftcard label {
    margin-bottom: 16px !important;
    display: block;
    font-weight: 700;
}

.woocommerce-cart .giftcard input[type="text"] {
    margin-bottom: 16px !important;
    border-radius: 12px !important;
}

.woocommerce-cart .giftcard_button,
.woocommerce-cart .gift-card-apply-button {
    width: 100%;
    margin-bottom: 20px;
}

/* ==========================================
   Secondary Gift Card Button
========================================== */

.woocommerce-cart .giftcard_button,
.woocommerce-cart .gift-card-apply-button {

    background:#fff !important;
    color:#17365D !important;

    border:2px solid #17365D !important;

    transition:.25s;
}

.woocommerce-cart .giftcard_button:hover,
.woocommerce-cart .gift-card-apply-button:hover{

    background:#17365D !important;
    color:#fff !important;

}
/* ==========================================
   Rounded Buttons
========================================== */

.woocommerce-cart .giftcard_button,
.woocommerce-cart .gift-card-apply-button,
.woocommerce-cart .wc-proceed-to-checkout a{

    border-radius:12px !important;

}
/* ==========================================
   Coupon Button
========================================== */

.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="apply_coupon"] {

    background:#fff !important;
    color:#17365D !important;

    border:2px solid #17365D !important;
    border-radius:12px !important;

    box-shadow:none !important;

    transition:.25s;
}

.woocommerce-cart .coupon .button:hover,
.woocommerce-cart button[name="apply_coupon"]:hover{

    background:#17365D !important;
    color:#fff !important;

}

/* ==========================================
   Hide Gift Card on Cart Page Only
========================================== */

.woocommerce-cart #pwgc-redeem-gift-card-container,
.woocommerce-cart #pwgc-redeem-gift-card-form {
    display: none !important;
}

@media (max-width:768px){

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals{
    padding-left:18px !important;
    padding-right:18px !important;
    box-sizing:border-box;
}

/* ==========================================
   Mobile Cart Totals Alignment
========================================== */

@media (max-width: 768px) {

    .woocommerce-cart .cart-collaterals {
        width: calc(100% - 60px) !important;
        margin: 30px auto 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 100% !important;
        margin: 0 !important;
    }

}
	/* ==========================================
   MOBILE CART — MATCH TOTALS CARD WIDTH
========================================== */

@media (max-width: 768px) {

    .woocommerce-cart .cart-collaterals {
        width: calc(100% - 40px) !important;
        max-width: none !important;
        margin: 30px auto 0 !important;
        padding: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
        box-sizing: border-box !important;
        float: none !important;
    }
	}
	
    .woocommerce-cart .cart-collaterals .cart_totals table {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }
}

/* Blind Buy homepage cards */
.blind-buy-card img {
    border-radius: 18px;
    overflow: hidden;
    transition: transform .3s ease;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.blind-buy-card:hover img {
    transform: scale(1.03);
}
	