/* Superunico theme additions: markup the mockup never drew (FiboSearch's own front end, WooCommerce and
   plugin output) styled to the mockup's tokens and components. su.css is the mockup's CSS, ported as is. */

/* ——— staff's admin bar on the front end: the sticky strip and header sit below it ———
   Only where WordPress keeps the bar fixed (601 px and up). On phones (≤ 600 px) the bar is position: absolute
   and scrolls away, so the stickies pin at 0 like a guest's; offsetting them there left the header 26 px above
   the strip with the logo row showing through (found on the live staff preview, iPhone, 2026-10-13). */
@media (min-width: 601px) {
  body.admin-bar .strip { top: var(--wp-admin--admin-bar--height, 32px); }
  body.admin-bar .hdr { top: calc(var(--wp-admin--admin-bar--height, 32px) + var(--sh, 30px) - var(--hcol, 0px)); }
}

/* ——— search: FiboSearch's markup as the mockup's pill (search.mdc "Design direction") ——— */
.srch-f.su-fibo { height: auto; padding: 0; gap: 0; background: none; box-shadow: none; display: block; container-type: normal; min-width: 0; }
.srch .su-fibo .dgwt-wcas-search-wrapp { max-width: none !important; min-width: 0 !important; width: 100%; margin: 0 !important; }
.srch .su-fibo .dgwt-wcas-search-form { margin: 0; }
.srch .su-fibo .dgwt-wcas-sf-wrapp,
.dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp {
  height: 50px; background: #fff !important; border-radius: 999px !important;
  display: flex; align-items: center; gap: 10px; padding: 0 10px 0 18px !important;
  box-shadow: 0 8px 24px rgba(120, 0, 40, .18); position: relative; container-type: inline-size;
}
.su-fibo .q-mg, .dgwt-wcas-om-bar .q-mg { color: var(--pink); display: flex; flex: 0 0 auto; }
.srch .su-fibo input.dgwt-wcas-search-input,
.dgwt-wcas-om-bar input.dgwt-wcas-search-input {
  flex: 1; min-width: 0; align-self: stretch; height: auto !important; margin: 0 !important;
  border: 0 !important; outline: 0; background: none !important; padding: 0 !important; box-shadow: none !important;
  font: 570 15.5px/1.2 var(--font) !important; color: var(--ink) !important; letter-spacing: 0;
}
.su-fibo input.dgwt-wcas-search-input::placeholder, .dgwt-wcas-om-bar input.dgwt-wcas-search-input::placeholder { color: #9C9CB0 !important; opacity: 1; transition: color .16s ease; }
@media (pointer: coarse) { .su-fibo input.dgwt-wcas-search-input, .dgwt-wcas-om-bar input.dgwt-wcas-search-input { font-size: 16px !important; } }
.su-fibo input.dgwt-wcas-search-input::-webkit-search-cancel-button { display: none; }
.su-fibo .dgwt-wcas-search-submit, .dgwt-wcas-om-bar .dgwt-wcas-search-submit {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0 0 0 0) !important; border: 0 !important; min-height: 0 !important;
}
.su-fibo .dgwt-wcas-preloader { right: 40px !important; }
.su-fibo .dgwt-wcas-voice-search { display: none !important; }
.hdr.cmp .su-fibo .dgwt-wcas-search-input:placeholder-shown ~ .q-br,
.dgwt-wcas-om-bar .dgwt-wcas-search-input:placeholder-shown ~ .q-br { opacity: 1; transform: none; }
.hdr.cmp .su-fibo .dgwt-wcas-search-input:placeholder-shown::placeholder,
.dgwt-wcas-om-bar .dgwt-wcas-search-input:placeholder-shown::placeholder { color: transparent !important; }
.su-fibo .kbd { flex: 0 0 auto; }
@media (max-width: 1080px) { .su-fibo .kbd { display: none; } }
@media (max-width: 820px) { .su-fibo .kbd { display: none; } }

/* The dropdown: the mockup's panel (white, 20 px corners, soft shadow), FiboSearch's rows in its order. */
.dgwt-wcas-suggestions-wrapp {
  border: 0 !important; border-radius: 20px !important; margin-top: 8px !important; padding: 8px 0 !important;
  box-shadow: 0 24px 60px rgba(20, 16, 40, .22) !important; background: #fff !important; overflow: hidden auto;
  font-family: var(--font) !important;
}
.dgwt-wcas-suggestion { padding: 9px 16px !important; border: 0 !important; font-family: var(--font) !important; }
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected, .dgwt-wcas-suggestion:hover { background: var(--fill) !important; }
.dgwt-wcas-suggestion-headline { padding: 12px 16px 4px !important; }
.dgwt-wcas-suggestion-headline .dgwt-wcas-st, .dgwt-wcas-suggestion-headline span { font-size: 12px !important; font-weight: 680 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--muted) !important; }
.dgwt-wcas-st { font-size: 14.5px !important; font-weight: 570 !important; color: var(--ink) !important; }
.dgwt-wcas-st strong, .dgwt-wcas-st b { font-weight: 720 !important; color: var(--ink) !important; }
.dgwt-wcas-si { width: 44px !important; flex: 0 0 44px; margin-right: 12px !important; }
.dgwt-wcas-si img { border-radius: 10px; border: 0 !important; padding: 0 !important; background: var(--tile); mix-blend-mode: multiply; }
.dgwt-wcas-sp, .dgwt-wcas-sp * { font-family: var(--font) !important; font-weight: 700 !important; color: var(--ink) !important; font-size: 14px !important; }
.dgwt-wcas-sp del, .dgwt-wcas-sp del * { color: var(--muted) !important; font-weight: 500 !important; }
.dgwt-wcas-sp .custom-sale-pill-inline { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 999px; background: var(--ok-50); color: var(--ok) !important; font-size: 11px !important; }
.dgwt-wcas-suggestion-more { margin: 8px 12px 4px !important; padding: 0 !important; background: none !important; }
.dgwt-wcas-suggestion-more .dgwt-wcas-st-more {
  display: flex !important; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 999px;
  background: var(--pink) !important; color: #fff !important; font-weight: 700 !important; font-size: 15px !important; text-transform: none !important;
}
.dgwt-wcas-suggestion-more .dgwt-wcas-st-more-total { background: rgba(255, 255, 255, .22); border-radius: 999px; padding: 1px 8px; color: #fff !important; }
.su-k-badge-fibo { background: #A2CA60 !important; color: #fff !important; border-radius: 50%; }

/* ——— The phone search sheet (FiboSearch's overlay, below 821 px), rebuilt 2026-10-11 ———
   One fixed layer sized to the visible screen (su.js sets --sp-h/--sp-top from visualViewport): the pink bar
   with the pill and Cancelar, then a single list that scrolls inside the sheet. The page underneath stays as it
   was (FiboSearch's iOS mode, which hid it and lost the shopper's place, is switched off by su.js). */
html.dgwt-wcas-overlay-mobile-on, html.dgwt-wcas-overlay-mobile-on body { min-width: 0 !important; min-height: 0 !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-overlay-mobile {
  position: fixed !important; left: 0 !important; right: 0 !important; top: var(--sp-top, 0px) !important; bottom: auto !important;
  height: var(--sp-h, 100dvh) !important; width: auto !important; overflow: hidden !important; background: #fff !important; z-index: 1002 !important;
  /* White all around the sheet: iOS can report a visual viewport shorter than what shows above the keyboard (the
     floating address pill), and the page underneath peeked through that strip (the user, 2026-10-12). */
  box-shadow: 0 0 0 200vmax #fff !important;
}
/* ...and a backdrop under the sheet that also takes the taps in that strip, so nothing reaches the page beneath. */
html.dgwt-wcas-overlay-mobile-on body::after { content: ''; position: fixed; inset: 0; background: #fff; z-index: 1001; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar {
  position: absolute !important; inset: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important;
  display: grid !important; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto minmax(0, 1fr); align-items: center; column-gap: 12px;
  background: linear-gradient(var(--pink) 0 var(--sp-bar, 72px), #fff var(--sp-bar, 72px)) !important;
}
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar > .dgwt-wcas-search-wrapp {
  grid-column: 1; grid-row: 1; min-width: 0; width: auto !important; max-width: none !important; margin: 0 !important;
  padding: calc(11px + env(safe-area-inset-top)) 0 11px 14px !important;
}
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar > .dgwt-wcas-om-return {
  grid-column: 2; grid-row: 1; align-self: end; margin: 0 14px 11px 0 !important; height: 50px !important; width: auto !important;
  padding: 0 2px !important; background: none !important; border: 0 !important; display: flex !important; align-items: center;
}
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-return svg { display: none !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-return .su-cancel { color: #fff; font: 650 16px var(--font); white-space: nowrap; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp { height: 50px; box-shadow: 0 6px 18px rgba(120, 0, 40, .16); }
/* The list: FiboSearch places it absolute at its own 45 px bar's height; here it fills the rest of the sheet. */
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestions-wrapp,
html.dgwt-wcas-overlay-mobile-on.dgwt-wcas-is-ios .dgwt-wcas-suggestions-wrapp {
  grid-column: 1 / -1; grid-row: 2; align-self: stretch; position: relative !important; inset: auto !important;
  width: auto !important; height: auto !important; max-height: none !important; min-height: 0; margin: 0 !important;
  border-radius: 0 !important; box-shadow: none !important; background: #fff !important;
  overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  padding: 4px 14px 0 !important; box-sizing: border-box;
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: max-content !important; align-content: start; column-gap: 8px;
}
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestions-wrapp[style*="display: none"] { display: none !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion { box-sizing: border-box !important; width: auto !important; min-width: 0; grid-column: 1 / -1; margin-inline: -14px !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-headline { padding: 14px 16px 6px !important; }
/* Categories, brands and especialidades: compact chips, two to a row. */
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-tax {
  grid-column: auto; display: flex !important; align-items: center; gap: 8px; margin: 0 0 8px !important; padding: 8px 10px !important; margin-inline: 0 !important;
  border-radius: 16px !important; background: var(--fill) !important;
}
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-tax .dgwt-wcas-si { width: 32px !important; flex: 0 0 32px; margin: 0 !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-tax .dgwt-wcas-content-wrapp { min-width: 0; display: block; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-tax .dgwt-wcas-st { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-tax .dgwt-wcas-st-breadcrumbs { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px !important; color: var(--muted) !important; }
/* Products: photo, then the name (two lines) over the price; the quantity plugin's control stays on the right. */
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product { display: flex !important; align-items: center; gap: 12px; padding: 8px 16px !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-si { width: 52px !important; flex: 0 0 52px; margin: 0 !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-content-wrapp { flex: 1; min-width: 0; height: auto !important; max-height: none !important; overflow: visible !important; display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-meta, html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-sp { line-height: 1.3 !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-st { display: block !important; flex: 0 0 auto; height: auto !important; max-height: none !important; overflow: visible !important; white-space: normal; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-st-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product { height: auto !important; min-height: 64px !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-sp { display: flex !important; flex-wrap: wrap; align-items: center; column-gap: 6px; row-gap: 2px; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-sp > * { line-height: 1.25 !important; }
@media (max-width: 360px) { html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-tax .dgwt-wcas-st-breadcrumbs { display: none !important; } }
/* Nothing floats over the sheets: live's app banner and the WhatsApp bubble wait until they close. */
html.sp-on #su-ab, html.lock #su-ab, html.sp-on .joinchat, html.lock .joinchat { display: none !important; }
/* On phones with a bottom bar (cart, Complementa, checkout, product page) the bubble rides above the bar, not
   over its button (seen on Complementa, 2026-10-13). The bar is 76 px plus the safe area. */
@media (max-width: 820px) { body:has(.ct-bar) .joinchat { --bottom: calc(86px + env(safe-area-inset-bottom)) !important; } }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-st strong { color: var(--pink-dd) !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-meta { margin: 0 !important; text-align: left !important; }
/* "Ver todos" stays at the foot of the sheet. */
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-more {
  position: sticky !important; bottom: 0; z-index: 5; margin: 6px -14px 0 !important; /* above the rows' especialidad badges (.ebs z 2) and + buttons (.sp-qa z 2), which scroll under it */
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important; background: linear-gradient(rgba(255, 255, 255, 0), #fff 34%) !important;
}
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-nores { padding: 22px 16px !important; }
/* The empty sheet (su.js adds .sp-empty from #sp-empty-tpl): shown while FiboSearch has nothing to list. */
.sp-empty { display: none; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar > .sp-empty { display: block; grid-column: 1 / -1; grid-row: 2; align-self: start; padding: 14px 14px 20px; overflow: auto; max-height: 100%; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-om-bar.sp-has > .sp-empty { display: none; }
.sp-empty .sp-h { margin: 2px 2px 10px; font-size: 12px; font-weight: 680; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.sp-empty .sp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-empty .chip { height: 40px; padding: 0 16px; border-radius: 999px; background: var(--fill); color: var(--ink); font-weight: 650; font-size: 14.5px; display: inline-flex; align-items: center; text-decoration: none; }

/* "Ver también" (results page) */
.srel { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; min-width: 0; }
.srel-l { flex: 0 0 auto; font-size: 13px; font-weight: 650; color: var(--muted); }
.srel .xsw { flex: 1; min-width: 0; }
.kmini { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #A2CA60; color: #fff; font-size: 10px; font-weight: 800; margin-right: 6px; }

/* ——— WooCommerce and plugin output ——— */
.woocommerce-notices-wrapper:empty { display: none; }
.unicocash-promo-line { margin-top: 4px; }
.unicocash-promo-pill { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--pink-50); color: var(--pink-dd); font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.pd-info .unicocash-promo-line { margin: 2px 0 10px; }
/* The plugin's floating UNICOCASH widget stays in the page for the app to read; the theme shows its own pill. */
.superunico-cashback-floating { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; opacity: 0 !important; pointer-events: none !important; }
/* WooCommerce's structured-data and pixel placeholders print nothing visible. */
.wc-facebook-pixel-event-placeholder { display: none; }
/* Back-in-stock (CWG) on the product page: the mockup's form. */
.pd-info .cwginstock-subscribe-form { margin: 14px 0 6px; padding: 16px; border-radius: var(--r); background: var(--fill); border: 0 !important; }
.pd-info .cwginstock-subscribe-form .panel, .pd-info .cwginstock-subscribe-form .panel-heading, .pd-info .cwginstock-subscribe-form .panel-body { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }
.pd-info .cwginstock-subscribe-form h4 { font: 700 16px var(--font); color: var(--ink); margin: 0 0 10px; text-align: left; }
.pd-info .cwginstock-subscribe-form input[type=email], .pd-info .cwginstock-subscribe-form input[type=text] { width: 100%; height: 50px; border-radius: 16px; border: 1.5px solid #E2E2EA; padding: 0 16px; font: 16px var(--font); margin-bottom: 10px; }
.pd-info .cwginstock-subscribe-form input[type=submit], .pd-info .cwginstock-subscribe-form .cwgstock_button { width: 100%; height: 50px; border-radius: 16px; border: 0; background: var(--pink); color: #fff; font: 700 15px var(--font); cursor: pointer; }
/* The product page's buy form keeps WooCommerce's classes; the mockup's button look wins. */
form.cart.pd-buy { margin: 22px 0 0; }
form.cart.pd-buy .single_add_to_cart_button[hidden] { display: none !important; }

/* ——— content pages and landings (flattened WPBakery / Woodmart content) ——— */
.pg-img { margin: 0 0 18px; }
.pg-img img { width: 100%; height: auto; border-radius: var(--r); display: block; }
@media (max-width: 820px) { .pg-img.desktop { display: none; } }
@media (min-width: 821px) { .pg-img.responsive { display: none; } }
.pg-h { font-family: var(--font-d); font-weight: 400; font-size: 25px; letter-spacing: -.012em; margin: 22px 0 12px; }
.pg-b { margin: 12px 0 22px; }
.lp-g { margin: 6px 0 12px; }
.lp-more { text-align: center; margin: 18px 0 28px; }
.pg-gal { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }

/* ——— cart page: WooCommerce's totals table drawn as the mockup's totals (.tot) ——— */
.cart_totals h2 { font-size: 20px; font-weight: 700; letter-spacing: -.03em; margin: 0 0 8px; }
.cart_totals table.shop_table, #order_review table.shop_table { width: 100%; border: 0; border-collapse: collapse; margin: 0; }
.cart_totals table tr, #order_review table tfoot tr { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 14.5px; }
.cart_totals table th, #order_review table tfoot th { padding: 0; border: 0; text-align: left; font-weight: 620; color: var(--ink-2); flex: 0 0 auto; background: none; }
.cart_totals table td, #order_review table tfoot td { padding: 0; border: 0; text-align: right; font-weight: 680; min-width: 0; background: none; }
.cart_totals .order-total, #order_review .order-total { padding-top: 16px !important; border-top: 2px solid var(--ink) !important; align-items: baseline !important; }
.cart_totals .order-total th, #order_review .order-total th { font-size: 17px; font-weight: 700; color: var(--ink); }
.cart_totals .order-total .amount, #order_review .order-total .amount { font-size: 28px; font-weight: 700; letter-spacing: -.02em; }
.cart_totals .amount, #order_review tfoot .amount { font-size: 16px; }
.cart_totals .woocommerce-shipping-methods, #order_review .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.cart_totals .woocommerce-shipping-destination, .cart_totals .woocommerce-shipping-calculator { display: block; margin-top: 3px; color: var(--muted); font-weight: 590; font-size: 12.5px; }
.cart_totals .shipping-calculator-button { color: var(--muted); text-decoration: underline; }
.cart_totals .cart-discount td, .cart_totals .fee td { color: var(--ok); }
.cart_totals .woocommerce-remove-coupon { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 650; color: var(--muted); text-decoration: underline; }
.wc-proceed-to-checkout { padding: 0; }
.wc-proceed-to-checkout .btn.go { width: 100%; height: 58px; margin-top: 14px; border-radius: 18px; font-size: 16.5px; display: flex; align-items: center; justify-content: center; }
/* Phones: the sticky bar carries the total and the button, so the summary keeps only its lines (the user, 2026-10-11:
   both showed twice at the bottom of the page). */
@media (max-width: 820px) {
  .ct-s .wc-proceed-to-checkout .btn.go, .ct-s .wc-proceed-to-checkout .go { display: none; }
  .woocommerce-cart .cart_totals .order-total { display: none; }
}
.woocommerce-cart-form .ln-r .amount { min-width: 88px; text-align: right; font-size: 19px; font-weight: 700; }
.woocommerce-cart-form .ln-x { display: inline-block; }
.ct-x a, .ct-x .button { color: var(--muted); font-size: 13.5px; text-decoration: underline; background: none; border: 0; }
/* WooCommerce's own busy overlay, as the mockup's quiet wait */
.blockUI.blockOverlay { background: rgba(255, 255, 255, .55) !important; opacity: 1 !important; }
.woocommerce-cart-form.processing, .cart_totals.processing { opacity: 1; }
/* Notices (WooCommerce and plugins) in the mockup's style */
.woocommerce-notices-wrapper > *, .woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 14px; padding: 14px 16px; border-radius: 16px; font-size: 14.5px; font-weight: 600; background: var(--fill); color: var(--ink); border: 0; }
.woocommerce-message { background: var(--ok-50); color: var(--ok-dd); }
.woocommerce-error { background: var(--pink-50); color: var(--pink-dd); }
.woocommerce-error li { list-style: none; }
.woocommerce-message .button, .woocommerce-info .button { float: right; font-weight: 700; color: inherit; text-decoration: underline; background: none; border: 0; }

/* ——— checkout: WooCommerce's fields and payment list as the mockup's (.cf, .rf, .pm-o) ——— */
.woocommerce-billing-fields > h3 { font-size: 20px; font-weight: 700; letter-spacing: -.03em; margin: 0 0 14px; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-checkout .form-row { margin: 0; padding: 0; display: grid; gap: 6px; min-width: 0; grid-column: 1 / -1; }
.woocommerce-billing-fields__field-wrapper .form-row-first { grid-column: 1; }
.woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 2; }
.woocommerce-checkout .form-row > label { font-size: 13.5px; font-weight: 650; color: var(--ink-2); }
.woocommerce-checkout .form-row .required { color: var(--pink-d); text-decoration: none; border: 0; }
.woocommerce-checkout .form-row .optional { color: var(--muted); font-weight: 590; }
.woocommerce-checkout .input-text, .woocommerce-checkout select, .woocommerce-checkout textarea, .woocommerce-checkout .select2-container .select2-selection {
  width: 100%; height: 50px; padding: 0 16px; border: 0 !important; border-radius: 14px; outline: 0;
  background: var(--fill); color: var(--ink); font: inherit; font-size: 16px; font-weight: 590; box-shadow: none;
}
.woocommerce-checkout textarea { height: 96px; padding: 14px 16px; }
.woocommerce-checkout .input-text:focus, .woocommerce-checkout select:focus { box-shadow: inset 0 0 0 2px var(--pink); background: #fff; }
.woocommerce-checkout .woocommerce-invalid .input-text, .woocommerce-checkout .woocommerce-invalid select { box-shadow: inset 0 0 0 2px var(--pink-dd); background: #fff; }
/* WooCommerce 11 writes each error under its field; the list itself stays only for errors with no field, which
   su.js moves next to the button that was pressed. */
.woocommerce-checkout .checkout-inline-error-message { margin: 6px 0 0; font-size: 12.5px; font-weight: 650; line-height: 1.3; color: var(--pink-dd); }
.woocommerce-checkout .co-s .woocommerce-NoticeGroup { margin: 0 0 12px; }
/* The coupon's own message, under its field (cart and checkout) */
.cpn-f .coupon-error-notice, .coupon .coupon-error-notice { flex-basis: 100%; margin: 0; font-size: 12.5px; font-weight: 650; line-height: 1.3; color: var(--pink-dd); }
.woocommerce-checkout .select2-container .select2-selection--single { display: flex; align-items: center; }
.woocommerce-checkout .select2-selection__rendered { padding: 0 !important; line-height: 50px !important; color: var(--ink) !important; }
.woocommerce-checkout .select2-selection__arrow { height: 48px !important; right: 10px !important; }
.woocommerce-checkout .iti { width: 100%; }
.woocommerce-checkout .iti input.input-text { padding-left: 52px; }
@media (max-width: 820px) { .woocommerce-billing-fields__field-wrapper .form-row-first, .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: auto; } }
#payment .wc_payment_methods { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
#payment .wc_payment_method { position: relative; border-radius: 18px; box-shadow: inset 0 0 0 1.5px var(--line); }
#payment .wc_payment_method:has(> input:checked) { background: #FFFBFC; box-shadow: inset 0 0 0 2px var(--pink); }
#payment .wc_payment_method > input.input-radio { position: absolute; left: 18px; top: 19px; width: 20px; height: 20px; accent-color: var(--pink); margin: 0; }
#payment .wc_payment_method > label { min-height: 58px; display: flex; align-items: center; gap: 12px; padding: 0 16px 0 50px; cursor: pointer; font-size: 15px; font-weight: 680; }
#payment .wc_payment_method > label img { height: 20px; width: auto; margin: 0 0 0 auto; }
#payment .payment_box { padding: 0 16px 16px 50px; color: var(--ink-2); font-size: 14px; font-weight: 590; background: none; margin: 0; }
#payment .payment_box::before { display: none; }
#payment .payment_box p { margin: 0; }
/* ——— NMI card form (Collect.js hosted fields). Collect.js's style sniffer drops a bare <input type="text"> into
   each field box (#nmi-card-number-element…), copies its computed styles and height into the input inside its
   iframe, then removes it (Collect.js, styleSniffer). So the probe input gets the theme's field look, and the
   iframe shows it; its own frame is transparent. Expiry and CVC share a row, as the mockup's card form. ——— */
#wc-nmi-cc-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin: 4px 0 0; padding: 0; border: 0; min-width: 0; }
#wc-nmi-cc-form > .form-row-wide, #wc-nmi-cc-form > .nmi-source-errors, #wc-nmi-cc-form > .clear { grid-column: 1 / -1; }
#wc-nmi-cc-form > .form-row-first, #wc-nmi-cc-form > .form-row-last { grid-column: auto; grid-template-rows: 1fr auto; align-items: end; } /* labels may wrap to different line counts: the two boxes still line up */
@media (max-width: 820px) { #payment .payment_box:has(#wc-nmi-cc-form) { padding-left: 16px; } }
#wc-nmi-cc-form > .clear, #wc-nmi-cc-form > .form-row:has(> #nmi-three-ds-mount-point:empty) { display: none; }
#wc-nmi-cc-form .nmi-source-errors:empty { display: none; }
#wc-nmi-cc-form .nmi-source-errors { color: var(--pink-dd); font-size: 13px; font-weight: 650; }
.nmi-card-group { position: relative; }
.nmi-card-group .nmi-card-brand { position: absolute; right: 14px; top: 50%; translate: 0 -50%; pointer-events: none; }
.wc-nmi-elements-field { display: block; min-height: 50px; border-radius: 14px; background: var(--fill); overflow: hidden; }
.wc-nmi-elements-field input, .wc-nmi-elements-field iframe { display: block; width: 100%; height: 50px; margin: 0; padding: 0 16px; border: 0; border-radius: 14px; outline: 0; background: var(--fill); color: var(--ink); font: 590 16px/50px var(--font); box-shadow: none; }
.wc-nmi-elements-field iframe { padding: 0; }
.wc-nmi-elements-field:has(.CollectJSInvalid), .wc-nmi-elements-field.CollectJSInvalid { box-shadow: inset 0 0 0 2px var(--pink-dd); background: #fff; }
/* "Guardar en mi cuenta": the checkout's .form-row grid stacked the box over its label; one line, the theme's checkbox. */
#payment .woocommerce-SavedPaymentMethods-saveNew { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
#payment .woocommerce-SavedPaymentMethods-saveNew input { width: 20px !important; height: 20px; margin: 0; accent-color: var(--pink); flex: none; }
#payment .woocommerce-SavedPaymentMethods-saveNew label { display: inline !important; font-size: 14px; font-weight: 620; color: var(--ink); cursor: pointer; }
/* Saved cards: one row per card, the radio first; "Usar una tarjeta nueva" last. */
#payment .woocommerce-SavedPaymentMethods { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
#payment .woocommerce-SavedPaymentMethods li { display: flex; align-items: center; gap: 10px; margin: 0; }
#payment .woocommerce-SavedPaymentMethods input { width: 20px; height: 20px; margin: 0; accent-color: var(--pink); flex: none; }
#payment .woocommerce-SavedPaymentMethods label { font-size: 14px; font-weight: 620; color: var(--ink); cursor: pointer; }
/* WooCommerce's own place-order button stays where Yappy hides and shows it, visually hidden; the visible ones click it. */
#payment .place-order { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0; padding: 0; }
#payment .woocommerce-terms-and-conditions-wrapper, #payment .woocommerce-privacy-policy-text { position: static; }
.co-s .woocommerce-checkout-review-order-table { width: 100%; }
.co-s .woocommerce-checkout-review-order-table thead { display: none; }
.co-s .woocommerce-checkout-review-order-table tbody { display: block; max-height: min(38vh, 340px); overflow: auto; overscroll-behavior: contain; }
.co-s .woocommerce-checkout-review-order-table tbody tr { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; font-size: 14px; }
.co-s .woocommerce-checkout-review-order-table tbody td { padding: 0; border: 0; }
.co-s .woocommerce-checkout-review-order-table .product-name { font-weight: 620; }
.co-s .woocommerce-checkout-review-order-table .product-quantity { color: var(--muted); font-weight: 650; }
.co-s .co-cpn { margin: 12px 0 0; }
.co-s .btn.go { width: 100%; height: 58px; margin-top: 14px; border-radius: 18px; font-size: 16.5px; }
.co-wait { margin: 12px 0 0; padding: 12px 14px; border-radius: 14px; background: var(--fill); color: var(--ink-2); font-size: 13.5px; font-weight: 590; }
.woocommerce-form-coupon-toggle, form.checkout_coupon { display: none !important; }
.woocommerce-checkout .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.btn[aria-busy="true"] { pointer-events: none; opacity: .85; }
@media (max-width: 820px) { body.flow .co-bar { display: flex; } body.flow .co-s .btn.go { display: none; } }

/* Multiple Addresses Pro's picker: beside the heading on computers (280 px), above the fields on phones. */
.woocommerce-billing-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 16px; }
.woocommerce-billing-fields > * { grid-column: 1 / -1; }
.woocommerce-billing-fields > h3 { grid-column: 1; margin: 0; }
.woocommerce-billing-fields > #thwma-billing-alt_field { grid-column: 2; display: flex; align-items: center; gap: 10px; background: none !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
#thwma-billing-alt_field > label { font-size: 12.5px; font-weight: 700; letter-spacing: .02em; color: var(--ink-2); white-space: nowrap; }
#thwma-billing-alt_field .select2-container { width: 280px !important; }
.woocommerce-billing-fields > .woocommerce-billing-fields__field-wrapper { margin-top: 14px; }
@media (max-width: 820px) {
  .woocommerce-billing-fields > #thwma-billing-alt_field { grid-column: 1 / -1; display: grid; gap: 6px; margin-top: 12px !important; }
  #thwma-billing-alt_field .select2-container { width: 100% !important; }
}
.fl-in { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--pad); }
@media (max-width: 820px) { .fl-in { padding: 0 14px; } }

/* ——— thank-you: the details and address side column (.ty-side, inc/checkout.php) beside everything else ——— */
.woocommerce-order { display: grid; grid-template-columns: minmax(0, 1fr) 392px; grid-template-rows: repeat(9, auto) 1fr; gap: 18px 40px; align-items: start; }
.woocommerce-order > * { grid-column: 1; min-width: 0; }
.woocommerce-order > .ty-side { grid-column: 2; grid-row: 1 / -1; display: grid; gap: 18px; position: sticky; top: 16px; }
@media (max-width: 1080px) { .woocommerce-order { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; } .woocommerce-order > .ty-side { grid-column: 1; grid-row: auto; position: static; } }
.woocommerce-thankyou-order-received { font-family: var(--font-d); font-size: 26px; letter-spacing: -.012em; margin: 6px 0 4px; }
/* Pending Yappy order, seconds after the return (inc/checkout.php su_ty_wait): the waiting line, and WooCommerce's
   Pay/Cancel row hidden while it shows. Where the row is legitimate (a failed payment, or after the wait gives up), the
   two actions are buttons with room between them, not one word. */
.ty-wait { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 20px; background: var(--tile); color: var(--ink); font-size: 14.5px; }
.ty-wait b { font-weight: 700; } .ty-wait p { margin: 2px 0 0; color: var(--muted); font-weight: 590; }
.ty-spin { width: 22px; height: 22px; flex: none; border-radius: 50%; border: 3px solid rgba(255, 38, 104, .2); border-top-color: var(--pink); animation: su-spin .8s linear infinite; }
.woocommerce-order:has(.ty-wait) tr:has(> .order-actions--heading) { display: none; }
.woocommerce-table--order-details .order-actions-button { display: inline-block; margin: 0 0 0 8px; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 680; background: var(--fill); color: var(--ink); text-decoration: none; }
.woocommerce-table--order-details .order-actions-button.pay { background: var(--pink); color: #fff; }
ul.woocommerce-order-overview { list-style: none; margin: 0; padding: 18px 22px; border-radius: 26px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); display: grid; gap: 10px; }
ul.woocommerce-order-overview li { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; color: var(--muted); font-weight: 620; }
ul.woocommerce-order-overview li strong { color: var(--ink); font-weight: 700; text-align: right; }
.woocommerce-order-details, .woocommerce-customer-details { padding: 22px; border-radius: 26px; background: #fff; box-shadow: inset 0 0 0 1px var(--line), var(--shadow-1); }
.woocommerce-order-details__title, .woocommerce-column__title { font-size: 20px; font-weight: 700; letter-spacing: -.03em; margin: 0 0 10px; }
.woocommerce-table--order-details { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: 10px 0; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.woocommerce-table--order-details td:last-child, .woocommerce-table--order-details tfoot td { text-align: right; font-weight: 680; }
.woocommerce-table--order-details thead { display: none; }
.woocommerce-customer-details address { font-style: normal; line-height: 1.55; color: var(--ink-2); border: 0; padding: 0; }

/* ——— My Account: WooCommerce's forms and tables in the mockup's style ——— */
.woocommerce-MyAccount-content form .form-row, .woocommerce-form-login .form-row, .woocommerce-ResetPassword .form-row { margin: 0 0 14px; display: grid; gap: 6px; }
.woocommerce-MyAccount-content label, .woocommerce-form-login label, .woocommerce-ResetPassword label { font-size: 13.5px; font-weight: 650; color: var(--ink-2); }
.woocommerce-MyAccount-content .input-text, .woocommerce-MyAccount-content select, .woocommerce-form-login .input-text, .woocommerce-ResetPassword .input-text {
  width: 100%; height: 50px; padding: 0 16px; border: 0; border-radius: 14px; outline: 0; background: var(--fill); color: var(--ink); font: inherit; font-size: 16px; font-weight: 590;
}
.woocommerce-MyAccount-content .input-text:focus, .woocommerce-form-login .input-text:focus { box-shadow: inset 0 0 0 2px var(--pink); background: #fff; }
.woocommerce-MyAccount-content button.button, .woocommerce-form-login button.button, .woocommerce-ResetPassword button.button, .woocommerce-MyAccount-content .button {
  display: inline-flex; align-items: center; justify-content: center; height: 50px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--pink); color: #fff; font: 700 15px var(--font); cursor: pointer; text-decoration: none;
}
/* cashback-rewards hides the first paragraph of every block in My Account (its frontend.css, !important). In a form
   that paragraph is a field: "Nombre" in Detalles de la cuenta, "Email" in the address forms (the mockup shows both). */
.woocommerce-account .woocommerce-MyAccount-content form p.form-row:first-child { display: grid !important; }
.woocommerce-MyAccount-content .select2-container .select2-selection--single {
  display: flex; align-items: center; height: 50px; padding: 0 16px; border: 0 !important; border-radius: 14px; background: var(--fill); box-shadow: none;
}
.woocommerce-MyAccount-content .select2-selection__rendered { padding: 0 !important; line-height: 50px !important; color: var(--ink) !important; font-size: 16px; font-weight: 590; }
.woocommerce-MyAccount-content .select2-selection__arrow { height: 48px !important; right: 10px !important; }
.woocommerce-MyAccount-content .select2-container--open .select2-selection--single { box-shadow: inset 0 0 0 2px var(--pink); background: #fff; }
.woocommerce-EditAccountForm { max-width: 640px; }
@media (min-width: 821px) {
  .woocommerce-EditAccountForm { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 14px; }
  .woocommerce-EditAccountForm > * { grid-column: 1 / -1; }
  .woocommerce-EditAccountForm > .form-row-first { grid-column: 1; }
  .woocommerce-EditAccountForm > .form-row-last { grid-column: 2; }
  .woocommerce-EditAccountForm > .clear { display: none; }
}
.woocommerce-EditAccountForm fieldset { min-width: 0; margin: 6px 0 18px; padding: 16px; border: 0; border-radius: 18px; background: #F9F9FB; }
.woocommerce-EditAccountForm fieldset legend { float: left; width: 100%; padding: 0; margin: 0 0 12px; font-size: 15px; font-weight: 700; color: var(--ink); }
.woocommerce-EditAccountForm fieldset .input-text { background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.woocommerce-EditAccountForm fieldset .input-text:focus { box-shadow: inset 0 0 0 2px var(--pink); }
.woocommerce-EditAccountForm fieldset .form-row { clear: both; float: none; width: auto; }
.woocommerce-EditAccountForm fieldset .form-row:last-of-type { margin-bottom: 0; }
.woocommerce-EditAccountForm #account_display_name_description, .woocommerce-EditAccountForm em { font-size: 12.5px; font-style: normal; color: var(--muted); }
.woocommerce-ResetPassword > p:not(.form-row) { margin: 0 0 18px; color: var(--ink-2); line-height: 1.5; }
.woocommerce-orders-table, .woocommerce-MyAccount-paymentMethods, .shop_table.account-orders-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce-orders-table th, .woocommerce-orders-table td { padding: 12px 8px; border-top: 1px solid var(--line); text-align: left; }
.woocommerce-orders-table thead th { font-size: 12.5px; color: var(--muted); font-weight: 680; border-top: 0; }
.woocommerce-orders-table .woocommerce-button, .woocommerce-orders-table .button { height: 36px; padding: 0 14px; font-size: 13.5px; margin: 2px; }
.woocommerce-orders-table .view { background: var(--fill); color: var(--ink); }
.woocommerce-form-login { max-width: 460px; }
.woocommerce-form-login .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.woocommerce-LostPassword a { color: var(--pink-dd); font-weight: 650; }
.woocommerce-Address, .woocommerce-Addresses .woocommerce-Address { padding: 18px; border-radius: 22px; box-shadow: inset 0 0 0 1px var(--line); margin-bottom: 14px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.woocommerce-Address address { font-style: normal; color: var(--ink-2); line-height: 1.5; }
@media (max-width: 820px) { .woocommerce-orders-table thead { display: none; } .woocommerce-orders-table tr { display: grid; padding: 12px 0; border-top: 1px solid var(--line); } .woocommerce-orders-table td { border: 0; padding: 3px 0; } .woocommerce-orders-table td::before { content: attr(data-title) ": "; color: var(--muted); font-weight: 650; } .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { content: none; } }
/* Login page (mockup vLogin) */
.login-v .lg-c { max-width: 460px; margin: 6px 0 40px; }
.login-v h1 { font-family: var(--font-d); font-weight: 400; font-size: 28px; letter-spacing: -.012em; margin: 0 0 18px; }
.login-v .lg-r { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 18px; }
.login-v .lg-lost { color: var(--pink-dd); font-weight: 650; font-size: 14px; }
.login-v .woocommerce-form-login__submit { width: 100%; height: 50px; }
.login-v .lg-up { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); text-align: center; display: grid; gap: 12px; }
.login-v .lg-up p { font-weight: 650; color: var(--ink-2); }
.login-v .lg-up .btn { width: 100%; }

/* ——— Complementa: the plugin's add button and quantity selector drawn as the card's "+" and stepper ——— */
.su-cpq { position: absolute; right: var(--qx); bottom: var(--qx); z-index: 2; height: var(--qh); }
.su-cpq button { display: grid; place-items: center; color: #fff; border-radius: 50%; width: var(--qh); height: var(--qh); flex: 0 0 var(--qh); }
.su-cpq .su-btn-add { background: var(--pink); box-shadow: 0 8px 18px rgba(255, 38, 104, .36); }
.su-cpq .su-btn-add:active, .su-cpq .su-qty-btn:active { transform: scale(.9); }
.su-cpq .su-btn-add.loading { opacity: .7; }
.su-cpq .su-btn-add svg { width: 18px; height: 18px; }
/* The plugin's script rewrites the button's content as it works: a spinner with "..." while adding, "✓ Agregado",
   then "+ Agregar" after a removal (complementa-page.js). Only the icon prints: the text has no size, the dots
   are hidden, the spinner turns (the theme's own `spin` keyframes). */
.su-cpq .su-btn-add { display: flex; align-items: center; justify-content: center; font-size: 0; line-height: 0; white-space: nowrap; overflow: hidden; } /* flex, not grid: the text node would take a grid row of its own and push the icon up */
.su-cpq .su-btn-add .su-loading-dots { display: none; }
.su-cpq .su-btn-add .su-spinner { animation: su-spin .8s linear infinite; }
.su-cpq .su-quantity-selector { position: absolute; right: 0; bottom: 0; height: var(--qh); width: var(--qw); border-radius: 999px; background: var(--pink); display: flex; flex-direction: row-reverse; align-items: center; box-shadow: 0 8px 18px rgba(255, 38, 104, .36); opacity: 0; pointer-events: none; transform: scaleX(.35); transform-origin: right center; transition: transform .32s var(--spring), opacity .18s ease; }
.su-cpq .su-quantity-selector.active { opacity: 1; pointer-events: auto; transform: none; }
.su-cpq .su-qty-value { flex: 1; text-align: center; color: #fff; font-weight: 700; font-size: 15px; font-variant-numeric: tabular-nums; }
.su-cpq .su-qty-btn.disabled { opacity: .45; cursor: not-allowed; }
#cpv .cp-h h1 { font-family: var(--font-d); font-weight: 400; font-size: 30px; letter-spacing: -.012em; margin: 6px 0 4px; }
.fl-h .cp-go { height: 44px; padding: 0 18px; font-size: 14.5px; gap: 8px; }
.fl-h .cp-go .cp-tot, .cp-bar .cp-tot { font-weight: 800; }
@media (max-width: 820px) { .fl-h .cp-go { display: none; } }
.su-error-toast, .su-toast { position: fixed; left: 50%; bottom: calc(96px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 90; padding: 12px 18px; border-radius: 14px; background: var(--ink); color: #fff; font-weight: 650; font-size: 14px; }
/* The plugin's open stepper, like the theme's, sits above the especialidad circles (they keep their place). */
.pc-top:has(.su-quantity-selector.active) { --qnow: var(--qw); }
.su-cpq { z-index: 3; }
/* A coupon plugin's message holder before the cart and checkout forms takes 20 px while it holds no message. */
.wc_coupon_message_wrap:not(:has(> :not(.no_wc_coupon_message))) { display: none; }
/* select2 (Multiple Addresses, zones) keeps the width it measured at start; on narrow phones that overflows. */
.woocommerce form .select2-container { width: 100% !important; max-width: 100%; }
.woocommerce form .form-row { grid-template-columns: minmax(0, 1fr); min-width: 0; }
/* While a finger drives a sideways row (su.js armRow), the row follows it exactly; it snaps again once it lands. */
.hx-drag { scroll-snap-type: none !important; scroll-behavior: auto !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-product .dgwt-wcas-sp > :empty { display: none !important; }
html.dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestion-more .dgwt-wcas-st-more { display: flex !important; width: 100%; height: 52px; box-shadow: 0 10px 24px rgba(255, 38, 104, .3); }

/* The especialidad banner ("Destacado") sits top left on cards (the user, 2026-10-11): the photo's own "N PACK"
   circle is top right. It stops before 65% across, as the "Compraste en" tag does; the heart moves under it. */
.pc-top .bn { left: var(--ex); right: auto; top: var(--ex); max-width: calc(65% - var(--ex) - 4px); }
.pc-top:has(.pc-when) .bn { top: 36px; }
.pc-top:has(.bn) { --fy: calc(var(--ex) + 30px); }
.pc-top:has(.pc-when):has(.bn) { --fy: 66px; }

/* ——— Register / sign-in popup (core's, moved from Woodmart): the mockup's sheet. Styling only: every element,
   id and script of the popup stays as it is (core/su-storefront/register.php, assets/register.js). ——— */
#su-register-modal { font-family: var(--font); background: rgba(20, 16, 40, .5); z-index: 10050; }
#su-register-modal .su-modal-container {
  max-width: 440px; padding: 28px 24px 20px; border-radius: 28px; text-align: left;
  box-shadow: 0 30px 80px rgba(20, 16, 40, .28); max-height: min(92dvh, 880px); overflow: auto; overscroll-behavior: contain;
}
@media (max-width: 820px) {
  #su-register-modal { align-items: flex-end; }
  #su-register-modal .su-modal-container {
    max-width: none; border-radius: 28px 28px 0 0; padding: 32px 20px calc(18px + env(safe-area-inset-bottom)); max-height: 94dvh;
    animation: suSheetUp .3s var(--ease);
  }
  #su-register-modal .su-modal-container::before { content: ""; position: absolute; left: 50%; top: 10px; translate: -50% 0; width: 44px; height: 5px; border-radius: 99px; background: #D6D6E0; }
}
@keyframes suSheetUp { from { transform: translateY(28px); } to { transform: none; } }
#su-register-modal .su-title { font: 760 26px/1.15 var(--font); letter-spacing: -.035em; color: var(--ink); text-align: left; margin: 0 0 18px; text-transform: lowercase; }
#su-register-modal .su-title::first-letter { text-transform: uppercase; }
#su-register-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#su-register-form > * { grid-column: 1 / -1; }
#su-register-form > .su-field:nth-child(1), #su-register-form > .su-field:nth-child(2) { grid-column: auto; }
#su-login-form { display: grid; gap: 10px; }
#su-register-modal .su-field { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; min-height: 0; box-shadow: none !important; }
#su-register-modal .su-field input[type="text"], #su-register-modal .su-field input[type="email"], #su-register-modal .su-field input[type="tel"],
#su-register-modal .su-field input[type="password"], #su-register-modal .su-field select {
  width: 100%; height: 52px; padding-top: 0; padding-bottom: 0; padding-right: 16px; border: 0 !important; border-radius: 16px !important;
  background-color: var(--fill) !important; color: var(--ink); font: 600 16px var(--font); box-shadow: none !important; outline: 0; margin: 0 !important;
  -webkit-appearance: none; appearance: none; transition: background-color .15s ease, box-shadow .15s ease;
}
#su-register-modal .su-field input:not([type="tel"]), #su-register-modal .su-field select { padding-left: 16px; }
#su-register-modal .su-field input::placeholder { color: #9C9CB0; opacity: 1; }
#su-register-modal .su-field input:focus, #su-register-modal .su-field select:focus { background-color: #fff !important; box-shadow: inset 0 0 0 2px var(--pink) !important; }
#su-register-modal .su-field select {
  padding-right: 42px; color: var(--ink); cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2374748A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
#su-register-modal .iti { width: 100%; display: block; margin: 0 !important; }
#su-register-modal .iti__selected-flag, #su-register-modal .iti__flag-container { border-radius: 16px 0 0 16px; background: none !important; }
#su-register-modal .intl-tel-input { margin: 0 !important; width: 100%; }
#su-register-modal #su-turnstile-slot { width: 100%; display: flex; justify-content: center; min-height: 65px; }
#su-register-modal .su-btn {
  width: 100%; height: 54px; margin: 6px 0 0; border: 0; border-radius: 999px; background: var(--pink); color: #fff;
  font: 700 16px var(--font); text-transform: none; letter-spacing: 0; box-shadow: 0 12px 28px rgba(255, 38, 104, .32); cursor: pointer;
}
#su-register-modal .su-btn:active { transform: scale(.985); }
#su-register-modal .su-btn[disabled], #su-register-modal .su-btn.loading { opacity: .7; }
#su-register-modal .su-bottom-links { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 2px 0; }
#su-register-modal .su-link, #su-register-modal .su-skip { display: inline-block; text-decoration: none !important; text-transform: lowercase; font: 700 15px var(--font); cursor: pointer; }
#su-register-modal .su-link::first-letter, #su-register-modal .su-skip::first-letter { text-transform: uppercase; }
#su-register-modal .su-link { color: var(--pink-dd); }
#su-register-modal .su-skip { color: var(--muted); font-weight: 650; }
#su-register-modal .su-message { border-radius: 14px; padding: 12px 14px; margin: 0 0 14px; font-size: 14px; text-align: left; }
#su-register-modal .su-remember-field { display: flex !important; align-items: center; gap: 10px; padding: 4px 2px !important; }
#su-register-modal .su-remember-field input[type="checkbox"] { -webkit-appearance: checkbox; appearance: auto; flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--pink); }
#su-register-modal .su-remember-field label { font: 600 14.5px var(--font); color: var(--ink-2); }
#su-register-modal .su-field select:has(option[value=""]:checked) { color: #9C9CB0; }
#su-register-modal .su-field select option { color: var(--ink); }

/* select2's list (the zone at checkout and in Mis Direcciones, Multiple Addresses) in the design's look. */
.select2-container .select2-dropdown { border: 0; border-radius: 14px; overflow: hidden; box-shadow: 0 16px 40px rgba(20, 16, 40, .18); font-family: var(--font); font-size: 15px; }
.select2-container .select2-search--dropdown { padding: 8px; }
.select2-container .select2-search--dropdown .select2-search__field { height: 42px; padding: 0 12px; border: 0; border-radius: 10px; background: var(--fill); font-size: 16px; outline: 0; }
.select2-container .select2-results__option { padding: 10px 14px; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--pink-50); color: var(--ink); }
.select2-container--default .select2-results__option[aria-selected="true"], .select2-container--default .select2-results__option[data-selected="true"] { background: var(--fill); font-weight: 680; }

/* Phones: the home's Pasillos bubbles and the Especialidades and Colecciones rows fade at the edge that has more, as
   the chip rows do (the mockup's .xs), so a row that happens to end on a whole item still reads as one that scrolls. */
@media (max-width: 820px) {
  .bubs, .ccs {
    --fl: 0px; --fr: 0px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--fl), #000 calc(100% - var(--fr)), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 var(--fl), #000 calc(100% - var(--fr)), transparent 100%);
  }
  .bubs.fl, .ccs.fl { --fl: 22px; }
  .bubs.fr, .ccs.fr { --fr: 34px; }
}

/* The product sheet before its page arrives: the card's photo, name and price at once, a shimmer where the rest lands. */
.pd-sh { position: relative; overflow: hidden; display: block; background: var(--sk); border-radius: 12px; }
.pd-sh::before { content: ""; position: absolute; inset: 0; background: var(--sheen); transform: translateX(-100%); animation: su-sheen 1.5s .2s linear infinite; }
.pd-sh.chip { width: 172px; height: 44px; border-radius: 16px; margin-top: 18px; }
.pd-sh.btn { height: 58px; border-radius: var(--r); }
.pd-info > .pd-buy .pd-sh.btn { margin-top: 0; }
.pd-sh.fav { height: 46px; border-radius: 16px; margin-top: 10px; }
.pd-sh.ln { height: 14px; margin-top: 18px; }
.pd-sh.ln.s { width: 62%; margin-top: 10px; }
.pd-t .pd-sh.ln { height: 26px; width: 80%; margin: 0; }
.pd-sh.h { height: 22px; width: 46%; margin: 30px 0 16px; }
.pd-shr { display: flex; gap: 12px; overflow: hidden; }
.pd-shr .pd-sh { flex: 0 0 calc((100% - 36px) / 4); aspect-ratio: .64; border-radius: 22px; }
.btn-add.pd-wait { cursor: progress; }
.btn-add.pd-wait.on { background: var(--pink-d); }
.pd-z .pd-ph { position: absolute; inset: 0; }
.pd-z img.pd-ld { opacity: 0; }
@media (max-width: 820px) {
  .pd-sh.fav { width: 190px; height: 24px; margin-top: 16px; }
  .pd-shr .pd-sh { flex-basis: calc((100% - 12px) / 2.3); }
}
@media (prefers-reduced-motion: reduce) { .pd-sh::before { animation: none; } }

/* Focus rings inside sideways rows are drawn inside the element: the row's scroll box would cut an outer ring off. */
:where(.rail, .ccs, .bubs, .xs, .pr-track, .dept-l, .dc-l, .pd-tr) :focus-visible { outline-offset: -3px; }

/* FiboSearch's clearfix pseudo-elements are zero-width flex items in the pill and each took a 10 px gap, so the
   typed text started 10 px right of "Buscar en SUPERUNICO" (the caret sat after its first letter). */
.srch .su-fibo .dgwt-wcas-sf-wrapp::before, .srch .su-fibo .dgwt-wcas-sf-wrapp::after,
.dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp::before, .dgwt-wcas-om-bar .dgwt-wcas-sf-wrapp::after { content: none !important; display: none !important; }
/* WooCommerce's script appends "Ver carrito" after any add button it hears about; the theme's own feedback stands. */
.added_to_cart { display: none !important; }
/* Notices at the top of a page keep their distance from the header. */
main .woocommerce-notices-wrapper:not(:empty) { margin-top: 18px; }
main .woocommerce > :is(.woocommerce-error, .woocommerce-message, .woocommerce-info):first-child, .acc-e > :is(.woocommerce-error, .woocommerce-message, .woocommerce-info):first-child { margin-top: 18px; }
/* The menu sheet's Pasillos row: the phone home's circle look. */
.mn .mg-i.pas { background: var(--pink-50); color: var(--pink); }
.mn .mg-i.pas svg { width: 24px; height: 24px; }
/* Order lines in My Account and on the thank-you page: the product's photo before its name. */
.woocommerce-table--order-details .oi-th { float: left; width: 44px; height: 44px; margin: -2px 12px 2px 0; border-radius: 10px; background: var(--tile); overflow: hidden; }
.woocommerce-table--order-details .oi-th img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: block; }
.woocommerce-table--order-details td.woocommerce-table__product-name { min-height: 44px; }

/* The theme's stepper on FiboSearch's product rows (sheet and desktop list); the quantity plugin's own controls stay out. */
.su-fibo-qty-wrap, #su-fibo-overlay-container { display: none !important; }
.dgwt-wcas-suggestion-product { position: relative !important; }
.dgwt-wcas-suggestion-product .dgwt-wcas-content-wrapp { padding-right: 104px !important; }
.sp-qa { position: absolute; right: 12px; top: 50%; translate: 0 -50%; z-index: 2; }
.sp-qa .qa { --qh: 36px; --qw: 104px; }
.sp-qa .qa .n { font-size: 14px; }

/* Loading states that match what lands: the cart drawer's lines, the Filtros sheet's groups. */
.dr-sk { display: grid; gap: 18px; padding-top: 6px; }
.dr-skl { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: center; }
.dr-skl > .pd-sh { width: 64px; height: 64px; border-radius: 16px; }
.dr-skl i { display: grid; gap: 10px; }
.dr-skl .pd-sh.ln { margin: 0; }
.dr-skl .pd-sh.ln.s { width: 40%; }
.mb-sk { display: grid; gap: 12px; }
.mb-sk .pd-sh.h { margin: 10px 0 2px; }
.mb-sk .pd-sh.ln { margin: 0; }

/* ——— UNICOCASH page in My Account (cashback-rewards' dashboard markup, its stylesheet under this one) ——— */
.woocommerce-MyAccount-content .woocommerce-MyAccount-account-funds > p:first-child { display: none; }
.woocommerce-MyAccount-content .superunico-dashboard .dashboard-hero { background: var(--grad-pink); color: #fff; text-align: left; margin: 0; padding: 24px; border-radius: 26px; box-shadow: 0 14px 30px rgba(255, 38, 104, .22); }
.woocommerce-MyAccount-content .superunico-dashboard .balance-display .balance-label { color: #fff; opacity: .9; font-size: 12.5px; letter-spacing: .06em; margin: 0; display: flex; align-items: center; gap: 8px; }
.woocommerce-MyAccount-content .superunico-dashboard .balance-display .balance-label img { height: 14px; width: auto; filter: brightness(0) invert(1); }
.woocommerce-MyAccount-content .superunico-dashboard .balance-display .balance-amount, .woocommerce-MyAccount-content .superunico-dashboard .balance-display .balance-amount .amount { color: #fff; font-size: 52px; font-weight: 800; letter-spacing: -.05em; margin: 0; text-shadow: none; }
.woocommerce-MyAccount-content .superunico-dashboard .dashboard-card { margin: 0; padding: 0; border: 0; box-shadow: inset 0 0 0 1px var(--line); border-radius: 24px; background: #fff; }
.woocommerce-MyAccount-content .superunico-dashboard .current-status-pill { text-align: left; }
.woocommerce-MyAccount-content .superunico-dashboard .current-tier-info { justify-content: flex-start; text-align: left; margin: 0; gap: 10px; }
.woocommerce-MyAccount-content .superunico-dashboard .current-tier-info .tier-icon { width: 36px; height: 36px; object-fit: contain; }
.woocommerce-MyAccount-content .superunico-dashboard .current-tier-info .tier-name { font-size: 17px; font-weight: 700; color: var(--ink); text-transform: none; letter-spacing: -.02em; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-rate, .woocommerce-MyAccount-content .superunico-dashboard .tier-cashback-column { display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; color: var(--pink-d); font-weight: 700; font-size: 14px; text-align: right; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-rate img, .woocommerce-MyAccount-content .superunico-dashboard .tier-cashback-column img, .woocommerce-MyAccount-content .superunico-dashboard .tier-explanation img, .woocommerce-MyAccount-content .superunico-dashboard .progress-info img { height: 11px; width: auto; vertical-align: -1px; display: inline-block; margin: 0 2px; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-explanation { margin: 0; padding: 14px 16px; text-align: left; background: var(--fill); border: 0; border-radius: 16px; color: var(--ink-2); font-size: 13.5px; font-weight: 590; line-height: 1.55; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-progress { margin: 0; }
.woocommerce-MyAccount-content .superunico-dashboard .progress-info { text-align: left; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-list-header, .woocommerce-MyAccount-content .superunico-dashboard .tier-item { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(72px, auto); gap: 10px; align-items: center; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-list-header { margin: 0; padding: 0 12px; background: none; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-list-header div:last-child { text-align: right; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-item { padding: 10px 12px; border: 0; border-radius: 14px; background: #FAFAFC; font-size: 13.5px; font-weight: 620; box-shadow: none; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-item.current { background: var(--pink-50); box-shadow: inset 0 0 0 1.5px var(--pink-100); }
.woocommerce-MyAccount-content .superunico-dashboard .tier-item:hover { transform: none; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-status-column { min-width: 0; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-status-column .tier-icon { width: 26px; height: 26px; flex: none; object-fit: contain; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-status-column .tier-name { font-size: 13.5px; font-weight: 700; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-range-column { text-align: left; color: var(--ink-2); font-size: 12.5px; font-weight: 620; font-variant-numeric: tabular-nums; line-height: 1.3; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-cashback-column { white-space: nowrap; }
@media (max-width: 820px) {
  .woocommerce-MyAccount-content .superunico-dashboard { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-MyAccount-content .superunico-dashboard .balance-display .balance-amount, .woocommerce-MyAccount-content .superunico-dashboard .balance-display .balance-amount .amount { font-size: 44px; }
}
.woocommerce-MyAccount-content .superunico-dashboard .tier-info { display: contents; }
.woocommerce-MyAccount-content .superunico-dashboard .current-status-pill { justify-self: start; margin: 0; padding: 6px 12px; font-size: 11.5px; box-shadow: none; }
.woocommerce-MyAccount-content .superunico-dashboard .current-status-pill span { background: none; padding: 0; color: inherit; font: inherit; letter-spacing: inherit; }
.woocommerce-MyAccount-content .superunico-dashboard .current-tier-info { flex-direction: row; flex-wrap: wrap; }
.woocommerce-MyAccount-content .superunico-dashboard .current-tier-info .tier-rate { margin-left: auto; }
.woocommerce-MyAccount-content .superunico-dashboard .progress-info { display: block; }
.woocommerce-MyAccount-content .superunico-dashboard .progress-info > * { display: inline; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-item .tier-status-column { grid-column: 1; grid-row: 1; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-item .tier-range-column { grid-column: 2; grid-row: 1; }
.woocommerce-MyAccount-content .superunico-dashboard .tier-item .tier-cashback-column { grid-column: 3; grid-row: 1; }
@media (max-width: 480px) {
  .woocommerce-MyAccount-content .superunico-dashboard .tier-list-header, .woocommerce-MyAccount-content .superunico-dashboard .tier-item { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.1fr) 44px; gap: 8px; }
  .woocommerce-MyAccount-content .superunico-dashboard .tier-item { padding: 10px; }
  .woocommerce-MyAccount-content .superunico-dashboard .tier-status-column .tier-name { white-space: normal; font-size: 13px; line-height: 1.2; }
  .woocommerce-MyAccount-content .superunico-dashboard .tier-range-column { font-size: 12px; }
  .woocommerce-MyAccount-content .superunico-dashboard .tier-cashback-column img { display: none; }
  .woocommerce-MyAccount-content .superunico-dashboard .tier-list-header div:nth-child(2) { text-align: left; }
}

/* ——— Mis direcciones: WooCommerce's address block and Multiple Addresses' list as the mockup's cards (plugin markup untouched) ——— */
.woocommerce-MyAccount-content .woocommerce-Addresses, .woocommerce-MyAccount-content .woocommerce-Address { float: none; width: 100%; max-width: 560px; }
.woocommerce-MyAccount-content .woocommerce-Address { padding: 18px; border-radius: 22px; background: #FFFBFC; box-shadow: inset 0 0 0 1.5px var(--pink-100); margin: 0 0 24px; }
.woocommerce-MyAccount-content .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 8px; }
.woocommerce-MyAccount-content .woocommerce-Address-title h2, .woocommerce-MyAccount-content .woocommerce-Address-title h3 { margin: 0; font-size: 17px; font-weight: 700; letter-spacing: -.02em; }
.woocommerce-MyAccount-content .woocommerce-Address address { color: var(--ink-2); font-size: 14.5px; font-style: normal; font-weight: 590; line-height: 1.55; }
.woocommerce-MyAccount-content .woocommerce-Address-title .edit, .thwma_my_acnt .btn-acnt-edit a, .thwma_my_acnt .thwma-del-acnt, .thwma_my_acnt .thwma-acnt-dflt, .thwma_my_acnt .thwma-add-acnt-adrs .button {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px;
  background: #fff; box-shadow: inset 0 0 0 1.5px var(--line); color: var(--pink-d); font: 650 13.5px var(--font); text-decoration: none; text-transform: none; letter-spacing: 0; cursor: pointer; border: 0; width: auto; line-height: 1;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover, .thwma_my_acnt .btn-acnt-edit a:hover, .thwma_my_acnt .thwma-acnt-dflt:hover, .thwma_my_acnt .thwma-add-acnt-adrs .button:hover { box-shadow: inset 0 0 0 1.5px var(--pink); background: var(--pink-50); }
.thwma_my_acnt .thwma-del-acnt { color: var(--muted); }
.thwma_my_acnt .thwma-del-acnt:hover { color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink-2); background: #fff; }
.thwma_my_acnt { margin-top: 8px; }
.thwma_my_acnt .th-head h3 { margin: 0 0 12px; font-size: 20px; font-weight: 700; letter-spacing: -.03em; border: 0; padding: 0; }
.thwma_my_acnt .thwma-thslider, .thwma_my_acnt .thwma-thslider-box, .thwma_my_acnt .thwma-thslider-viewport { overflow: visible !important; width: auto !important; height: auto !important; position: static !important; margin: 0 !important; padding: 0 !important; }
.thwma_my_acnt .thwma-thslider-list { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none; width: auto !important; transform: none !important; position: static !important; }
.thwma_my_acnt .thwma-thslider-item { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; list-style: none; display: block !important; }
.thwma_my_acnt .thwma-adr-box { display: grid; gap: 12px; align-content: start; padding: 18px; border-radius: 22px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); border: 0 !important; margin: 0 !important; width: auto !important; min-height: 0 !important; height: auto !important; }
.thwma_my_acnt .thwma-main-content { display: contents; }
.thwma_my_acnt .complete-aaddress { order: 1; display: grid; gap: 6px; }
.thwma_my_acnt .thwma-acnt-adr-footer { order: 2; align-items: center; margin: 0 !important; }
.thwma_my_acnt .btn-continue { order: 3; margin: -4px 0 0 !important; padding: 0 !important; display: block; width: auto !important; }
.thwma_my_acnt .address-type-wrapper { margin: 0; }
.thwma_my_acnt .address-type { font-size: 15px; font-weight: 700; color: var(--ink); padding: 0; border: 0; background: none; text-transform: none; }
.thwma_my_acnt .thwma-adr-text { height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; padding: 0 !important; margin: 0 !important; color: var(--ink-2); font-size: 14.5px; font-weight: 590; line-height: 1.55; border: 0; }
.thwma_my_acnt .thwma-acnt-adr-footer form { margin: 0; display: inline-flex; }
.thwma_my_acnt .thwma-acnt-dflt { background: var(--pink-50); box-shadow: inset 0 0 0 1.5px var(--pink-100); color: var(--pink-dd); }
.thwma_my_acnt .control-buttons, .thwma_my_acnt .fa { display: none !important; }
.thwma_my_acnt .thwma-add-acnt-adrs { margin: 14px 0 0 !important; text-align: left; }
.thwma_my_acnt .thwma-add-acnt-adrs .button { height: 42px; padding: 0 18px; font-size: 14px; }
.thwma_my_acnt .thwma-add-acnt-adrs .button::before { content: "+"; font-size: 18px; line-height: 1; margin-top: -2px; }
.woocommerce-MyAccount-content .woocommerce-notices-wrapper + p { color: var(--ink-2); font-size: 14.5px; margin: 0 0 16px; }
.thwma_my_acnt .thwma-thslider-viewport .complete-aaddress { min-height: 0 !important; }
.thwma_my_acnt .thwma-adr-box.address-box .address-type { margin: 0; padding: 0; height: auto; line-height: 1.3; color: var(--ink); font-size: 15px; display: block; }
.thwma_my_acnt .thwma-adr-box.address-box .address-type-wrapper { left: 0; }
.thwma_my_acnt .thwma-adr-text.address-text { min-height: 0 !important; font-weight: 590 !important; }
.thwma_my_acnt .thwma-main-content .address-wrapper { padding: 0 !important; }
.thwma_my_acnt .thwma-adr-box.address-box { font-size: 14.5px; }
.thwma_my_acnt .th-del-acnt { float: none; padding: 0 14px; min-height: 0; font-size: 13.5px; font-weight: 650; text-transform: none; }
.thwma_my_acnt .thwma-acnt-cus-addr.th-custom-address { padding-top: 0; }
.thwma_my_acnt .thwma-acnt-cus-addr .th-head h3 { border-bottom: 0; }
.woocommerce-MyAccount-content .woocommerce-Addresses { margin-bottom: 0; }
.woocommerce-MyAccount-content .woocommerce-Addresses::after, .woocommerce-MyAccount-content .woocommerce-Address::after { content: none; }
.woocommerce-MyAccount-content .th-custom.thwma_my_acnt { margin-top: 0 !important; }
.woocommerce-MyAccount-content .thwma_my_acnt button.thwma-del-acnt { text-transform: none !important; }
/* Order page: the date line and the status steps (mockup `vOrder`) */
.acc-ord { color: var(--muted); font-size: 14px; font-weight: 620; margin: 0 0 14px; }
.acc-ord .ost { margin-left: 8px; vertical-align: 1px; }
.woocommerce-MyAccount-content .trk { margin: 0 0 18px; }
/* Wide photos (1.15:1 and wider) in aisle tiles and department circles: centred and a little larger. Under the
   "standing" rule above they hit the width cap first and sat short and low; tall photos keep that rule. */
.ac-m img.wide { top: 50%; bottom: auto; width: 86%; height: auto; max-height: calc(100% - 20px); translate: -50% -50%; object-position: center; }
.bub-c img.wide { top: 50%; bottom: auto; width: 88%; max-width: 88%; height: auto; max-height: 80%; translate: -50% -50%; object-position: center; }
@media (max-width: 820px) {
  .board.tiles .ac-m img.wide { top: 50%; bottom: auto; width: 86%; height: auto; max-height: 80%; }
}
/* Checkout's minimum bar, shown when a coupon pulls the total under it */
#su-co-min .mo { margin: 14px 0 0; }
