
.harpun-product-tabs-widget{width:100%;box-sizing:border-box;font-family:inherit;color:inherit;}
.harpun-product-tabs-widget *{box-sizing:border-box;}
.harpun-main-tabs{display:flex;align-items:center;justify-content:center;gap:28px;margin:0 0 105px 0;padding:0;border:0;background:transparent;white-space:nowrap;}
.harpun-main-tab{appearance:none;border:0!important;background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important;font:inherit;font-weight:700;color:#898989;cursor:pointer;line-height:1.2;}
.harpun-main-tab.is-active{color:#111;}
.harpun-tab-panel{display:none;}
.harpun-tab-panel.is-active{display:block;}
.harpun-product-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 140px;grid-template-areas:"image colors" "info info";column-gap:58px;row-gap:44px;align-items:center;max-width:720px;margin:0 auto;}
.harpun-product-image-wrap{grid-area:image;text-align:center;}
.harpun-product-image{display:inline-block;max-width:100%;width:520px;height:auto;vertical-align:middle;}
.harpun-color-options{grid-area:colors;display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.harpun-color-option{appearance:none;border:0!important;background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important;display:inline-flex;align-items:center;gap:8px;font:inherit;color:#777;line-height:1.2;cursor:pointer;white-space:nowrap;}
.harpun-color-dot{display:inline-block;width:15px;height:15px;border-radius:50%;flex:0 0 15px;background-color:var(--hpt-dot-color,#d9d9d9);border:var(--hpt-dot-border-width,0px) solid var(--hpt-dot-border-color,transparent);}
.harpun-info-grid{grid-area:info;display:flex;flex-direction:column;align-items:center;width:fit-content;max-width:100%;margin:0 auto;font-size:14px;line-height:1.35;color:#555;}
.harpun-info-row{display:grid;grid-template-columns:max-content max-content max-content;column-gap:72px;align-items:center;width:fit-content;max-width:100%;padding:0;}
.harpun-info-row-middle{background:#f4f4f4;padding:2px 0;}
.harpun-info-item{white-space:nowrap;min-width:0;}
.harpun-info-item strong{font-weight:600;}
@media (max-width:1024px){.harpun-main-tabs{margin-bottom:70px}.harpun-product-layout{max-width:650px;grid-template-columns:minmax(0,1fr) 120px;column-gap:30px}.harpun-info-row{column-gap:42px}}
@media (max-width:767px){.harpun-main-tabs{justify-content:flex-start;overflow-x:auto;gap:18px;margin-bottom:28px;-webkit-overflow-scrolling:touch}.harpun-product-layout{display:flex;flex-direction:column;gap:22px;max-width:100%;}.harpun-product-image{width:100%;max-width:420px}.harpun-color-options{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 18px;width:100%;}.harpun-info-grid{width:100%;font-size:13px;align-items:stretch}.harpun-info-row{grid-template-columns:repeat(3,1fr);column-gap:8px;width:100%;}.harpun-info-row-middle{width:100%;padding:4px 0}.harpun-info-item{white-space:normal;word-break:normal;line-height:1.3}}
@media (max-width:480px){.harpun-info-grid{font-size:12px}.harpun-info-row{column-gap:6px}.harpun-color-options{justify-content:flex-start}.harpun-main-tab{font-size:14px}}

/* Harpun responsive product table widget */
.harpun-product-table-widget{width:100%;box-sizing:border-box;font-family:inherit;color:inherit;}
.harpun-product-table-widget *{box-sizing:border-box;}
.harpun-table-section{margin:0 0 58px 0;}
.harpun-table-section:last-child{margin-bottom:0;}
.harpun-table-title{margin:0 0 16px 0;font-size:18px;line-height:1.25;font-weight:800;color:#ef1d1d;}
.harpun-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.harpun-data-table{width:100%;min-width:680px;border-collapse:collapse;border-spacing:0;font-size:13px;line-height:1.35;color:#555;background:transparent;}
.harpun-data-table th,.harpun-data-table td{padding:8px 12px;text-align:left;border:0;vertical-align:middle;white-space:nowrap;}
.harpun-data-table thead th{font-weight:700;color:#ef1d1d;background:transparent;}
.harpun-data-table tbody tr{transition:background-color .18s ease,opacity .18s ease;}
.harpun-data-table tbody tr:nth-child(even){background:#f4f4f4;}
.harpun-data-table tbody tr:hover{background:#eeeeee;}
.harpun-data-table tbody tr.is-faded{opacity:.28;}
.harpun-data-table tbody tr.is-hidden-extra{display:none;}
.harpun-table-section.is-expanded .harpun-data-table tbody tr.is-faded{opacity:1;}
.harpun-table-section.is-expanded .harpun-data-table tbody tr.is-hidden-extra{display:table-row;}
.harpun-show-table{appearance:none;border:0!important;background:transparent!important;padding:13px 0 0 0!important;margin:0!important;box-shadow:none!important;font:inherit;font-size:13px;font-weight:500;color:#333;cursor:pointer;line-height:1.2;}
.harpun-show-table:hover{color:#ef1d1d;}

@media (max-width:767px){
  .harpun-table-section{margin-bottom:42px;}
  .harpun-table-title{font-size:16px;margin-bottom:12px;}
  .harpun-data-table{min-width:620px;font-size:12px;}
  .harpun-data-table th,.harpun-data-table td{padding:7px 9px;}
}

@media (max-width:480px){
  .harpun-table-scroll{overflow:visible;}
  .harpun-data-table{min-width:0;width:100%;display:block;}
  .harpun-data-table thead{display:none;}
  .harpun-data-table tbody{display:block;}
  .harpun-data-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border-bottom:1px solid #efefef;padding:8px 0;}
  .harpun-data-table tbody tr:nth-child(even){background:#f4f4f4;}
  .harpun-data-table tbody tr:hover{background:#eeeeee;}
  .harpun-data-table tbody tr.is-hidden-extra{display:none;}
  .harpun-table-section.is-expanded .harpun-data-table tbody tr.is-hidden-extra{display:grid;}
  .harpun-data-table td{display:flex;flex-direction:column;gap:2px;white-space:normal;padding:6px 10px;line-height:1.35;}
  .harpun-data-table td:before{content:attr(data-label);font-weight:700;color:#ef1d1d;font-size:11px;line-height:1.2;}
  .harpun-show-table{font-size:12px;padding-top:10px!important;}
}


/* v12: lock product tab widget design so table/widget/global theme styles cannot change it */
.harpun-product-tabs-widget .harpun-main-tabs{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:28px!important;
  margin:0 0 105px 0!important;padding:0!important;border:0!important;background:transparent!important;
}
.harpun-product-tabs-widget .harpun-main-tab,
.harpun-product-tabs-widget .harpun-main-tab:hover,
.harpun-product-tabs-widget .harpun-main-tab:focus{
  appearance:none!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;
  box-shadow:none!important;text-decoration:none!important;font:inherit!important;font-weight:700!important;
  color:#898989!important;line-height:1.2!important;cursor:pointer!important;
}
.harpun-product-tabs-widget .harpun-main-tab.is-active,
.harpun-product-tabs-widget .harpun-main-tab.is-active:hover,
.harpun-product-tabs-widget .harpun-main-tab.is-active:focus{color:#111!important;}
.harpun-product-tabs-widget .harpun-product-layout{
  position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) 140px!important;
  grid-template-areas:"image colors" "info info"!important;column-gap:58px!important;row-gap:44px!important;
  align-items:center!important;max-width:720px!important;margin:0 auto!important;
}
.harpun-product-tabs-widget .harpun-product-image-wrap{grid-area:image!important;text-align:center!important;}
.harpun-product-tabs-widget .harpun-product-image{display:inline-block!important;max-width:100%!important;width:520px!important;height:auto!important;vertical-align:middle!important;}
.harpun-product-tabs-widget .harpun-color-options{grid-area:colors!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;}
.harpun-product-tabs-widget .harpun-color-option,
.harpun-product-tabs-widget .harpun-color-option:hover,
.harpun-product-tabs-widget .harpun-color-option:focus{
  appearance:none!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important;
  display:inline-flex!important;align-items:center!important;gap:8px!important;font:inherit!important;color:#777!important;line-height:1.2!important;
  cursor:pointer!important;white-space:nowrap!important;text-decoration:none!important;
}
.harpun-product-tabs-widget .harpun-color-dot{display:inline-block!important;width:15px!important;height:15px!important;border-radius:50%!important;flex:0 0 15px!important;background-color:var(--hpt-dot-color,#d9d9d9)!important;border:var(--hpt-dot-border-width,0px) solid var(--hpt-dot-border-color,transparent)!important;}
.harpun-product-tabs-widget .harpun-info-grid{grid-area:info!important;display:flex!important;flex-direction:column!important;align-items:center!important;width:fit-content!important;max-width:100%!important;margin:0 auto!important;font-size:14px!important;line-height:1.35!important;color:#555!important;}
.harpun-product-tabs-widget .harpun-info-row{display:grid!important;grid-template-columns:max-content max-content max-content!important;column-gap:72px!important;align-items:center!important;width:fit-content!important;max-width:100%!important;padding:0!important;}
.harpun-product-tabs-widget .harpun-info-row-middle{background:#f4f4f4!important;padding:2px 0!important;}
.harpun-product-tabs-widget .harpun-info-item{white-space:nowrap!important;min-width:0!important;}
.harpun-product-tabs-widget .harpun-info-item strong{font-weight:600!important;}
@media (max-width:1024px){
  .harpun-product-tabs-widget .harpun-main-tabs{margin-bottom:70px!important;}
  .harpun-product-tabs-widget .harpun-product-layout{max-width:650px!important;grid-template-columns:minmax(0,1fr) 120px!important;column-gap:30px!important;}
  .harpun-product-tabs-widget .harpun-info-row{column-gap:42px!important;}
}
@media (max-width:767px){
  .harpun-product-tabs-widget .harpun-main-tabs{justify-content:flex-start!important;overflow-x:auto!important;gap:18px!important;margin-bottom:28px!important;-webkit-overflow-scrolling:touch!important;}
  .harpun-product-tabs-widget .harpun-product-layout{display:flex!important;flex-direction:column!important;gap:22px!important;max-width:100%!important;}
  .harpun-product-tabs-widget .harpun-product-image{width:100%!important;max-width:420px!important;}
  .harpun-product-tabs-widget .harpun-color-options{flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:12px 18px!important;width:100%!important;}
  .harpun-product-tabs-widget .harpun-info-grid{width:100%!important;font-size:13px!important;align-items:stretch!important;}
  .harpun-product-tabs-widget .harpun-info-row{grid-template-columns:repeat(3,1fr)!important;column-gap:8px!important;width:100%!important;}
  .harpun-product-tabs-widget .harpun-info-row-middle{width:100%!important;padding:4px 0!important;}
  .harpun-product-tabs-widget .harpun-info-item{white-space:normal!important;word-break:normal!important;line-height:1.3!important;}
}
@media (max-width:480px){
  .harpun-product-tabs-widget .harpun-info-grid{font-size:12px!important;}
  .harpun-product-tabs-widget .harpun-info-row{column-gap:6px!important;}
  .harpun-product-tabs-widget .harpun-color-options{justify-content:flex-start!important;}
  .harpun-product-tabs-widget .harpun-main-tab{font-size:14px!important;}
}


/* v13: final desktop spacing to match client mockup/reference */
@media (min-width: 768px){
  .harpun-product-tabs-widget .harpun-main-tabs{
    justify-content:center!important;
    gap:28px!important;
    margin:0 0 108px 0!important;
  }

  .harpun-product-tabs-widget .harpun-product-layout{
    max-width:760px!important;
    grid-template-columns:minmax(0, 560px) 150px!important;
    grid-template-areas:"image colors" "info info"!important;
    column-gap:58px!important;
    row-gap:66px!important;
    align-items:center!important;
    margin:0 auto!important;
  }

  .harpun-product-tabs-widget .harpun-product-image-wrap{
    text-align:center!important;
  }

  .harpun-product-tabs-widget .harpun-product-image{
    width:535px!important;
    max-width:100%!important;
  }

  .harpun-product-tabs-widget .harpun-color-options{
    align-self:center!important;
    justify-self:start!important;
    gap:12px!important;
    transform:translateY(2px)!important;
  }

  .harpun-product-tabs-widget .harpun-info-grid{
    width:fit-content!important;
    margin:0 auto!important;
    align-items:center!important;
    font-size:14px!important;
    line-height:1.32!important;
  }

  .harpun-product-tabs-widget .harpun-info-row{
    grid-template-columns:max-content max-content max-content!important;
    column-gap:78px!important;
    width:fit-content!important;
    justify-content:center!important;
  }

  .harpun-product-tabs-widget .harpun-info-row-middle{
    background:#f4f4f4!important;
    padding:2px 0!important;
  }
}

@media (min-width: 1025px){
  .harpun-product-tabs-widget .harpun-product-layout{
    max-width:800px!important;
    grid-template-columns:minmax(0, 580px) 150px!important;
    column-gap:60px!important;
  }
  .harpun-product-tabs-widget .harpun-product-image{width:550px!important;}
  .harpun-product-tabs-widget .harpun-info-row{column-gap:82px!important;}
}


/* v14: remove extra vertical space and tighten info alignment */
@media (min-width: 768px){
  .harpun-product-tabs-widget .harpun-main-tabs{
    margin:0 0 46px 0!important;
  }
  .harpun-product-tabs-widget .harpun-product-layout{
    row-gap:34px!important;
    max-width:760px!important;
  }
  .harpun-product-tabs-widget .harpun-product-image{
    width:535px!important;
  }
  .harpun-product-tabs-widget .harpun-info-grid{
    margin:0 auto!important;
    width:fit-content!important;
    text-align:left!important;
  }
  .harpun-product-tabs-widget .harpun-info-row{
    grid-template-columns:max-content max-content max-content!important;
    column-gap:70px!important;
    width:fit-content!important;
    justify-content:start!important;
    text-align:left!important;
  }
  .harpun-product-tabs-widget .harpun-info-row-middle{
    background:#f4f4f4!important;
    padding:2px 0!important;
    width:fit-content!important;
  }
}
@media (min-width: 1025px){
  .harpun-product-tabs-widget .harpun-main-tabs{
    margin-bottom:48px!important;
  }
  .harpun-product-tabs-widget .harpun-product-layout{
    row-gap:36px!important;
  }
  .harpun-product-tabs-widget .harpun-info-row{
    column-gap:74px!important;
  }
}


/* v15: align tabs and product info like the approved reference */
@media (min-width: 768px){
  .harpun-product-tabs-widget .harpun-main-tabs{
    max-width:760px!important;
    margin:0 auto 48px auto!important;
    justify-content:flex-start!important;
    padding-left:180px!important;
  }

  .harpun-product-tabs-widget .harpun-product-layout{
    max-width:760px!important;
    grid-template-columns:minmax(0, 560px) 140px!important;
    column-gap:58px!important;
    row-gap:36px!important;
    margin:0 auto!important;
  }

  .harpun-product-tabs-widget .harpun-product-image{
    width:535px!important;
  }

  .harpun-product-tabs-widget .harpun-color-options{
    align-self:center!important;
    justify-self:start!important;
  }

  .harpun-product-tabs-widget .harpun-info-grid{
    width:530px!important;
    max-width:530px!important;
    margin:0 auto!important;
    align-items:stretch!important;
    text-align:left!important;
  }

  .harpun-product-tabs-widget .harpun-info-row{
    width:100%!important;
    display:grid!important;
    grid-template-columns:155px 195px 180px!important;
    column-gap:0!important;
    justify-content:start!important;
    align-items:center!important;
    text-align:left!important;
  }

  .harpun-product-tabs-widget .harpun-info-row-middle{
    width:100%!important;
    background:#f4f4f4!important;
    padding:2px 0!important;
  }

  .harpun-product-tabs-widget .harpun-info-item{
    text-align:left!important;
    white-space:nowrap!important;
  }
}

@media (min-width:1025px){
  .harpun-product-tabs-widget .harpun-main-tabs{
    max-width:780px!important;
    padding-left:185px!important;
  }
  .harpun-product-tabs-widget .harpun-product-layout{
    max-width:780px!important;
    grid-template-columns:minmax(0, 575px) 145px!important;
    column-gap:60px!important;
  }
  .harpun-product-tabs-widget .harpun-product-image{
    width:545px!important;
  }
}

/* v16: final alignment like reference screenshot */
@media (min-width: 768px){
  .harpun-product-tabs-widget .harpun-main-tabs{
    max-width:700px!important;
    margin:0 auto 42px auto!important;
    padding-left:0!important;
    justify-content:flex-start!important;
    gap:28px!important;
  }

  .harpun-product-tabs-widget .harpun-product-layout{
    max-width:700px!important;
    grid-template-columns:minmax(0, 520px) 120px!important;
    column-gap:48px!important;
    row-gap:34px!important;
    margin:0 auto!important;
    align-items:center!important;
  }

  .harpun-product-tabs-widget .harpun-product-image-wrap{
    text-align:left!important;
  }

  .harpun-product-tabs-widget .harpun-product-image{
    width:520px!important;
    max-width:100%!important;
  }

  .harpun-product-tabs-widget .harpun-color-options{
    justify-self:start!important;
    align-self:center!important;
    transform:none!important;
    gap:12px!important;
  }

  .harpun-product-tabs-widget .harpun-info-grid{
    width:520px!important;
    max-width:520px!important;
    margin:0!important;
    align-items:stretch!important;
    text-align:left!important;
    justify-self:start!important;
  }

  .harpun-product-tabs-widget .harpun-info-row{
    width:100%!important;
    grid-template-columns:160px 190px 170px!important;
    column-gap:0!important;
    justify-content:start!important;
    text-align:left!important;
  }

  .harpun-product-tabs-widget .harpun-info-row-middle{
    width:100%!important;
    background:#f4f4f4!important;
    padding:2px 0!important;
  }

  .harpun-product-tabs-widget .harpun-info-item{
    text-align:left!important;
    white-space:nowrap!important;
  }
}

@media (min-width:1025px){
  .harpun-product-tabs-widget .harpun-main-tabs{
    max-width:720px!important;
    padding-left:0!important;
  }
  .harpun-product-tabs-widget .harpun-product-layout{
    max-width:720px!important;
    grid-template-columns:minmax(0, 535px) 125px!important;
    column-gap:50px!important;
  }
  .harpun-product-tabs-widget .harpun-product-image{
    width:535px!important;
  }
  .harpun-product-tabs-widget .harpun-info-grid{
    width:535px!important;
    max-width:535px!important;
  }
  .harpun-product-tabs-widget .harpun-info-row{
    grid-template-columns:165px 195px 175px!important;
  }
}


/* v17: Product table design update only - does not affect Harpun Product Tabs widget */
.harpun-product-table-widget .harpun-table-section{
  margin:0 0 54px 0!important;
}

.harpun-product-table-widget .harpun-table-title{
  margin:0 0 14px 0!important;
  color:#ef1d1d!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

.harpun-product-table-widget .harpun-table-scroll{
  width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
  border:0!important;
  background:transparent!important;
}

.harpun-product-table-widget .harpun-data-table{
  width:100%!important;
  min-width:680px!important;
  border-collapse:collapse!important;
  border-spacing:0!important;
  background:transparent!important;
  color:#555!important;
  font-size:13px!important;
  line-height:1.35!important;
}

.harpun-product-table-widget .harpun-data-table th,
.harpun-product-table-widget .harpun-data-table td{
  padding:8px 12px!important;
  text-align:left!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  border:0!important;
  border-bottom:1px solid #eeeeee!important;
  background:transparent!important;
}

.harpun-product-table-widget .harpun-data-table thead th{
  color:#ef1d1d!important;
  font-weight:700!important;
  border-bottom:1px solid #e9e9e9!important;
}

/* Remove permanent row background; only hover should turn row grey */
.harpun-product-table-widget .harpun-data-table tbody tr,
.harpun-product-table-widget .harpun-data-table tbody tr:nth-child(even){
  background:transparent!important;
  transition:background-color .18s ease, opacity .18s ease!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr:hover{
  background:#eeeeee!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr:hover td{
  background:transparent!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr.is-faded{
  opacity:.28!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr.is-hidden-extra{
  display:none!important;
}

.harpun-product-table-widget .harpun-table-section.is-expanded .harpun-data-table tbody tr.is-faded{
  opacity:1!important;
}

.harpun-product-table-widget .harpun-table-section.is-expanded .harpun-data-table tbody tr.is-hidden-extra{
  display:table-row!important;
}

.harpun-product-table-widget .harpun-show-table{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  border:0!important;
  background:transparent!important;
  padding:14px 0 0 0!important;
  margin:0!important;
  box-shadow:none!important;
  color:#333!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.2!important;
  cursor:pointer!important;
  text-decoration:none!important;
}

.harpun-product-table-widget .harpun-show-table:hover,
.harpun-product-table-widget .harpun-show-table:focus{
  color:#ef1d1d!important;
  background:transparent!important;
  outline:none!important;
}

@media (max-width:767px){
  .harpun-product-table-widget .harpun-table-section{margin-bottom:42px!important;}
  .harpun-product-table-widget .harpun-table-title{font-size:16px!important;margin-bottom:12px!important;}
  .harpun-product-table-widget .harpun-data-table{min-width:620px!important;font-size:12px!important;}
  .harpun-product-table-widget .harpun-data-table th,
  .harpun-product-table-widget .harpun-data-table td{padding:7px 9px!important;}
}

@media (max-width:480px){
  .harpun-product-table-widget .harpun-table-scroll{overflow:visible!important;}
  .harpun-product-table-widget .harpun-data-table{min-width:0!important;width:100%!important;display:block!important;}
  .harpun-product-table-widget .harpun-data-table thead{display:none!important;}
  .harpun-product-table-widget .harpun-data-table tbody{display:block!important;}
  .harpun-product-table-widget .harpun-data-table tbody tr,
  .harpun-product-table-widget .harpun-data-table tbody tr:nth-child(even){
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    background:transparent!important;
    border-bottom:1px solid #eeeeee!important;
    padding:8px 0!important;
  }
  .harpun-product-table-widget .harpun-data-table tbody tr:hover{background:#eeeeee!important;}
  .harpun-product-table-widget .harpun-data-table tbody tr.is-hidden-extra{display:none!important;}
  .harpun-product-table-widget .harpun-table-section.is-expanded .harpun-data-table tbody tr.is-hidden-extra{display:grid!important;}
  .harpun-product-table-widget .harpun-data-table td{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    white-space:normal!important;
    padding:6px 10px!important;
    border-bottom:0!important;
    line-height:1.35!important;
  }
  .harpun-product-table-widget .harpun-data-table td:before{
    content:attr(data-label)!important;
    font-weight:700!important;
    color:#ef1d1d!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
  .harpun-product-table-widget .harpun-show-table{font-size:12px!important;padding-top:10px!important;}
}


/* v18: exact table requirement only - no effect on tab widget */
.harpun-product-table-widget .harpun-table-scroll,
.harpun-product-table-widget .harpun-data-table{
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  outline:0!important;
}

.harpun-product-table-widget .harpun-data-table th,
.harpun-product-table-widget .harpun-data-table td{
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:1px solid #eeeeee!important;
  background:transparent!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr,
.harpun-product-table-widget .harpun-data-table tbody tr:nth-child(odd),
.harpun-product-table-widget .harpun-data-table tbody tr:nth-child(even){
  background:transparent!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr:hover{
  background:#eeeeee!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr.is-faded{
  opacity:.25!important;
}

.harpun-product-table-widget .harpun-data-table tbody tr.is-hidden-extra{
  display:none!important;
}

.harpun-product-table-widget .harpun-table-section.is-expanded .harpun-data-table tbody tr.is-faded{
  opacity:1!important;
}

.harpun-product-table-widget .harpun-table-section.is-expanded .harpun-data-table tbody tr.is-hidden-extra{
  display:table-row!important;
}

.harpun-product-table-widget .harpun-show-table{
  border:0!important;
  background:transparent!important;
  color:#333!important;
  padding:14px 0 0 0!important;
  margin:0!important;
}

.harpun-product-table-widget .harpun-show-table:hover{
  color:#ef1d1d!important;
  background:transparent!important;
}

@media (max-width:480px){
  .harpun-product-table-widget .harpun-data-table tbody tr.is-hidden-extra{display:none!important;}
  .harpun-product-table-widget .harpun-table-section.is-expanded .harpun-data-table tbody tr.is-hidden-extra{display:grid!important;}
}

/* v20: dynamic Harpun product system */
.harpun-product-search{position:relative;width:100%;z-index:9999;}
.harpun-product-search-field{position:relative;width:100%;}
.harpun-product-search-input{display:block;width:100%;height:52px;box-sizing:border-box;border:0!important;outline:0!important;border-radius:0!important;background:#f1f1f1;color:#222;padding:0 76px 0 42px;font:inherit;box-shadow:none!important;-webkit-appearance:none;appearance:none;}
.harpun-product-search-input::-webkit-search-decoration,.harpun-product-search-input::-webkit-search-cancel-button,.harpun-product-search-input::-webkit-search-results-button,.harpun-product-search-input::-webkit-search-results-decoration{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;}
.harpun-product-search-input::-ms-clear{display:none!important;width:0!important;height:0!important;}
.harpun-product-search-input::placeholder{color:#777;opacity:1;}
.harpun-product-search-clear[hidden],.harpun-product-search-clear.is-hidden{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}.harpun-product-search-clear.is-visible{display:flex!important;visibility:visible;opacity:1;pointer-events:auto;}.harpun-product-search-clear{position:absolute!important;right:42px!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:transparent;color:#777;font-size:16px;line-height:1;cursor:pointer;z-index:4;}
.harpun-product-search-icon{position:absolute!important;left:14px!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#777;line-height:1;pointer-events:none;z-index:3;}
.harpun-product-search-icon svg,.harpun-product-search-icon i{display:block;width:20px;height:20px;font-size:18px;line-height:20px;}
.harpun-product-search-clear svg,.harpun-product-search-clear i{display:block;width:16px;height:16px;font-size:15px;line-height:16px;}
.harpun-product-search-results{position:absolute;left:0;top:calc(100% + 8px);width:100%;max-height:420px;overflow:auto;background:#f1f1f1;box-shadow:0 10px 30px rgba(0,0,0,.08);}
.harpun-product-search-results[hidden]{display:none;}
.harpun-product-search-result{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:52px;padding:0 18px;border-bottom:1px solid #aaa;box-sizing:border-box;text-decoration:none!important;color:#222!important;background:transparent;transition:background .2s ease;}
.harpun-product-search-result:hover{background:#e5e5e5;}
.harpun-product-search-result-title{font-size:16px;font-weight:500;line-height:1.35;}
.harpun-product-search-result-meta{font-size:12px;color:#777;white-space:nowrap;}
.harpun-product-search-empty{padding:17px 18px;color:#666;font-size:14px;}

.harpun-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.harpun-product-card{min-width:0;background:#f0f0f0;border-radius:8px;overflow:hidden;}
.harpun-product-card-link{display:flex;flex-direction:column;height:100%;padding:18px;text-decoration:none!important;color:inherit!important;box-sizing:border-box;}
.harpun-product-card-image{display:flex;align-items:center;justify-content:center;min-height:180px;margin-bottom:14px;}
.harpun-product-card-image img{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;}
.harpun-product-card-title{margin:0 0 12px;font-size:22px;line-height:1.15;color:#222;font-weight:700;}
.harpun-product-card-excerpt{margin-bottom:14px;color:#555;font-size:14px;line-height:1.5;}
.harpun-product-card-button{display:inline-flex;align-self:flex-start;padding:9px 16px;background:#333;color:#fff;font-size:13px;line-height:1;border-radius:3px;}

.harpun-dynamic-product{width:100%;}
.harpun-dynamic-product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,42%);align-items:center;gap:40px;padding:70px 80px;background:#363636;border-radius:10px;overflow:hidden;color:#fff;}
.harpun-dynamic-product-hero h1{margin:0 0 22px;font-size:58px;line-height:1.05;font-weight:800;color:#fff;}
.harpun-dynamic-product-description{font-size:18px;line-height:1.65;color:#fff;}
.harpun-dynamic-product-description p:last-child{margin-bottom:0;}
.harpun-dynamic-product-button{display:inline-flex;margin-top:26px;padding:12px 22px;background:#ef1d1d;color:#fff!important;text-decoration:none!important;border-radius:3px;}
.harpun-dynamic-product-hero-image{text-align:center;}
.harpun-dynamic-product-hero-image img{display:inline-block;max-width:100%;height:auto;max-height:420px;object-fit:contain;}
.harpun-dynamic-product-description-only{margin-bottom:40px;}
.harpun-dynamic-tabs{margin-top:70px;}
.harpun-dynamic-product .harpun-table-section{margin-top:60px;}

@media(max-width:1024px){
  .harpun-dynamic-product-hero{grid-template-columns:minmax(0,1fr) 38%;padding:55px 45px;}
  .harpun-dynamic-product-hero h1{font-size:46px;}
  .harpun-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .harpun-product-search-results{max-height:360px;}
  .harpun-product-search-result{padding:13px 15px;}
  .harpun-product-search-result-title{font-size:15px;}
  .harpun-product-grid{grid-template-columns:1fr;}
  .harpun-dynamic-product-hero{display:flex;flex-direction:column;align-items:stretch;padding:36px 24px;gap:25px;}
  .harpun-dynamic-product-hero h1{font-size:38px;}
  .harpun-dynamic-product-description{font-size:16px;}
  .harpun-dynamic-product-hero-image{order:-1;}
  .harpun-dynamic-product-hero-image img{max-height:300px;}
  .harpun-dynamic-tabs{margin-top:42px;}
}

/* Search bar visual refresh: reference-style compact field with right red search button. */
.harpun-product-search-field {
  height: 42px;
  overflow: hidden;
  border-radius: 8px;
  background: #f2f2f2;
}

.harpun-product-search-input {
  width: 100%;
  height: 42px;
  padding: 0 78px 0 38px;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f2f2f2 !important;
  color: #222;
  font-size: 13px;
  line-height: 42px;
  box-shadow: none !important;
}

.harpun-product-search-input::placeholder {
  color: #777;
  opacity: 1;
}

.harpun-product-search-icon {
  left: auto !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 42px;
  height: 42px;
  transform: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ef1d1d;
  color: #fff !important;
  border-radius: 0 8px 8px 0;
  pointer-events: none;
  z-index: 5;
}

.harpun-product-search-icon svg,
.harpun-product-search-icon i {
  width: 17px;
  height: 17px;
  font-size: 16px;
  line-height: 17px;
  color: #fff !important;
  fill: currentColor;
  stroke: currentColor;
}

.harpun-product-search-clear {
  right: 46px !important;
  top: 50% !important;
  width: 26px;
  height: 26px;
  transform: translateY(-50%) !important;
  color: #777 !important;
  background: transparent !important;
  z-index: 6;
}

.harpun-product-search-clear svg,
.harpun-product-search-clear i {
  width: 14px;
  height: 14px;
  font-size: 13px;
  line-height: 14px;
}


/* v3.3: force reference search bar styling */
.harpun-product-search {
  position: relative !important;
  width: 260px !important;
  max-width: 100% !important;
  z-index: 9999 !important;
}

.harpun-product-search .harpun-product-search-field {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 48px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f2f2f2 !important;
  box-shadow: none !important;
}

.harpun-product-search .harpun-product-search-input {
  position: relative !important;
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 42px 0 20px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 8px 0 0 8px !important;
  background: #f2f2f2 !important;
  color: #222 !important;
  font-size: 13px !important;
  line-height: 42px !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.harpun-product-search .harpun-product-search-input::placeholder {
  color: #777 !important;
  opacity: 1 !important;
}

.harpun-product-search .harpun-product-search-icon {
  position: absolute !important;
  left: auto !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  background: #ef1d1d !important;
  color: #fff !important;
  border-radius: 0 8px 8px 0 !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

.harpun-product-search .harpun-product-search-icon svg,
.harpun-product-search .harpun-product-search-icon i {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  color: #fff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  font-size: 16px !important;
  line-height: 17px !important;
}

.harpun-product-search .harpun-product-search-clear {
  position: absolute !important;
  right: 44px !important;
  left: auto !important;
  top: 50% !important;
  bottom: auto !important;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #777 !important;
  z-index: 11 !important;
}

.harpun-product-search .harpun-product-search-clear[hidden],
.harpun-product-search .harpun-product-search-clear.is-hidden {
  display: none !important;
}

.harpun-product-search .harpun-product-search-clear.is-visible {
  display: flex !important;
}

.harpun-product-search .harpun-product-search-clear svg,
.harpun-product-search .harpun-product-search-clear i {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  color: #777 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  font-size: 13px !important;
  line-height: 14px !important;
}

@media (max-width: 767px) {
  .harpun-product-search {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v3.4: make the search icon a real clickable search button */
.harpun-product-search .harpun-product-search-submit {
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  font: inherit !important;
  text-decoration: none !important;
  outline: none !important;
}

.harpun-product-search .harpun-product-search-submit:hover {
  background: #d91515 !important;
}

.harpun-product-search .harpun-product-search-submit:focus-visible {
  outline: 2px solid #222 !important;
  outline-offset: -2px !important;
}
