/* Pood, tooteleht, ostukorv, kassa ja sisulehed – uus disain.
   Emateema CSS on neil vaadetel välja lülitatud, seega siin ei ole !important vaja. */

/* ---------- lehe tiitel ---------- */
.sh-a2 .pagehead{
  background: linear-gradient(118deg, var(--cyan) 0%, var(--lilac) 52%, var(--blush) 100%);
  color: #11131a;
}
.sh-a2 .pagehead .wrap{ padding-block: clamp(34px, 5vw, 58px); }
.sh-a2 .pagehead h1{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: 1;
  letter-spacing: -.02em;
  margin: 0 0 6px;
}
.sh-a2 .crumbs{ font-size: 13px; font-weight: 600; opacity: .72; }
.sh-a2 .crumbs a{ text-decoration: none; }
.sh-a2 .crumbs a:hover{ text-decoration: underline; }
.sh-a2 .crumbs span{ margin-inline: 4px; }

/* ---------- üldine sisu ---------- */
.sh-a2 .wc-main .wrap,
.sh-a2 .page-main .wrap{ padding-block: clamp(34px, 4.5vw, 60px); }
.sh-a2 .wpb-content-wrapper{ display: contents; }

.sh-a2 .entry-content{ max-width: 68ch; font-size: 16.5px; }
.sh-a2 .entry-content > * + *{ margin-top: 1.1em; }
.sh-a2 .entry-content h2{
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.8vw, 1.9rem);
  line-height: 1.15;
  margin-top: 1.8em;
}
.sh-a2 .entry-content h3{
  font-family: var(--font-display);
  font-size: 1.2rem;
  margin-top: 1.6em;
}
.sh-a2 .entry-content a{ color: var(--blue); }
.sh-a2 .entry-content img{ border-radius: var(--radius); }
.sh-a2 .entry-content ul,
.sh-a2 .entry-content ol{ padding-left: 1.3em; }
.sh-a2 .entry-content li + li{ margin-top: .4em; }

/* ---------- nupud ---------- */
.sh-a2 .button,
.sh-a2 button.button,
.sh-a2 input[type="submit"],
.sh-a2 .wc-block-components-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 26px;
  border: 0;
  border-radius: 24px;
  background: var(--pink);
  color: #fff;
  font-family: var(--font-body);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1;
  cursor: pointer;
  transition: background-color .15s ease, transform .15s ease;
}
.sh-a2 .button:hover,
.sh-a2 button.button:hover,
.sh-a2 input[type="submit"]:hover{ background: #e81f92; color: #fff; transform: translateY(-1px); }

.sh-a2 .button.alt{ background: var(--pink); }
.sh-a2 .button--ghost,
.sh-a2 .wc-backward,
.sh-a2 .return-to-shop .button{
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
}
.sh-a2 .wc-backward:hover,
.sh-a2 .return-to-shop .button:hover{ background: var(--surface); color: var(--ink); }

/* ---------- vormid ---------- */
.sh-a2 input[type="text"],
.sh-a2 input[type="email"],
.sh-a2 input[type="tel"],
.sh-a2 input[type="number"],
.sh-a2 input[type="password"],
.sh-a2 input[type="search"],
.sh-a2 textarea,
.sh-a2 select,
.sh-a2 .select2-container .select2-selection--single{
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.4;
}
.sh-a2 textarea{ min-height: 120px; resize: vertical; }
.sh-a2 input:focus,
.sh-a2 textarea:focus,
.sh-a2 select:focus{
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(44,164,245,.16);
}
.sh-a2 label{ display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.sh-a2 .required{ color: var(--pink); text-decoration: none; }
.sh-a2 .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 24px;
  padding: 0;
  color: var(--ink);
}
.sh-a2 .select2-container--default .select2-selection--single .select2-selection__arrow{ top: 11px; right: 10px; }

/* ---------- teated ---------- */
.sh-a2 .woocommerce-message,
.sh-a2 .woocommerce-info,
.sh-a2 .woocommerce-error{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin: 0 0 24px;
  padding: 14px 18px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--surface);
  list-style: none;
  font-size: 14.5px;
}
.sh-a2 .woocommerce-message{ border-color: rgba(44,164,245,.4); background: rgba(44,164,245,.08); }
.sh-a2 .woocommerce-error{ border-color: rgba(255,47,164,.4); background: rgba(255,47,164,.07); }
.sh-a2 .woocommerce-message .button,
.sh-a2 .woocommerce-info .button{ height: 40px; margin-left: auto; }

/* ---------- pood: ruudustik ---------- */
.sh-a2 .woocommerce-products-header{ display: none; }
.sh-a2 .shop-toolbar{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
.sh-a2 .woocommerce-result-count{
  margin: 0;
  font-size: 13.5px;
  color: var(--ink-soft);
}
.sh-a2 .woocommerce-ordering{ margin: 0; }
.sh-a2 .woocommerce-ordering select{ min-height: 42px; width: auto; min-width: 210px; padding-block: 8px; }

.sh-a2 ul.products{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sh-a2 ul.products::before,
.sh-a2 ul.products::after{ content: none; }
.sh-a2 ul.products li.product{
  width: auto;
  margin: 0;
  float: none;
}
.sh-a2 ul.products li.product .onsale{
  position: absolute;
  top: 12px; left: 12px;
  z-index: 3;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--pink);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.sh-a2 .added_to_cart{ display: none; }

/* lehitsemine */
.sh-a2 .woocommerce-pagination{ margin-top: 34px; }
.sh-a2 .woocommerce-pagination ul{
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.sh-a2 .woocommerce-pagination li{ border: 0; }
.sh-a2 .woocommerce-pagination a,
.sh-a2 .woocommerce-pagination span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}
.sh-a2 .woocommerce-pagination .current{
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

/* ---------- tooteleht ---------- */
.sh-a2.single-product div.product{
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: start;
}
.sh-a2.single-product div.product > .woocommerce-product-gallery{
  grid-column: 1;
  width: auto;
  float: none;
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: linear-gradient(150deg, rgba(99,226,252,.2), rgba(250,168,234,.2));
}
.sh-a2 .woocommerce-product-gallery__image img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 8%;
}
.sh-a2 .flex-control-thumbs{
  display: flex;
  gap: 8px;
  margin: 10px;
  padding: 0;
  list-style: none;
}
.sh-a2 .flex-control-thumbs li{ width: 64px; }
.sh-a2 .flex-control-thumbs img{
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  opacity: .7;
}
.sh-a2 .flex-control-thumbs img.flex-active{ opacity: 1; outline: 2px solid var(--blue); }

.sh-a2.single-product div.product > .summary{
  grid-column: 2;
  width: auto;
  float: none;
  margin: 0;
}
.sh-a2.single-product .product_title{
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.2vw, 2.3rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
  margin: 0 0 12px;
  text-transform: none;
}
.sh-a2.single-product .summary .price,
.sh-a2.single-product .summary p.price{
  font-size: 1.45rem;
  font-weight: 700;
  font-style: normal;
  color: var(--ink);
  margin: 0 0 14px;
  font-variant-numeric: tabular-nums;
}
.sh-a2 .woocommerce-product-details__short-description{
  color: var(--ink-soft);
  margin-bottom: 22px;
}
.sh-a2.single-product form.cart{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 0 0 22px;
}
.sh-a2.single-product form.cart .quantity{
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}
.sh-a2.single-product form.cart .quantity input{
  width: 68px;
  min-height: 48px;
  border: 0;
  border-radius: 0;
  text-align: center;
  font-weight: 600;
}
.sh-a2.single-product .single_add_to_cart_button{ flex: 1 1 220px; }
.sh-a2 .product_meta{
  font-size: 13px;
  color: var(--ink-soft);
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.sh-a2 .product_meta > span{ display: block; margin-bottom: 4px; }
.sh-a2 .product_meta a{ color: var(--ink-soft); }

/* tabid ja seotud tooted */
.sh-a2 .woocommerce-tabs{ grid-column: 1 / -1; margin-top: 46px; }
.sh-a2 .woocommerce-tabs ul.tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--line);
}
.sh-a2 .woocommerce-tabs ul.tabs li{ margin: 0; border: 0; background: none; }
.sh-a2 .woocommerce-tabs ul.tabs li a{
  display: block;
  padding: 10px 16px;
  border-radius: 12px 12px 0 0;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.sh-a2 .woocommerce-tabs ul.tabs li.active a{ background: var(--surface); color: var(--ink); }
.sh-a2 .woocommerce-tabs .panel h2{
  font-family: var(--font-display);
  font-size: 1.3rem;
  margin-top: 0;
}
.sh-a2 .related.products,
.sh-a2 .up-sells{ grid-column: 1 / -1; margin-top: 46px; }
.sh-a2 .related.products > h2,
.sh-a2 .up-sells > h2,
.sh-a2 .cross-sells > h2{
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.8vw, 1.9rem);
  font-weight: 700;
  margin: 0 0 22px;
  text-transform: none;
}

/* ---------- ostukorv ---------- */
.sh-a2.woocommerce-cart-form{ margin-bottom: 28px; }
.sh-a2 table.shop_table{
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-size: 14.5px;
}
.sh-a2 table.shop_table th{
  padding: 14px 16px;
  background: var(--surface);
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--line);
}
.sh-a2 table.shop_table td{
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.sh-a2 table.shop_table tr:last-child td{ border-bottom: 0; }
.sh-a2 table.shop_table .product-thumbnail img{
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 10px;
  background: var(--surface);
}
.sh-a2 table.shop_table .product-remove a.remove{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 15px;
}
.sh-a2 table.shop_table .product-remove a.remove:hover{ background: var(--pink); color: #fff; }
.sh-a2 .cart .quantity input{
  width: 74px;
  min-height: 42px;
  text-align: center;
}
.sh-a2 .coupon{ display: flex; gap: 10px; flex-wrap: wrap; }
.sh-a2 .coupon input[type="text"]{ width: auto; flex: 1 1 180px; }
.sh-a2 .cart_totals{
  max-width: 460px;
  margin-left: auto;
}
.sh-a2 .cart_totals h2{
  font-family: var(--font-display);
  font-size: 1.4rem;
  margin: 0 0 14px;
  text-transform: none;
}
.sh-a2 .wc-proceed-to-checkout{ margin-top: 16px; }
.sh-a2 .wc-proceed-to-checkout .button{ width: 100%; }

/* ---------- kassa ---------- */
/* Kupongi- ja sisselogimise plokk jäävad vormist ülespoole,
   vorm ise on kahes veerus. */
.sh-a2.woocommerce-checkout form.checkout{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(24px, 3.4vw, 44px);
  align-items: start;
}
.sh-a2 .woocommerce-form-coupon-toggle,
.sh-a2 .woocommerce-form-login-toggle,
.sh-a2 form.checkout_coupon,
.sh-a2 form.woocommerce-form-login{ margin-bottom: 20px; }
.sh-a2 .woocommerce-form-coupon-toggle .woocommerce-info{ margin-bottom: 0; }
.sh-a2 #customer_details{ grid-column: 1; grid-row: 1 / span 2; }
.sh-a2 #order_review_heading{ grid-column: 2; grid-row: 1; }
.sh-a2 #order_review{ grid-column: 2; grid-row: 2; }
.sh-a2 #order_review_heading{
  font-family: var(--font-display);
  font-size: 1.3rem;
  margin: 0 0 14px;
  text-transform: none;
}
.sh-a2 #customer_details .col-1,
.sh-a2 #customer_details .col-2{ width: auto; float: none; }
.sh-a2 #customer_details h3{
  font-family: var(--font-display);
  font-size: 1.25rem;
  margin: 0 0 16px;
  text-transform: none;
}
.sh-a2 .woocommerce-billing-fields__field-wrapper,
.sh-a2 .woocommerce-shipping-fields__field-wrapper{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.sh-a2 .form-row{ margin: 0; padding: 0; width: auto; }
.sh-a2 .form-row-wide,
.sh-a2 .notes{ grid-column: 1 / -1; }
.sh-a2 #order_review{
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  position: sticky;
  top: 90px;
}
.sh-a2 #order_review table.shop_table{ background: #fff; margin-bottom: 18px; }
.sh-a2 #order_review .order-total .amount{ font-size: 18px; }

/* tarneviisid logodega, ilma radio-täppideta */
.sh-a2 ul#shipping_method{
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sh-a2 ul#shipping_method li{
  margin: 0;
  padding: 0;
  text-indent: 0;
}
.sh-a2 ul#shipping_method li input[type="radio"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.sh-a2 ul#shipping_method li label{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.sh-a2 ul#shipping_method li label:hover{ border-color: var(--blue); }
.sh-a2 ul#shipping_method li input[type="radio"]:checked + label{
  border-color: var(--blue);
  box-shadow: 0 0 0 2px rgba(44,164,245,.2);
}
.sh-a2 ul#shipping_method li label img{
  max-height: 22px;
  width: auto;
  margin-left: auto;
}
.sh-a2 ul#shipping_method li .amount{ font-weight: 700; }

/* makseviisid */
.sh-a2 ul.wc_payment_methods{
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  overflow: hidden;
}
.sh-a2 ul.wc_payment_methods li.wc_payment_method{
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--line);
}
.sh-a2 ul.wc_payment_methods li.wc_payment_method:last-child{ border-bottom: 0; }
.sh-a2 ul.wc_payment_methods li input[type="radio"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.sh-a2 ul.wc_payment_methods li label{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 16px 18px;
  font-size: 14.5px;
  font-weight: 600;
  cursor: pointer;
}
.sh-a2 ul.wc_payment_methods li label img{ max-height: 24px; width: auto; margin: 0; }
.sh-a2 ul.wc_payment_methods li input[type="radio"]:checked + label{ color: var(--blue); }
.sh-a2 ul.wc_payment_methods li.wc_payment_method > .payment_box{
  margin: 0;
  padding: 0 18px 18px;
  background: none;
  font-size: 14px;
  color: var(--ink-soft);
}
.sh-a2 ul.wc_payment_methods li.wc_payment_method > .payment_box::before{ content: none; }
.sh-a2 .woocommerce-terms-and-conditions-wrapper{ margin-bottom: 16px; font-size: 14px; }
.sh-a2 .woocommerce-terms-and-conditions-wrapper label{ display: inline; font-weight: 400; }
.sh-a2 #place_order{ width: 100%; height: 54px; font-size: 13.5px; }

/* ---------- konto ---------- */
.sh-a2 .woocommerce-MyAccount-navigation ul{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 26px;
  padding: 0;
  list-style: none;
}
.sh-a2 .woocommerce-MyAccount-navigation a{
  display: block;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}
.sh-a2 .woocommerce-MyAccount-navigation .is-active a{
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

/* ---------- mobiil ---------- */
@media (max-width: 900px){
  .sh-a2.single-product div.product{ grid-template-columns: 1fr; }
  .sh-a2.single-product div.product > .woocommerce-product-gallery,
  .sh-a2.single-product div.product > .summary{ grid-column: 1; }
  .sh-a2.woocommerce-checkout form.checkout{ grid-template-columns: 1fr; }
  .sh-a2 #customer_details,
  .sh-a2 #order_review_heading,
  .sh-a2 #order_review{
    grid-column: 1;
    grid-row: auto;
  }
  .sh-a2 #order_review{ position: static; }
  .sh-a2 .cart_totals{ max-width: none; }
}
@media (max-width: 600px){
  .sh-a2 .woocommerce-billing-fields__field-wrapper,
  .sh-a2 .woocommerce-shipping-fields__field-wrapper{ grid-template-columns: 1fr; }
  .sh-a2 ul.products{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .sh-a2 ul.products li.product .woocommerce-loop-product__title{ font-size: 13px; }
  /* Ainult ostukorvi tabel laotakse mobiilis ridadeks – seal on päis thead'is.
     Kassa kokkuvõttes on sildid juba th-des, seega seal data-title'it ei lisa. */
  .sh-a2 .woocommerce-cart-form table.shop_table thead{ display: none; }
  .sh-a2 .woocommerce-cart-form table.shop_table tr{ display: block; border-bottom: 1px solid var(--line); }
  .sh-a2 .woocommerce-cart-form table.shop_table tr:last-child{ border-bottom: 0; }
  .sh-a2 .woocommerce-cart-form table.shop_table td{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border: 0;
    padding: 8px 14px;
  }
  .sh-a2 .woocommerce-cart-form table.shop_table td::before{
    content: attr(data-title);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ink-soft);
  }
  .sh-a2 .woocommerce-cart-form table.shop_table td.product-thumbnail::before,
  .sh-a2 .woocommerce-cart-form table.shop_table td.actions::before{ content: none; }

  /* Kassa kokkuvõte jääb tabeliks, sildid tulevad th-dest. */
  .sh-a2 #order_review table.shop_table th{
    font-size: 11px;
    padding: 12px 12px;
  }
  .sh-a2 #order_review table.shop_table td{ padding: 12px 12px; text-align: right; }
  .sh-a2 #order_review table.shop_table tr td::before,
  .sh-a2 #order_review table.shop_table tr th::before{ content: none; }
}

/* ---------- "Koosta ise" komplekt (WPC Product Bundles) ---------- */
.sh-a2 .woosb-wrap{ margin: 0 0 22px; }
.sh-a2 .woosb-before-text,
.sh-a2 .woosb-after-text{
  font-size: 14px;
  color: var(--ink-soft);
  margin: 0 0 14px;
}
.sh-a2 .woosb-products.woosb-products-layout-list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}
.sh-a2 .woosb-product{
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  grid-template-areas: "thumb name qty" "thumb price qty";
  align-items: center;
  column-gap: 11px;
  row-gap: 2px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.sh-a2 .woosb-product:hover{ border-color: var(--blue); }
.sh-a2 .woosb-thumb{ grid-area: thumb; width: 46px; }
.sh-a2 .woosb-thumb img{ width: 46px; height: 46px; object-fit: contain; }
.sh-a2 .woosb-title{ grid-area: name; min-width: 0; }
.sh-a2 .woosb-name{ font-size: 13.5px; line-height: 1.3; }
.sh-a2 .woosb-availability{ font-size: 11px; color: var(--ink-soft); }
.sh-a2 .woosb-price{
  grid-area: price;
  font-size: 12px;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
.sh-a2 .woosb-quantity{ grid-area: qty; }
.sh-a2 .woosb-quantity .quantity{
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 9px;
  overflow: hidden;
  background: #fff;
}
.sh-a2 .woosb-quantity .minus,
.sh-a2 .woosb-quantity .plus{
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.sh-a2 .woosb-quantity .minus:hover,
.sh-a2 .woosb-quantity .plus:hover{ background: var(--blue); color: #fff; }
.sh-a2 .woosb-quantity .qty{
  width: 38px;
  min-height: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-inline: 1px solid var(--line);
  border-radius: 0;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  font-style: normal;
  font-variant-numeric: tabular-nums;
}
.sh-a2 .woosb-total{
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  font-size: 15px;
}
.sh-a2 .woosb-total .woosb-total-price{ font-weight: 700; }
.sh-a2 .woosb-alert{
  margin: 10px 0 0;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255,47,164,.08);
  color: var(--ink);
  font-size: 13.5px;
}

/* ---------- minikorv: nupud ---------- */
.sh-a2 .minicart .buttons{ display: flex; gap: 8px; margin: 0; }
.sh-a2 .minicart .buttons a.button{
  flex: 1 1 0;
  min-width: 0;
  height: 42px;
  padding: 0 10px;
  border-radius: 21px;
  font-size: 11px;
  letter-spacing: .05em;
  white-space: nowrap;
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
}
.sh-a2 .minicart .buttons a.button:hover{
  background: var(--surface);
  color: var(--ink);
  transform: none;
}
.sh-a2 .minicart .buttons a.checkout{
  background: var(--pink);
  border-color: var(--pink);
  color: #fff;
}
.sh-a2 .minicart .buttons a.checkout:hover{ background: #e81f92; color: #fff; }


/* ---------- kategooriafiltrid ---------- */
.sh-a2 .cat-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
}
.sh-a2 .cat-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.sh-a2 .cat-chip span{
  font-size: 11px;
  font-weight: 700;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}
.sh-a2 .cat-chip:hover{ border-color: var(--blue); color: var(--blue); }
.sh-a2 .cat-chip:hover span{ color: var(--blue); }
.sh-a2 .cat-chip.is-active{
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.sh-a2 .cat-chip.is-active span{ color: rgba(255,255,255,.65); }


/* ---------- sisulehtede plokid ---------- */
.sh-a2 .entry-content{ max-width: none; }
.sh-a2 .entry-content > p,
.sh-a2 .entry-content > h2,
.sh-a2 .entry-content > h3,
.sh-a2 .entry-content > ul,
.sh-a2 .entry-content > ol{ max-width: 68ch; }
.sh-a2 .entry-content .lede{
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.5;
  color: var(--ink);
  max-width: 46ch;
}
.sh-a2 .feature-grid,
.sh-a2 .contact-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  margin-top: 1.4em;
}
.sh-a2 .feature-card,
.sh-a2 .contact-card{
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}
.sh-a2 .contact-card{
  background: linear-gradient(150deg, rgba(99,226,252,.12), rgba(250,168,234,.12));
}
.sh-a2 .feature-card h3,
.sh-a2 .contact-card h3{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 8px;
}
.sh-a2 .feature-card p,
.sh-a2 .contact-card p{ margin: 0; font-size: 15px; }
.sh-a2 .contact-card p{ font-size: 16.5px; font-weight: 600; }
.sh-a2 .contact-card a{ color: var(--ink); text-decoration: none; }
.sh-a2 .contact-card a:hover{ color: var(--pink); }
.sh-a2 .entry-content .button--ghost{
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
}
.sh-a2 .entry-content .button--ghost:hover{ background: var(--surface); color: var(--ink); }

/* ---------- ostukorv: viimistlus ---------- */
.sh-a2 table.shop_table td a{ text-decoration: none; }
.sh-a2 table.shop_table td a:hover{ color: var(--pink); }
.sh-a2 table.shop_table .product-name{ font-weight: 600; }

/* kogusevalija üheks tükiks */
.sh-a2 .cart .quantity,
.sh-a2 .woocommerce-cart-form .quantity{
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.sh-a2 .woocommerce-cart-form .quantity input[type="button"],
.sh-a2 .woocommerce-cart-form .quantity .minus,
.sh-a2 .woocommerce-cart-form .quantity .plus{
  width: 38px;
  height: 42px;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: var(--surface);
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.sh-a2 .woocommerce-cart-form .quantity input[type="button"]:hover,
.sh-a2 .woocommerce-cart-form .quantity .minus:hover,
.sh-a2 .woocommerce-cart-form .quantity .plus:hover{ background: var(--blue); color: #fff; }
.sh-a2 .woocommerce-cart-form .quantity .qty{
  width: 52px;
  height: 42px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-inline: 1px solid var(--line);
  border-radius: 0;
  text-align: center;
  font-weight: 600;
}

/* kupong ja nupud eraldi ridadesse */
.sh-a2 .woocommerce-cart-form .actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  padding: 18px 16px;
}
.sh-a2 .woocommerce-cart-form .actions .coupon{
  display: flex;
  gap: 8px;
  flex: 1 1 320px;
  align-items: center;
}
.sh-a2 .woocommerce-cart-form .actions .coupon label{ display: none; }
.sh-a2 .woocommerce-cart-form .actions .coupon input[type="text"]{
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
}
.sh-a2 .woocommerce-cart-form .actions .coupon .button,
.sh-a2 .woocommerce-cart-form .actions button[name="update_cart"]{
  height: 44px;
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
}
.sh-a2 .woocommerce-cart-form .actions .coupon .button:hover,
.sh-a2 .woocommerce-cart-form .actions button[name="update_cart"]:hover{
  background: var(--surface);
  color: var(--ink);
  transform: none;
}
.sh-a2 .woocommerce-cart-form .actions button[name="update_cart"]:disabled{ opacity: .45; }

/* kokku-plokk */
.sh-a2 .cart_totals h2{ text-align: left; }
.sh-a2 .cart_totals table.shop_table{ background: #fff; }
.sh-a2 .cart_totals .order-total .amount{ font-size: 18px; }
.sh-a2 .cart-collaterals{ display: block; width: auto; }


/* ---------- tooteleht: hind, kategooriad, galerii ---------- */
.sh-a2.single-product .summary .price,
.sh-a2.single-product .summary p.price{
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--ink);
}
.sh-a2.single-product .summary .price del{ opacity: .45; font-weight: 500; font-size: 1.1rem; margin-right: 8px; }
.sh-a2.single-product .summary .price ins{ text-decoration: none; }
.sh-a2.single-product .summary .price .woocommerce-Price-currencySymbol{ font-size: .75em; }

.sh-a2 .product_meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink-soft);
  padding-top: 18px;
  margin-top: 4px;
  border-top: 1px solid var(--line);
}
.sh-a2 .product_meta > span{ display: inline-flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.sh-a2 .product_meta a[rel="tag"]{
  display: inline-flex;
  align-items: center;
  padding: 6px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.sh-a2 .product_meta a[rel="tag"]:hover{ border-color: var(--blue); color: var(--blue); }
/* kategooriate vahel olevad komad ära – chip'id räägivad ise enda eest */
.sh-a2 .product_meta > span:not([class]){ display: none; }

/* galerii slider */
.sh-a2 .woocommerce-product-gallery{ position: relative; }
.sh-a2 .woocommerce-product-gallery .flex-viewport{ border-radius: var(--radius); }
.sh-a2 .woocommerce-product-gallery__trigger{
  position: absolute;
  top: 14px; right: 14px;
  z-index: 3;
  width: 40px; height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 6px 16px rgba(20,22,40,.16);
  text-decoration: none;
  font-size: 17px;
}
.sh-a2 .flex-direction-nav{ list-style: none; margin: 0; padding: 0; }
.sh-a2 .flex-direction-nav a{
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 40px; height: 40px;
  margin-top: -20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 6px 16px rgba(20,22,40,.16);
  color: var(--ink);
  text-decoration: none;
  font-size: 0;
}
.sh-a2 .flex-direction-nav a::before{ font-size: 18px; line-height: 1; }
.sh-a2 .flex-direction-nav .flex-prev{ left: 14px; }
.sh-a2 .flex-direction-nav .flex-next{ right: 14px; }

/* sisulehe nupud: link-värv ei tohi nuppu üle kirjutada */
.sh-a2 .entry-content a.button{
  display: inline-flex;
  vertical-align: middle;
  margin: 0 8px 8px 0;
  color: #fff;
  text-decoration: none;
}
.sh-a2 .entry-content a.button:hover{ color: #fff; }
.sh-a2 .entry-content a.button--ghost{ color: var(--ink); }
.sh-a2 .entry-content a.button--ghost:hover{ color: var(--ink); }

/* Üks tab ("Kirjeldus") ei vaja sakki – näitame lihtsalt sisu. */
.sh-a2 .woocommerce-tabs ul.tabs:not(:has(li + li)){ display: none; }
.sh-a2 .woocommerce-tabs:has(ul.tabs:not(:has(li + li))){ border-top: 1px solid var(--line); padding-top: 32px; }
.sh-a2 .woocommerce-tabs .panel > h2:first-child{
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 2.4vw, 1.6rem);
  font-weight: 700;
  margin: 0 0 14px;
  text-transform: none;
}


/* 404 otsinguvorm */
.sh-a2 .search-404{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 520px;
  margin: 1.4em 0;
}
.sh-a2 .search-404 input[type="search"]{ flex: 1 1 220px; min-width: 0; }
.sh-a2 .search-404 .button{ flex: none; border: 0; }

/* ---------- "Koosta ise": kogusevalija mahtugu ära ---------- */
.sh-a2 .woosb-product{
  grid-template-columns: 46px minmax(0, 1fr) 112px;
  column-gap: 12px;
  padding: 10px 12px;
}
.sh-a2 .woosb-quantity .quantity{
  width: 112px;
  flex: none;
}
.sh-a2 .woosb-quantity .minus,
.sh-a2 .woosb-quantity .plus{
  flex: none;
  width: 34px;
  height: 34px;
}
.sh-a2 .woosb-quantity .qty{
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: 34px;
  min-height: 34px;
}
.sh-a2 .woosb-name{ font-size: 13px; }
.sh-a2 .woosb-price{ font-size: 12px; }

/* valitud toode paistab silma */
.sh-a2 .woosb-product.woosb-product-selected,
.sh-a2 .woosb-product:has(.qty:not([value="0"])){
  border-color: var(--blue);
  box-shadow: 0 0 0 2px rgba(44,164,245,.18);
}

@media (max-width: 420px){
  .sh-a2 .woosb-product{ grid-template-columns: 40px minmax(0, 1fr) 104px; column-gap: 9px; }
  .sh-a2 .woosb-thumb,
  .sh-a2 .woosb-thumb img{ width: 40px; height: 40px; }
  .sh-a2 .woosb-quantity .quantity{ width: 104px; }
}

/* Plugina enda CSS seab nuppudele laiuse – kirjutame üle. */
.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity{
  display: flex !important;
  flex-wrap: nowrap !important;
  width: 112px !important;
  max-width: 112px !important;
  float: none !important;
}
.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity .minus,
.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity .plus{
  display: block !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity .qty{
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  float: none !important;
}

/* ---------- "Koosta ise" kaardid kompaktsemaks ---------- */
.sh-a2 .woosb-products.woosb-products-layout-list{
  grid-template-columns: repeat(auto-fill, minmax(286px, 1fr));
  gap: 8px;
}
.sh-a2 .woosb-product{
  grid-template-columns: 42px minmax(0, 1fr) 104px;
  grid-template-areas: "thumb name qty" "thumb price qty";
  align-items: center;
  column-gap: 10px;
  row-gap: 0;
  padding: 8px 10px;
  border-radius: 12px;
}
.sh-a2 .woosb-thumb,
.sh-a2 .woosb-thumb img{ width: 42px; height: 42px; }
.sh-a2 .woosb-name{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.32;
  text-align: left;
}
.sh-a2 .woosb-price{
  text-align: left;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink);
  margin-top: 2px;
}
.sh-a2 .woosb-price .amount{ font-size: 12.5px; }
.sh-a2 .woosb-availability{ display: none; }

.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity{
  width: 104px !important;
  max-width: 104px !important;
}
.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity .minus,
.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity .plus{
  flex: 0 0 32px !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
}
.sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity .qty{
  height: 32px !important;
  min-height: 32px !important;
  font-size: 13.5px !important;
}

@media (max-width: 420px){
  .sh-a2 .woosb-product{ grid-template-columns: 38px minmax(0, 1fr) 100px; column-gap: 8px; }
  .sh-a2 .woosb-thumb,
  .sh-a2 .woosb-thumb img{ width: 38px; height: 38px; }
  .sh-a2 .woosb-products .woosb-product .woosb-quantity .quantity{ width: 100px !important; max-width: 100px !important; }
}

/* kaks veergu ka kitsamas tulbas + plugina joondus üle */
.sh-a2 .woosb-products.woosb-products-layout-list{
  grid-template-columns: repeat(auto-fill, minmax(262px, 1fr));
}
.sh-a2 .woosb-products .woosb-product .woosb-title,
.sh-a2 .woosb-products .woosb-product .woosb-name,
.sh-a2 .woosb-products .woosb-product .woosb-price{
  text-align: left !important;
}
.sh-a2 .woosb-products .woosb-product .woosb-price{
  color: var(--ink) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

/* nimi kahele reale – plugina display kirjutaks selle muidu üle */
.sh-a2 .woosb-products .woosb-product .woosb-name{
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  height: calc(2 * 1.32em) !important;
  font-size: 13px !important;
  line-height: 1.32 !important;
}
.sh-a2 .woosb-products .woosb-product{ align-items: center; }

/* ---------- arvustused ---------- */
.sh-a2 #reviews .woocommerce-Reviews-title,
.sh-a2 #reviews #reply-title{
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  font-weight: 700;
  margin: 0 0 14px;
  text-transform: none;
}
.sh-a2 .woocommerce-noreviews{ color: var(--ink-soft); }
.sh-a2 #review_form_wrapper{
  margin-top: 22px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  max-width: 640px;
}
.sh-a2 .comment-form-rating label{ margin-bottom: 8px; }

/* tärnid: WooCommerce'i oma fonti siin ei laadita, joonistame ise */
.sh-a2 p.stars{
  display: flex;
  gap: 4px;
  margin: 0 0 16px;
}
.sh-a2 p.stars a{
  position: relative;
  width: 28px;
  height: 28px;
  font-size: 0;
  text-decoration: none;
  text-indent: 0;
}
.sh-a2 p.stars a::before{
  content: "★";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 24px;
  line-height: 1;
  color: var(--line);
  transition: color .12s ease;
}
.sh-a2 p.stars:hover a::before,
.sh-a2 p.stars a.active::before,
.sh-a2 p.stars a.active ~ a::before{ color: var(--line); }
.sh-a2 p.stars a:hover::before,
.sh-a2 p.stars a:hover ~ a::before{ color: var(--line); }
.sh-a2 p.stars a::before{ color: var(--line); }
.sh-a2 p.stars:hover a::before{ color: #ffc53d; }
.sh-a2 p.stars a:hover ~ a::before{ color: var(--line); }
.sh-a2 p.stars.selected a.active::before,
.sh-a2 p.stars.selected a:not(.active)::before{ color: #ffc53d; }
.sh-a2 p.stars.selected a.active ~ a::before{ color: var(--line); }

.sh-a2 .comment-form-comment textarea{ min-height: 130px; }
.sh-a2 .comment-form .submit{ margin-top: 6px; }
.sh-a2 .commentlist{ list-style: none; margin: 0 0 22px; padding: 0; }
.sh-a2 .commentlist li{
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-bottom: 10px;
}
.sh-a2 .commentlist .avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  float: left;
  margin-right: 12px;
}
.sh-a2 .commentlist .meta{ font-size: 13px; color: var(--ink-soft); margin-bottom: 6px; }


/* ---------- tänuleht ---------- */
.sh-a2 .woocommerce-thankyou-order-received{
  margin: 0 0 24px;
  padding: 18px 22px;
  border: 1px solid rgba(44,164,245,.4);
  border-radius: var(--radius);
  background: rgba(44,164,245,.08);
  font-size: 17px;
  font-weight: 600;
}
.sh-a2 ul.woocommerce-order-overview{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
  border: 0;
}
.sh-a2 ul.woocommerce-order-overview li{
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  float: none;
  border-right: 1px solid var(--line);
}
.sh-a2 ul.woocommerce-order-overview li strong{
  display: block;
  margin-top: 6px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  color: var(--ink);
}
.sh-a2 .woocommerce-order h2,
.sh-a2 .woocommerce-order-details__title,
.sh-a2 .woocommerce-column__title{
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  font-weight: 700;
  margin: 0 0 14px;
  text-transform: none;
}
.sh-a2 .woocommerce-order .woocommerce-columns{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-top: 28px;
}
.sh-a2 .woocommerce-order .woocommerce-column{
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.sh-a2 .woocommerce-order address{ font-style: normal; line-height: 1.6; }
.sh-a2 .woocommerce-bacs-bank-details{
  margin: 0 0 28px;
  padding: 18px 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.sh-a2 .woocommerce-bacs-bank-details ul{ list-style: none; margin: 0; padding: 0; }
.sh-a2 .woocommerce-bacs-bank-details li{ margin-bottom: 4px; }
