/* CampingSupplyCo - Homepage Product Slider Fix */

.csc-product-slider[data-csc-product-slider] {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.csc-product-slider[data-csc-product-slider]
.csc-product-slider-track {
    box-sizing: border-box !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-snap-type: x proximity !important;
}

.csc-product-slider[data-csc-product-slider]
.csc-product-slider-track > .csc-product-card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
}

/* Desktop: 5 complete cards */
@media (min-width: 1101px) {
    .csc-product-slider[data-csc-product-slider]
    .csc-product-slider-track {
        gap: 14px !important;
        grid-auto-columns: calc((100% - 56px) / 5) !important;
    }
}

/* Tablet: 3 complete cards */
@media (min-width: 768px) and (max-width: 1100px) {
    .csc-product-slider[data-csc-product-slider]
    .csc-product-slider-track {
        gap: 12px !important;
        grid-auto-columns: calc((100% - 24px) / 3) !important;
    }
}

/* Mobile: 2 complete cards with touch swipe */
@media (max-width: 767px) {
    .csc-product-slider[data-csc-product-slider] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .csc-product-slider[data-csc-product-slider]
    .csc-product-slider-track {
        gap: 8px !important;
        grid-auto-columns: calc((100% - 8px) / 2) !important;
        touch-action: pan-x pan-y !important;
    }
}

@media (max-width: 359px) {
    .csc-product-slider[data-csc-product-slider]
    .csc-product-slider-track {
        gap: 7px !important;
        grid-auto-columns: calc((100% - 7px) / 2) !important;
    }
}




/* Smaller center line between title and description */
.wpg-popular-cats__header h2 {
  position: relative !important;
  margin-bottom: 10px !important;
  padding-bottom: 18px !important;
}

/* Light blue background line - 50% smaller */
.wpg-popular-cats__header h2::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 4px !important;
  transform: translateX(-50%) !important;
  width: 155px !important;
  max-width: 50% !important;
  height: 5px !important;
  background: #bfe8f3 !important;
  border-radius: 999px !important;
}

/* Dark blue center line - 50% smaller */
.wpg-popular-cats__header h2::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 4px !important;
  transform: translateX(-50%) !important;
  width: 90px !important;
  max-width: 30% !important;
  height: 5px !important;
  background: #0b3f66 !important;
  border-radius: 999px !important;
  z-index: 2 !important;
}

/* Slight clean spacing below line */
.wpg-popular-cats__header p {
  margin-top: 0 !important;
}




/* Remove extra outside border if previous CSS added it */
.wpg-popular-cats {
  border: none !important;
  padding: 0 !important;
}

/* Change existing inner border color */
.wpg-popular-cats__inner {
  border: 2px solid #1652a4 !important;
}








/* =========================================================
   GTD AI Plugins - Force only the moving loading bar to black
   FAQ + Product Description + Why We Picked
   ========================================================= */

/* Main moving bar selectors */
.gtd-sfaq-loading-bar span,
.gtd-pdesc-loading-bar span,
.gtd-whypicked-loading-bar span,
.gtd-sfaq-progress-bar span,
.gtd-pdesc-progress-bar span,
.gtd-whypicked-progress-bar span,
.gtd-sfaq-progress span,
.gtd-pdesc-progress span,
.gtd-whypicked-progress span {
  background: #000 !important;
  background-color: #000 !important;
}

/* If the moving bar is the div itself, not span */
.gtd-sfaq-loading-bar::before,
.gtd-pdesc-loading-bar::before,
.gtd-whypicked-loading-bar::before,
.gtd-sfaq-progress-bar::before,
.gtd-pdesc-progress-bar::before,
.gtd-whypicked-progress-bar::before,
.gtd-sfaq-progress::before,
.gtd-pdesc-progress::before,
.gtd-whypicked-progress::before {
  background: #000 !important;
  background-color: #000 !important;
}

/* Strong fallback: only child bar inside GTD loading/progress wrapper */
[class*="gtd-sfaq"] [class*="loading-bar"] > *,
[class*="gtd-pdesc"] [class*="loading-bar"] > *,
[class*="gtd-whypicked"] [class*="loading-bar"] > *,
[class*="gtd-sfaq"] [class*="progress"] > *,
[class*="gtd-pdesc"] [class*="progress"] > *,
[class*="gtd-whypicked"] [class*="progress"] > * {
  background: #000 !important;
  background-color: #000 !important;
}





/* Product Details plugin - change only the moving/animated loading bar to black */
.gtd-pdesc-bar span {
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
}

/* Keep the background track light grey */
.gtd-pdesc-bar {
  background: rgba(0, 0, 0, 0.08) !important;
  background-color: rgba(0, 0, 0, 0.08) !important;
  background-image: none !important;
}










/* =========================================================
   WaterPurityGuide Quiz Popup Button Spacing Fix Only
   Safe version - does not affect homepage section spacing
   ========================================================= */

@media (max-width: 768px){

  /* Keep quiz popup inside mobile screen */
  .wpgpf-overlay,
  .wpgpf-modal-overlay,
  .wpgpf-popup-overlay{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    overflow:hidden !important;
    padding:14px !important;
    box-sizing:border-box !important;
  }

  .wpgpf-popup,
  .wpgpf-modal,
  .wpgpf-box,
  .wpgpf-inner{
    max-height:calc(100dvh - 28px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  /* Fix only the intro button area */
  .wpgpf-actions,
  .wpgpf-buttons,
  .wpgpf-popup-actions,
  .wpgpf-modal-actions,
  .wpgpf-intro-actions{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    gap:8px !important;
    row-gap:8px !important;
    margin-top:18px !important;
    margin-bottom:0 !important;
    padding:0 !important;
  }

  .wpgpf-actions button,
  .wpgpf-buttons button,
  .wpgpf-popup-actions button,
  .wpgpf-modal-actions button,
  .wpgpf-intro-actions button,
  .wpgpf-start-btn,
  .wpgpf-later-btn{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }

  /* Remove unwanted large spacing only between quiz buttons */
  .wpgpf-actions button + button,
  .wpgpf-buttons button + button,
  .wpgpf-popup-actions button + button,
  .wpgpf-modal-actions button + button,
  .wpgpf-intro-actions button + button{
    margin-top:0 !important;
  }

  /* Remove hidden line breaks/spacers inside quiz buttons area only */
  .wpgpf-actions br,
  .wpgpf-buttons br,
  .wpgpf-popup-actions br,
  .wpgpf-modal-actions br,
  .wpgpf-intro-actions br{
    display:none !important;
  }

  .wpgpf-actions .spacer,
  .wpgpf-buttons .spacer,
  .wpgpf-popup-actions .spacer,
  .wpgpf-modal-actions .spacer,
  .wpgpf-intro-actions .spacer{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
}













@media (max-width: 768px) {
  .wpgpf-actions,
  .wpgpf-buttons,
  .wpgpf-popup-actions,
  .wpgpf-modal-actions,
  .wpgpf-intro-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    row-gap: 10px !important;
  }

  .wpgpf-actions button,
  .wpgpf-buttons button,
  .wpgpf-popup-actions button,
  .wpgpf-modal-actions button,
  .wpgpf-intro-actions button {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
  }

  .wpgpf-actions button + button,
  .wpgpf-buttons button + button,
  .wpgpf-popup-actions button + button,
  .wpgpf-modal-actions button + button,
  .wpgpf-intro-actions button + button {
    margin-top: 10px !important;
  }
}

@media (max-width: 768px) {
  button {
    margin-bottom: 0 !important;
  }

  button + button {
    margin-top: 10px !important;
  }
}





/* Reduce product title size in category/archive pages */
.archive .product h3,
.archive .product .woocommerce-loop-product__title,
.archive .product .woo_loop_title {
    font-size: 16px !important; /* adjust as needed */
    line-height: 1.3 !important; /* controls spacing between lines */
    margin-bottom: 6px !important; /* reduce space below title */
}

/* Extra control for Rehub specific blocks */
.rh-flex-eq-height .woo_loop_title,
.products .product .woo_loop_title {
    font-size: 14px !important;
    line-height: 1.3 !important;
}

/* Reduce overall spacing if titles look too tall */
.products .product h3 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}

.orderby {
display:none;
}
/* ==========================================
   UBW – Internal Links (FINAL FIX)
   Base:  #094082
   Hover: #5faf39
   Scope: Post content ONLY
   ========================================== */

/* BASE COLOR */
.single-post article a[href*="https://campingsupplyco.com"],
.single-post article a:not([href^="http"]):not([href^="//"]),
.single-post .entry-content a[href*="https://campingsupplyco.com"],
.single-post .entry-content a:not([href^="http"]):not([href^="//"]),
.single-post .wp-block-post-content a[href*="https://campingsupplyco.com"],
.single-post .wp-block-post-content a:not([href^="http"]):not([href^="//"]),
.single-post .elementor-widget-text-editor a[href*="https://campingsupplyco.com"],
.single-post .elementor-widget-text-editor a:not([href^="http"]):not([href^="//"]),
.single-post .elementor-widget-theme-post-content a[href*="https://campingsupplyco.com"],
.single-post .elementor-widget-theme-post-content a:not([href^="http"]):not([href^="//"]) {
    color: #173D2B !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

/* HOVER COLOR – SAME SELECTORS + :hover (THIS IS THE KEY) */
.single-post article a[href*="https://campingsupplyco.com"]:hover,
.single-post article a:not([href^="http"]):not([href^="//"]):hover,
.single-post .entry-content a[href*="https://campingsupplyco.com"]:hover,
.single-post .entry-content a:not([href^="http"]):not([href^="//"]):hover,
.single-post .wp-block-post-content a[href*="https://campingsupplyco.com"]:hover,
.single-post .wp-block-post-content a:not([href^="http"]):not([href^="//"]):hover,
.single-post .elementor-widget-text-editor a[href*="https://campingsupplyco.com"]:hover,
.single-post .elementor-widget-text-editor a:not([href^="http"]):not([href^="//"]):hover,
.single-post .elementor-widget-theme-post-content a[href*="https://campingsupplyco.com"]:hover,
.single-post .elementor-widget-theme-post-content a:not([href^="http"]):not([href^="//"]):hover {
    color: #173D2B !important;
}

/* EXCLUSIONS – breadcrumbs, related, nav */
.single-post .breadcrumbs a,
.single-post .breadcrumb a,
.single-post .yoast-breadcrumb a,
.single-post .rank-math-breadcrumb a,
.single-post .related a,
.single-post .related-posts a,
.single-post nav a {
    color: inherit !important;
    font-weight: inherit !important;
    text-decoration: none !important;
}

/* GTD Smart FAQ: compact scroll box */

/* Mobile first */
.gtd-sfaq-inner{
  max-height: 220px;       /* smaller on mobile */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 10px;
}

/* Tablet */
@media (min-width: 768px){
  .gtd-sfaq-inner{
    max-height: 340px;
  }
}

/* Desktop */
@media (min-width: 992px){
  .gtd-sfaq-inner{
    max-height: 180px;
  }
}

/* Optional: subtle scrollbar */
.gtd-sfaq-inner::-webkit-scrollbar{
  width: 6px;
}
.gtd-sfaq-inner::-webkit-scrollbar-track{
  background: transparent;
}
.gtd-sfaq-inner::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.25);
  border-radius: 4px;
}

/* Optional: avoid extra bottom spacing feeling inside scroll box */
.gtd-sfaq-note{
  padding-bottom: 6px;
}


/* Target product titles on shop, category, archive, homepage widgets */
body.woocommerce:not(.single-product) .woocommerce-loop-product__title {
    display: block;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
/* =========================================================
   RaymondGless – ReHub Table + Mobile Layout Fix (SITE-WIDE)
   Goals:
   1) Tables never “disappear” due to overflow hidden containers
   2) Tables become horizontally scrollable on mobile (no zoom-out needed)
   3) Comparison table (.comparison-table / .comparison-table) always scrolls
========================================================= */

/* ---------- 0) Prevent theme containers from clipping tables ---------- */
body,
#page,
#content,
#main,
.rh-container,
.rh-content,
.rh-post-wrapper,
.rh-post-layout,
.content,
.content-area,
.site-content,
article,
.entry-content,
.post-inner,
.post-content,
.rehub-main-wrap,
.wpsm_fullwidth_content,
.vc_row,
.vc_column_container,
.elementor,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.elementor-widget-container,
.wp-block-group,
.wp-block-column,
.wp-block-columns {
  overflow: visible !important;
}

/* ---------- 1) Universal: make any table wrapper scrollable ---------- */
.tableWrapper,
.table-wrapper,
.table-responsive,
.responsive-table,
.wp-block-table,
figure.wp-block-table,
.entry-content .wp-block-table,
.post-content .wp-block-table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

/* ---------- 2) Base table styling (nice + readable) ---------- */
.entry-content table,
.post-content table,
.wpsm_fullwidth_content table,
.wp-block-table table,
.tableWrapper table,
table.comparison-table,
table.comparison-table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 12px;
}

/* Cells */
.entry-content table th,
.entry-content table td,
.post-content table th,
.post-content table td,
.wpsm_fullwidth_content table th,
.wpsm_fullwidth_content table td,
table.comparison-table th,
table.comparison-table td,
table.comparison-table th,
table.comparison-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  border-right: 1px solid rgba(0,0,0,0.06);
  text-align: left;
  vertical-align: top;
  line-height: 1.45;
}

.entry-content table th,
.post-content table th,
.wpsm_fullwidth_content table th,
table.comparison-table th,
table.comparison-table th {
  font-weight: 700;
  background: rgba(249,129,22,0.10);
}

/* remove last borders */
.entry-content table th:last-child,
.entry-content table td:last-child,
.post-content table th:last-child,
.post-content table td:last-child,
.wpsm_fullwidth_content table th:last-child,
.wpsm_fullwidth_content table td:last-child,
table.comparison-table th:last-child,
table.comparison-table td:last-child,
table.comparison-table th:last-child,
table.comparison-table td:last-child {
  border-right: none;
}

/* zebra */
.entry-content table tbody tr:nth-child(even),
.post-content table tbody tr:nth-child(even),
.wpsm_fullwidth_content table tbody tr:nth-child(even),
table.comparison-table tbody tr:nth-child(even),
table.comparison-table tbody tr:nth-child(even) {
  background: rgba(0,0,0,0.02);
}

/* images inside tables */
.entry-content table img,
.post-content table img,
.wpsm_fullwidth_content table img,
table.comparison-table img,
table.comparison-table img {
  max-width: 120px;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* ---------- 3) THE IMPORTANT PART: ReHub + Mobile horizontal scroll ---------- */
@media (max-width: 768px){

  /* A) Make common ReHub content wrappers allow horizontal scrolling */
  .rh-content,
  .rh-post-wrapper,
  .rh-post-layout,
  .rehub-main-wrap,
  .post-inner,
  .entry-content,
  .post-content,
  .wpsm_fullwidth_content,
  article,
  .content,
  .content-area,
  .site-content {
    overflow-x: visible !important;
  }

  /* B) Force a scroll container around tables even if ReHub adds its own wrappers */
  .entry-content table,
  .post-content table,
  .wpsm_fullwidth_content table,
  table.comparison-table,
  table.comparison-table {
    display: block !important;                 /* iOS scroll works best like this */
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* C) Force overflow to exist (so it scrolls instead of shrinking) */
  .entry-content table,
  .post-content table,
  .wpsm_fullwidth_content table,
  table.comparison-table,
  table.comparison-table {
    min-width: 980px !important;               /* key: makes it wider than phone */
    table-layout: auto !important;
    border-collapse: separate !important;      /* avoids some ReHub quirks */
  }

  /* D) Stop ReHub from squeezing columns: keep most cells on 1 line */
  .entry-content table th,
  .entry-content table td,
  .post-content table th,
  .post-content table td,
  .wpsm_fullwidth_content table th,
  .wpsm_fullwidth_content table td,
  table.comparison-table th,
  table.comparison-table td,
  table.comparison-table th,
  table.comparison-table td {
    white-space: nowrap !important;
    font-size: 14px;
    padding: 10px 12px;
  }

  /* E) Allow the last column (usually “Special Highlights”) to wrap nicely */
  table.comparison-table td:last-child,
  table.comparison-table th:last-child,
  table.comparison-table td:last-child,
  table.comparison-table th:last-child {
    white-space: normal !important;
    min-width: 260px !important;
  }

  /* F) Make table images readable */
  table.comparison-table img,
  table.comparison-table img,
  .entry-content table img,
  .post-content table img {
    max-width: 90px !important;
  }
}

/* ---------- 4) Optional: swipe hint (mobile only) ---------- */
@media (max-width: 768px){
  .wp-block-table:after,
  figure.wp-block-table:after {
    content: "Swipe left/right to view the full table";
    display: block;
    font-size: 12px;
    opacity: 0.65;
    padding-top: 6px;
  }
}
/* ===== Make the comparison table look normal size on mobile (no zoom-out feel) ===== */
@media (max-width: 768px){

  /* Keep scroll, but reduce visual size */
  .wp-block-table,
  figure.wp-block-table{
    margin: 14px 0 !important;
  }

  table.comparison-table,
  table.comparison-table{
    min-width: 820px !important;     /* smaller than 980 so it feels less massive */
  }

  /* Smaller text + tighter cells */
  table.comparison-table th,
  table.comparison-table td,
  table.comparison-table th,
  table.comparison-table td{
    font-size: 13px !important;
    line-height: 1.3 !important;
    padding: 8px 10px !important;
  }

  /* Reduce image size inside table */
  table.comparison-table img,
  table.comparison-table img{
    max-width: 70px !important;
  }

  /* Let some columns wrap so it doesn't look huge */
  table.comparison-table th:nth-child(1),
  table.comparison-table td:nth-child(1){
    white-space: normal !important;   /* Product */
    min-width: 170px !important;
  }

  table.comparison-table th:nth-child(2),
  table.comparison-table td:nth-child(2){
    min-width: 90px !important;       /* Image */
  }

  table.comparison-table th:nth-child(3),
  table.comparison-table td:nth-child(3){
    white-space: nowrap !important;   /* Rating */
    min-width: 120px !important;
  }

  table.comparison-table th:nth-child(4),
  table.comparison-table td:nth-child(4){
    white-space: nowrap !important;   /* Price */
    min-width: 90px !important;
  }

  /* Dimensions/Weight can wrap (these make the table feel wide) */
  table.comparison-table th:nth-child(5),
  table.comparison-table td:nth-child(5),
  table.comparison-table th:nth-child(6),
  table.comparison-table td:nth-child(6){
    white-space: normal !important;
    min-width: 150px !important;
  }

  /* Highlights column wraps */
  table.comparison-table th:last-child,
  table.comparison-table td:last-child{
    white-space: normal !important;
    min-width: 220px !important;
  }
}
/* =========================================================
   MOBILE FIX: Turn the bottom comparison table into stacked cards
   (No zoom out needed, fits 100% width)
========================================================= */
@media (max-width: 768px){

  /* Prevent any page-level horizontal overflow */
  html, body{
    overflow-x: hidden !important;
  }

  /* Target the comparison table */
  table.comparison-table{
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;      /* key: remove forced width */
    overflow: visible !important; /* no horizontal scrolling needed now */
    border: none !important;
    background: transparent !important;
  }

  /* Hide the header row */
  table.comparison-table thead{
    display: none !important;
  }

  /* Each row becomes a card */
  table.comparison-table tbody,
  table.comparison-table tr{
    display: block !important;
    width: 100% !important;
  }

  table.comparison-table tr{
    margin: 14px 0 !important;
    border: 1px solid rgba(0,0,0,0.10) !important;
    border-radius: 14px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  /* Cells become label + value rows */
  table.comparison-table td{
    display: flex !important;
    gap: 10px !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 10px 12px !important;
    border: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.06) !important;
    white-space: normal !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  table.comparison-table td:last-child{
    border-bottom: none !important;
  }

  /* Labels using nth-child (adjusted to your columns order) */
  table.comparison-table td:nth-child(1)::before{ content: "Product"; }
  table.comparison-table td:nth-child(2)::before{ content: "Image"; }
  table.comparison-table td:nth-child(3)::before{ content: "Rating"; }
  table.comparison-table td:nth-child(4)::before{ content: "Price"; }
  table.comparison-table td:nth-child(5)::before{ content: "Dimensions"; }
  table.comparison-table td:nth-child(6)::before{ content: "Weight"; }
  table.comparison-table td:nth-child(7)::before{ content: "Special Highlights"; }

  table.comparison-table td::before{
    flex: 0 0 38%;
    font-weight: 700;
    opacity: 0.75;
  }

  table.comparison-table td > *{
    flex: 1 1 auto;
    max-width: 62%;
  }

  /* Make image cell look nice */
  table.comparison-table td:nth-child(2){
    align-items: center !important;
  }

  table.comparison-table td:nth-child(2) img{
    max-width: 90px !important;
    width: 90px !important;
    height: auto !important;
    border-radius: 10px !important;
    display: block !important;
  }

  /* Special Highlights list spacing */
  table.comparison-table td:nth-child(7) ul{
    margin: 0 !important;
    padding-left: 18px !important;
  }
}

/* Our Blog Button */
/* Hide on desktop */
@media (min-width: 1024px) {
  .mobile-only {
    display: none;
  }
}

/* Show on mobile & tablet */
@media (max-width: 1023px) {
  .mobile-only {
    display: inline;
  }
}

.portal-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  color: #ffffff;
  background-color: #1652a4; /* Avicoltura green */
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.portal-cta-icon {
  font-size: 16px;
  line-height: 1;
  transition: transform 0.25s ease;
}

.portal-cta:hover {
  background-color: #000; /* Avicoltura yellow */
  color: #fff;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}

.portal-cta:hover .portal-cta-icon {
  transform: translateX(3px);
}

.portal-cta:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}


/* Keep WooCommerce percentage badge but move to top-right */
.woocommerce span.onsale {
  background-color: #173D2B; /* green badge */
  color: #fff;
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: bold;
  top: 10px;
  right: 10px;   /* move to right side */
  left: auto;    /* remove left positioning */
  position: absolute;
  z-index: 10;
}

/* Apply same styling inside product grid boxes */
.woocommerce ul.products li.product .onsale {
  position: absolute;
  background: #173D2B;
  border-radius: 4px;
  padding: 4px 8px;
  color: #fff;
  font-size: 12px;
  top: 10px;
  right: 10px;
  left: auto;
  z-index: 10;
}