/*
 * 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; }

/* footer e-mail + address (added for ToxicoTribe) */
.glamics-footer-line { margin-top: 8px; font-size: clamp(14px, 0.95vw, 18px); }
.glamics-footer-line a { color: inherit; }
.glamics-footer-address { font-style: normal; margin: 8px 0 0; max-width: 340px; color: rgba(255,255,255,.7); font-size: 14px; line-height: 1.6; }

/* =====================================================================
   ToxicoTribe UX layer: preloader, skeletons, command menu, polish
   ===================================================================== */

/* ---- animated logo preloader ---- */
.preloader { background: #fff; transition: opacity .45s ease, visibility .45s ease; animation: ttPreFail 0s 6s forwards; }
.preloader.tt-pre-out { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes ttPreFail { to { opacity: 0; visibility: hidden; pointer-events: none; } }
.tt-pre-wrap { display: flex; flex-direction: column; align-items: center; gap: 26px; width: min(80vw, 640px); padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
.tt-pre-logo { width: 100%; height: auto; overflow: visible; display: block; }
.tt-pre-logo path { fill: transparent; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1;
  animation: ttDraw .9s cubic-bezier(.65, 0, .35, 1) calc(var(--i) * .08s) forwards, ttFill .5s ease 1.35s forwards; }
.tt-pre-logo .a { stroke: #DC143C; --c: #DC143C; }
.tt-pre-logo .b { stroke: #000; --c: #000; }
@keyframes ttDraw { to { stroke-dashoffset: 0; } }
@keyframes ttFill { to { fill: var(--c); stroke-width: 0; } }
.tt-pre-bar { width: min(46vw, 260px); height: 3px; background: rgba(0, 0, 0, .08); border-radius: 3px; overflow: hidden; }
.tt-pre-bar span { display: block; height: 100%; width: 100%; background: #DC143C; transform-origin: left; transform: scaleX(0); animation: ttBar 2s cubic-bezier(.4, 0, .2, 1) forwards; }
@keyframes ttBar { to { transform: scaleX(1); } }
html.tt-pre-on body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  .tt-pre-logo path { animation: none; stroke-dashoffset: 0; fill: var(--c); stroke-width: 0; }
  .tt-pre-bar span { animation: none; transform: scaleX(1); }
}

/* ---- skeleton shimmer + blur-up while images load ---- */
img.tt-img:not(.tt-loaded) {
  background: linear-gradient(100deg, #ececec 30%, #f7f7f7 50%, #ececec 70%) 0 0 / 300% 100%;
  animation: ttShimmer 1.3s linear infinite;
  color: transparent;
}
img.tt-img.tt-loaded { animation: ttBlurIn .5s ease both; }
@keyframes ttShimmer { to { background-position: -300% 0; } }
@keyframes ttBlurIn { from { filter: blur(10px); opacity: .5; } to { filter: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { img.tt-img:not(.tt-loaded), img.tt-img.tt-loaded { animation: none; } }

/* ---- typography polish ---- */
h1, h2, h3, h4, .ul-section-heading *, .ul-banner-title { text-wrap: balance; }
p, li, figcaption { text-wrap: pretty; }
.price, .amount, .woocommerce-Price-amount, .quantity input, .ul-product-price, .ul-cart-item-price, .cart_totals td, .cart_totals th,
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th, .ul-cart-item-quantity-container, table td, table th,
.ul-product-details-price, .order-total { font-variant-numeric: tabular-nums; }

/* ---- continuous corners (supported browsers only) ---- */
@supports (corner-shape: squircle) {
  button, input, select, textarea, .ul-btn, .ul-product, .ul-product-img, .glamics-toast, .tt-cmdk-box, .ul-header-submenu, .ul-sidebar { corner-shape: squircle; }
  .glamics-toast, .tt-cmdk-box, .ul-header-submenu { border-radius: 1.4em; }
}

/* ---- hit slop: small icon controls get a >=44px tap area without changing the layout ---- */
.ul-header-actions > a, .ul-header-actions > button, .ul-header-sidebar-opener, .ul-sidebar-closer, .ul-header-mobile-search-closer,
.glamics-wishlist-toggle, .glamics-wishlist-remove { position: relative; }
.ul-header-actions > a::after, .ul-header-actions > button::after, .ul-header-sidebar-opener::after, .ul-sidebar-closer::after,
.ul-header-mobile-search-closer::after, .glamics-wishlist-toggle::after, .glamics-wishlist-remove::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: max(100%, 44px); height: max(100%, 44px); transform: translate(-50%, -50%);
}

/* ---- safe-area insets (notches, home indicator) ---- */
.glamics-toast { bottom: calc(28px + env(safe-area-inset-bottom)); }
.ul-sidebar { padding-top: max(clamp(20px, 1.58vw, 30px), env(safe-area-inset-top)); padding-bottom: max(clamp(20px, 1.58vw, 30px), env(safe-area-inset-bottom)); padding-right: max(clamp(20px, 1.58vw, 30px), env(safe-area-inset-right)); }
footer, .ul-footer { padding-bottom: env(safe-area-inset-bottom); }

/* ---- smooth page-to-page transitions (Chromium) ---- */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .22s; }
@media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } }

/* ---- interruptible motion: transitions (not keyframes) so a reversal mid-way is smooth ---- */
.ul-sidebar { will-change: transform; }
.ul-sidebar.tt-dragging { transition: none; }

/* ---- toast with action ---- */
.glamics-toast button.tt-toast-action { background: none; border: 0; color: #fff; text-decoration: underline; font-weight: 600; margin-left: 10px; cursor: pointer; font: inherit; font-weight: 600; padding: 0 2px; }

/* ---- keyboard shortcut hints ---- */
.tt-kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border: 1px solid rgba(0, 0, 0, .2); border-bottom-width: 2px; border-radius: 6px; font: 600 12px/1 system-ui, sans-serif; color: #555; background: #fafafa; }
.ul-header-search-form-right { position: relative; }
.ul-header-search-form-right .tt-kbd { position: absolute; right: 52px; top: 50%; transform: translateY(-50%); pointer-events: none; transition: opacity .2s; }
.ul-header-search-form-right input:focus ~ .tt-kbd, .ul-header-search-form-right input:not(:placeholder-shown) ~ .tt-kbd { opacity: 0; }
@media (hover: none), (max-width: 991px) { .ul-header-search-form-right .tt-kbd { display: none; } }

/* ---- command menu ---- */
.tt-cmdk { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: max(12vh, env(safe-area-inset-top)) 16px 16px; background: rgba(0, 0, 0, .45); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s; }
.tt-cmdk.open { opacity: 1; visibility: visible; }
.tt-cmdk-box { width: min(620px, 100%); max-height: 70vh; display: flex; flex-direction: column; background: #fff; border-radius: 14px; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); overflow: hidden; transform: translateY(-8px) scale(.98); transition: transform .2s ease; }
.tt-cmdk.open .tt-cmdk-box { transform: none; }
.tt-cmdk-input { width: 100%; border: 0; border-bottom: 1px solid rgba(0, 0, 0, .12); padding: 18px 20px; font-size: 17px; outline: none; background: transparent; }
.tt-cmdk-list { list-style: none; margin: 0; padding: 8px; overflow: auto; }
.tt-cmdk-group { padding: 10px 12px 4px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #888; }
.tt-cmdk-item a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; color: #111; text-decoration: none; }
.tt-cmdk-item a[aria-selected="true"], .tt-cmdk-item a:hover { background: #f4f4f4; }
.tt-cmdk-item img { width: 40px; height: 40px; object-fit: cover; border-radius: 6px; flex: none; }
.tt-cmdk-item .tt-p { margin-left: auto; font-variant-numeric: tabular-nums; color: #DC143C; font-weight: 600; white-space: nowrap; }
.tt-cmdk-foot { display: flex; gap: 16px; padding: 10px 16px; border-top: 1px solid rgba(0, 0, 0, .1); font-size: 12px; color: #777; align-items: center; }
.tt-cmdk-empty { padding: 22px; text-align: center; color: #777; }
.tt-cmdk-skel { height: 40px; margin: 6px 12px; border-radius: 8px; background: linear-gradient(100deg, #ececec 30%, #f7f7f7 50%, #ececec 70%) 0 0 / 300% 100%; animation: ttShimmer 1.3s linear infinite; }
html.tt-cmdk-lock body { overflow: hidden; }

/* ---- stale-while-revalidate shimmer for product skeletons ---- */
.tt-skel-card { aspect-ratio: 3 / 4; border-radius: 12px; background: linear-gradient(100deg, #ececec 30%, #f7f7f7 50%, #ececec 70%) 0 0 / 300% 100%; animation: ttShimmer 1.3s linear infinite; }
@media screen and (min-width: 992px) {
  .ul-header-nav .has-sub-menu.tt-keep .ul-header-submenu { opacity: 1; transform: translateY(0); pointer-events: all; }
}
