/*
 * Glamics – WordPress / WooCommerce compatibility layer.
 * Loaded AFTER the untouched original stylesheet (style.css). It never changes how an original element looks;
 * it only (a) re-applies original rules to markup that WordPress/WooCommerce forces to differ
 * (e.g. a <div> instead of a nested <form>), and (b) styles elements the HTML template has no design for
 * (notices, toast, account tables) using the template's own colours/typography.
 */

/* WordPress adds width/height attributes to every <img>; the original markup has none, so keep the natural aspect ratio. */
img { height: auto; }

/* ---- (a) original quantity-box rules for <div class="ul-product-quantity-wrapper"> (the template used a nested <form>) ---- */
.ul-product-details-quantity .ul-product-quantity-wrapper {
  display: flex;
  border: 1px solid rgba(239, 40, 83, 0.06);
}

.ul-product-details-quantity .ul-product-quantity-wrapper input {
  border: none;
  border-right: 1px solid rgba(239, 40, 83, 0.09);
  max-width: clamp(61px, 3.36vw, 64px);
  text-align: center;
  font-weight: 700;
}

.ul-product-details-quantity .ul-product-quantity-wrapper .btns {
  display: flex;
  flex-direction: column;
}

.ul-product-details-quantity .ul-product-quantity-wrapper .btns button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(11px, 0.74vw, 14px);
  padding: 4px 12px 0;
}

.ul-product-details-quantity .ul-product-quantity-wrapper .btns button:first-child {
  border-bottom: 1px solid rgba(239, 40, 83, 0.09);
}

.ul-cart-table .ul-product-details-quantity .ul-product-quantity-wrapper {
  display: inline-flex;
}

.ul-cart-table .ul-product-details-quantity .ul-product-quantity-wrapper input {
  max-width: clamp(45px, 3.36vw, 64px);
  font-size: clamp(13px, 0.84vw, 16px);
}

.ul-cart-table .ul-product-details-quantity .ul-product-quantity-wrapper .btns button {
  font-size: 10px;
}

@media screen and (max-width: 479px) {
  .ul-cart-table .ul-product-details-quantity .ul-product-quantity-wrapper .btns button {
    padding: 3px 10px;
  }
  .ul-cart-table .ul-product-details-quantity .ul-product-quantity-wrapper .btns button i {
    display: inline-flex;
  }
}

.ul-product-quantity-wrapper input.ul-product-quantity {
  -moz-appearance: textfield;
  background: transparent;
  height: auto;
  padding: 0;
  width: 100%;
}
.ul-product-quantity-wrapper input[type=number]::-webkit-outer-spin-button,
.ul-product-quantity-wrapper input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.ul-product-details-quantity .ul-product-quantity-wrapper { width: fit-content; }

/* product-details: variation form is a <form>, keep the layout identical to the template's plain <div>s */
.ul-product-details-txt form.cart { margin: 0; }
.ul-product-details-txt form.cart .ul-product-details-options { margin-top: 0; }
.ul-product-details-sizes .variants label.disabled,
.ul-product-details-colors .variants label.disabled { opacity: .35; cursor: not-allowed; }
.ul-product-details-colors .variants .color-btn { border: 1px solid rgba(0, 0, 0, .12); }
.ul-product-details-actions .left .single_add_to_cart_button.disabled,
.ul-product-details-actions .left .single_add_to_cart_button:disabled { opacity: .55; cursor: not-allowed; }
.ul-product-details-actions .left .add-to-wishlist.active .icon i::before { color: var(--ul-primary); }
.ul-product-details-descr p { margin: 0; }
.ul-product-details-long-descr-wrapper p + p { margin-top: 1em; }
.ul-product-details-related { margin-top: clamp(30px, 3.2vw, 60px); }
.ul-product-details-related .ul-product-details-inner-title { margin-bottom: clamp(15px, 1.6vw, 30px); }

/* ---- product cards ---- */
.ul-product-actions button.loading { opacity: .5; pointer-events: none; }
.ul-product-actions button.added i::before { opacity: .6; }
.ul-product-actions .glamics-wishlist-toggle.active { background-color: var(--ul-primary); color: var(--white); }

/* ---- shop sidebar states ---- */
.ul-products-categories-link a.active,
.ul-products-categories-link a[aria-current] { color: var(--ul-primary); }
.ul-products-color-filter-colors a.active { color: var(--ul-primary); }
.ul-products-rating-filter label { cursor: pointer; }
.ul-products-rating-filter input:checked ~ .stars { opacity: 1; }
.ul-products-rating-filter input:not(:checked) ~ .stars { opacity: .75; }
.glamics-sort-form { display: flex; justify-content: flex-end; margin-bottom: clamp(15px, 1.4vw, 26px); }
.glamics-sort-form select { border: 1px solid rgba(0, 0, 0, .2); border-radius: 999px; height: clamp(40px, 2.6vw, 50px); padding: 0 18px; background: #fff; }
.glamics-no-products { padding: 30px 0; }
.glamics-no-products .ul-btn, .glamics-empty-state .ul-cart-checkout-direct-btn { display: inline-flex; width: auto; }

/* ---- cart ---- */
.ul-cart-item-remove a.remove {
  width: clamp(19px, 1.16vw, 22px);
  border: 1px solid #E5E5E5;
  border-radius: 50%;
  padding: 0;
  aspect-ratio: 1/1;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  color: inherit;
}
.ul-cart-item-remove a.remove:hover { background-color: var(--ul-primary); border-color: var(--ul-primary); color: var(--white); }
a.ul-cart-checkout-direct-btn { text-decoration: none; text-align: center; }
.ul-cart-coupon-code-form-wrapper label.title { display: block; }
.ul-cart-product-img img { width: 100%; height: 100%; object-fit: cover; }
.ul-cart-table .variation { font-size: 13px; margin: 6px 0 0; }
.ul-cart-table .variation dt, .ul-cart-table .variation dd, .ul-cart-table .variation p { display: inline; margin: 0; }
.cart-bottom .cart_totals { margin-left: auto; }
.glamics-shipping-row { align-items: flex-start; }
.glamics-shipping-methods { text-align: right; }
.glamics-shipping-methods ul { list-style: none; margin: 0; padding: 0; }
.glamics-shipping-methods li label { display: inline; margin-left: 6px; }
.glamics-shipping-methods p { margin: 6px 0 0; font-size: 13px; font-weight: 400; }
.glamics-shipping-methods .shipping-calculator-button { color: var(--ul-primary); text-decoration: underline; }
.glamics-shipping-methods .shipping-calculator-form input, .glamics-shipping-methods .shipping-calculator-form select { border: 1px solid rgba(0, 0, 0, .2); border-radius: 8px; height: 40px; padding: 0 12px; margin-top: 8px; width: 100%; }
.glamics-shipping-methods .shipping-calculator-form button { background: var(--ul-primary); color: var(--white); border-radius: 999px; height: 40px; padding: 0 18px; margin-top: 8px; }

/* ---- checkout ---- */
.ul-checkout-form p.form-group { margin-bottom: 0; }
.ul-checkout-form .woocommerce-input-wrapper { display: block; }
.ul-checkout-form label .required { color: var(--ul-primary); text-decoration: none; border: 0; }
.ul-checkout-form label .optional { display: none; }
.ul-checkout-form select { width: 100%; height: clamp(45px, 3.15vw, 60px); border-radius: 5px; padding: 0 clamp(12px, 1.05vw, 20px); background-color: #FEF4F6; border: 1px solid #FEF4F6; }
.ul-checkout-form .select2-container { width: 100% !important; }
.ul-checkout-form .select2-container .select2-selection--single {
  height: clamp(45px, 3.15vw, 60px);
  border-radius: 5px;
  background-color: #FEF4F6;
  border: 1px solid #FEF4F6;
  display: flex;
  align-items: center;
}
.ul-checkout-form .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.2; padding: 0 clamp(12px, 1.05vw, 20px); width: 100%; }
.ul-checkout-form .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 10px; }
.select2-dropdown { border-radius: 5px; border-color: #FEF4F6; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: #FEF4F6; color: var(--black); }
.ul-checkout-form .woocommerce-billing-fields__field-wrapper > p,
.ul-checkout-form .woocommerce-shipping-fields__field-wrapper > p { margin-bottom: 0; }
.ul-checkout-form .ul-bs-row > .form-group { margin-bottom: 0; }
.ul-checkout-form .woocommerce-additional-fields { margin-top: clamp(15px, 1.58vw, 30px); }
.ul-checkout-form .shipping_address { margin-top: clamp(15px, 1.58vw, 30px); }
.ul-checkout-payment-methods label input[type=checkbox]:checked ~ .ul-radio-wrapper { border-color: #EB0029; }
.ul-checkout-payment-methods label input[type=checkbox]:checked ~ .ul-radio-wrapper::before { background-color: #EB0029; }
.ul-checkout-payment-methods .form-group { margin-bottom: clamp(12px, 1vw, 18px); }
.ul-checkout-payment-methods .payment_box { margin-top: 6px; }
.ul-checkout-payment-methods .payment_box p { margin: 0; }
.ul-checkout-payment-methods .payment_box input, .ul-checkout-payment-methods .payment_box select { background: #fff; }
.ul-checkout-payment-methods .place-order { margin-top: 10px; }
.ul-checkout-payment-methods .place-order .woocommerce-terms-and-conditions-wrapper { font-size: 14px; margin-bottom: 14px; }
.ul-checkout-payment-methods .place-order .woocommerce-privacy-policy-text p { font-size: 13px; color: #5C6574; }
.ul-checkout-payment-methods .place-order input[type=checkbox] { width: auto; height: auto; }
.ul-checkout-payment-methods img { max-height: 24px; width: auto; display: inline-block; margin-left: 6px; }
.ul-checkout-bill-summary .glamics-shipping-row.single-row { display: flex; justify-content: space-between; gap: 15px; }
.ul-checkout-bill-summary .glamics-shipping-methods { text-align: right; }
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 18px; }
.woocommerce-form-coupon, .woocommerce-form-login { margin-bottom: 24px; }
.woocommerce-form-coupon input[type=text], .woocommerce-form-login input { border: 1px solid rgba(0, 0, 0, .2); border-radius: 999px; height: 50px; padding: 0 18px; }
.woocommerce-form-coupon button, .woocommerce-form-login button { background: var(--ul-primary); color: var(--white); border-radius: 999px; height: 50px; padding: 0 24px; font-weight: 600; }
.blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

/* ---- login / sign-up / account ---- */
.ul-login .glamics-auth-extra { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; margin: 0 0 14px; }
.ul-login .glamics-auth-extra input[type=checkbox] { width: auto; height: auto; margin-right: 6px; }
.ul-login .ul-contact-form .woocommerce-privacy-policy-text p { font-size: 13px; color: #5C6574; margin-bottom: 14px; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: clamp(19px, 1.4vw, 26px); font-weight: 600; margin-bottom: 14px; }
.woocommerce-MyAccount-content p { margin-bottom: 12px; }
.woocommerce-MyAccount-content a { color: var(--ul-primary); }
.woocommerce-MyAccount-content table, .woocommerce-order-details table, .woocommerce-customer-details table { width: 100%; border-collapse: collapse; }
.woocommerce-MyAccount-content th, .woocommerce-MyAccount-content td, .woocommerce-order-details th, .woocommerce-order-details td, .woocommerce-customer-details th, .woocommerce-customer-details td { padding: 12px 14px; border-bottom: 1px solid #E5E5E5; text-align: left; vertical-align: top; }
.woocommerce-MyAccount-content th, .woocommerce-order-details th { background: #FEF4F6; font-weight: 600; }
.woocommerce-MyAccount-content .button, .woocommerce-order-details .button, .woocommerce-MyAccount-content button[type=submit] { display: inline-flex; align-items: center; background: var(--ul-primary); color: var(--white) !important; border-radius: 999px; height: 44px; padding: 0 22px; font-weight: 600; }
.woocommerce-MyAccount-content input[type=text], .woocommerce-MyAccount-content input[type=email], .woocommerce-MyAccount-content input[type=password], .woocommerce-MyAccount-content input[type=tel], .woocommerce-MyAccount-content select, .woocommerce-MyAccount-content textarea { border: 1px solid rgba(0, 0, 0, .2); border-radius: 8px; padding: 0 14px; height: 48px; width: 100%; }
.woocommerce-MyAccount-content textarea { height: 120px; padding: 12px 14px; }
.woocommerce-MyAccount-content .form-row, .woocommerce-MyAccount-content p.form-group { margin-bottom: 16px; }
.woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.woocommerce-MyAccount-content .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; }
.woocommerce-order-received .ul-entry-content, .woocommerce-order-received .woocommerce { margin: clamp(40px, 4.2vw, 80px) clamp(15px, 13.44vw, 370px); }
.woocommerce-order ul.order_details { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 24px; margin: 18px 0 30px; }
.woocommerce-order ul.order_details li { font-size: 14px; text-transform: uppercase; color: #5C6574; }
.woocommerce-order ul.order_details li strong { display: block; font-size: 16px; text-transform: none; color: var(--black); }
.woocommerce-order h2 { font-size: clamp(19px, 1.4vw, 26px); font-weight: 600; margin: 24px 0 12px; }
.woocommerce-thankyou-order-received { font-weight: 600; font-size: clamp(17px, 1.2vw, 22px); }

/* ---- (b) notices, toast ---- */
.glamics-notice {
  list-style: none;
  margin: 0 0 clamp(16px, 1.4vw, 26px);
  padding: 14px 20px;
  border-radius: 10px;
  background: #FEF4F6;
  border-left: 4px solid var(--ul-primary);
  font-size: clamp(14px, 0.9vw, 16px);
}
.glamics-notice a { color: var(--ul-primary); font-weight: 600; text-decoration: underline; }
.glamics-notice li + li { margin-top: 6px; }
.glamics-notice-success { border-left-color: #0CD92A; background: #F1FCF3; }
.glamics-notice-info { border-left-color: #5C6574; background: #F5F6F8; }
.glamics-notice .button, .glamics-notice .wc-forward { float: right; margin-left: 16px; text-decoration: none; }
.woocommerce-notices-wrapper:empty { display: none; }
.ul-cart-container > .glamics-notice, .ul-cart-container .woocommerce-notices-wrapper .glamics-notice { margin-top: 0; }

.glamics-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 20px);
  opacity: 0;
  pointer-events: none;
  z-index: 99999;
  background: var(--black);
  color: var(--white);
  padding: 12px 22px;
  border-radius: 999px;
  font-size: 15px;
  transition: opacity .25s, transform .25s;
}
.glamics-toast.show { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.glamics-toast a { color: #fff; text-decoration: underline; font-weight: 600; margin-left: 6px; }

/* form notices (contact / newsletter) */
.glamics-form-notice { margin-top: 14px; padding: 12px 18px; border-radius: 8px; font-size: 15px; }
.glamics-form-notice--success { background: #F1FCF3; color: #0a7a1c; }
.glamics-form-notice--error { background: #FEF4F6; color: #b0001f; }

/* ---- layout helpers ---- */
.woocommerce-cart .ul-cart-container .woocommerce-notices-wrapper { margin-bottom: 0; }
.screen-reader-text:focus { background: #fff; clip: auto; clip-path: none; height: auto; width: auto; padding: 10px 14px; z-index: 100000; }

/* blog details: blockquote text comes wrapped in <p> by wpautop; reply link behaves like the template's button */
.ul-blog-details blockquote p { margin: 0; }
a.ul-product-details-review-reply-btn { display: inline-block; text-decoration: none; }

/* sale price markup: <del>old</del> <ins>new</ins> */
.ul-product-details-price del { font-weight: 400; opacity: .6; margin-right: 6px; }
.ul-product-details-price ins { text-decoration: none; background: none; }
.ul-login .glamics-auth-extra label { display: inline-flex; align-items: center; margin: 0; }
.ul-login .glamics-auth-extra input[type=checkbox] { display: inline-block; flex: none; }
.ul-checkout-form label .required { color: inherit; text-decoration: none; border: 0; font-weight: inherit; }
/* order notes: the template shows only the textarea (label kept for screen readers) */
.woocommerce-additional-fields label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
