/* Aktiv Miljo product-page UX refinements 2026-09-29 */
:root{
  --am-green:#0c5c35;
  --am-green-dark:#07472a;
  --am-border:#dfe5e1;
  --am-text:#172b24;
}

/* Price summary: options -> shipping -> total */
.single-product .am-shipping-total-row{
  border-top:1px solid #edf1ee;
  border-bottom:1px solid #edf1ee;
  padding:12px 0;
  margin:0 0 15px;
}
.single-product .am-shipping-total-row dt,
.single-product .am-shipping-total-row dd{
  margin:0;
}
.single-product .am-shipping-total-row .am-shipping-value{
  color:var(--am-text);
  font-weight:600;
  font-size:16px;
}
.single-product .tm-extra-product-options-totals > .pds_total_wrap:last-child{
  margin-bottom:0;
}

/* Larger, cleaner add-to-cart area */
.single-product .pds_add_to_cart{
  gap:12px;
}
.single-product .pd_cart_btn,
.single-product button.single_add_to_cart_button{
  min-height:54px;
  font-size:15px;
  font-weight:600;
}

/* Related products carousel arrows */
.single-product .recommend_prod_slider .slick-arrow{
  width:34px !important;
  height:34px !important;
  border:1px solid #d5ddd8 !important;
  border-radius:50% !important;
  background-color:#fff !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-size:7px auto !important;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  z-index:4;
}
.single-product .recommend_prod_slider .slick-prev{right:48px !important;}
.single-product .recommend_prod_slider .slick-next{right:6px !important;}
.single-product .recommend_prod_slider .slick-arrow:hover{
  background-color:#f5f8f6 !important;
  border-color:#bfcac3 !important;
}

/* HubSpot chat stays clear of mobile buy bar. */
@media (max-width:767px){
  body.single-product{
    padding-bottom:calc(118px + env(safe-area-inset-bottom));
  }

  .single-product .am-mobile-buybar{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9995;
    background:rgba(255,255,255,.98);
    border-top:1px solid var(--am-border);
    box-shadow:0 -8px 26px rgba(0,0,0,.12);
    padding:9px 12px calc(9px + env(safe-area-inset-bottom));
    backdrop-filter:saturate(140%) blur(10px);
    -webkit-backdrop-filter:saturate(140%) blur(10px);
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    transition:transform .24s ease,opacity .2s ease,visibility .2s ease;
    will-change:transform;
  }
  .single-product .am-mobile-buybar.is-scroll-hidden{
    transform:translateY(calc(100% + 12px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .single-product .am-mobile-buybar__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#5c6b64;
    font-size:12px;
    line-height:1.2;
    margin:0 2px 7px;
  }
  .single-product .am-mobile-buybar__meta strong{
    color:var(--am-text);
    font-size:14px;
    font-weight:700;
  }
  .single-product .am-mobile-buybar__actions{
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    gap:9px;
    align-items:stretch;
  }
  .single-product .am-mobile-qty{
    display:grid;
    grid-template-columns:32px 1fr 32px;
    min-height:54px;
    border:1px solid #aeb9b2;
    background:#fff;
  }
  .single-product .am-mobile-qty button{
    border:0;
    background:transparent;
    color:#111;
    font-size:25px;
    line-height:1;
    padding:0;
    cursor:pointer;
  }
  .single-product .am-mobile-qty output{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#262b28;
    font-size:16px;
    font-weight:500;
  }
  .single-product .am-mobile-buybar__button{
    min-height:54px;
    width:100%;
    border:1px solid var(--am-green);
    background:var(--am-green);
    color:#fff;
    font-size:15px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:.02em;
    text-transform:uppercase;
    padding:10px 14px;
    cursor:pointer;
  }
  .single-product .am-mobile-buybar__button:disabled{
    opacity:.55;
    cursor:not-allowed;
  }

  /* Keep the original in-flow controls compact; sticky bar is the primary mobile action. */
  .single-product .pds_add_to_cart{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr);
    gap:9px;
    align-items:stretch;
    flex-wrap:nowrap;
  }
  .single-product .pds_add_to_cart .quantity{
    width:100%;
    min-height:56px;
    box-sizing:border-box;
  }
  .single-product .pds_cart_btn_wrap{
    display:block;
    width:100%;
  }
  .single-product .pd_cart_btn,
  .single-product button.single_add_to_cart_button{
    width:100%;
    min-height:56px;
    padding-left:48px;
    padding-right:18px;
    font-size:15px;
    box-sizing:border-box;
  }

  /* Smaller, fully visible related-product arrows. */
  .single-product .recommend_prod_slider{
    overflow:visible !important;
  }
  .single-product .recommend_prod_slider .slick-arrow{
    width:28px !important;
    height:28px !important;
    top:-44px !important;
    background-size:6px auto !important;
    overflow:visible !important;
  }
  .single-product .recommend_prod_slider .slick-prev{right:42px !important;}
  .single-product .recommend_prod_slider .slick-next{right:7px !important;}

  /* Chat and cookie controls sit above the sticky purchase bar. */
  body.single-product #hubspot-messages-iframe-container{
    bottom:calc(126px + env(safe-area-inset-bottom)) !important;
    right:12px !important;
  }
  body.single-product .cky-btn-revisit-wrapper,
  body.single-product .cs-cokiee-open-icon,
  body.single-product #opencscookie{
    bottom:calc(126px + env(safe-area-inset-bottom)) !important;
  }

  /* Swatches keep their real dimensions while WP Rocket lazy-loads. */
  .single-product .tm-extra-product-options-container .akt-tm-img-wrapper img.akt-pattern-color{
    display:block;
    width:100%;
    height:100%;
    min-width:1px;
    min-height:1px;
    object-fit:cover;
  }
}

@media (min-width:768px){
  .single-product .am-mobile-buybar{display:none !important;}
}

/* In company mode VAT is already shown on its own row; avoid a misleading duplicate label beside Total. */
.woocommerce-checkout.akt-company .cart_totals tr.order-total th small.tax_label{
  display:none !important;
}
