/* ProAths Wishlist UI 1.2.15 */
:root {
    --pawu-navy: #0d2968;
    --pawu-navy-dark: #091f52;
    --pawu-navy-muted: #5b6883;
    --pawu-border: #e4e8ef;
    --pawu-preorder-bg: #fed54e;
    --pawu-preorder-text: #0d2968;
}

/* =========================================================
   POPUP — detached from WPC's transformed popup tree
   ========================================================= */
/*
 * ProAths owns the visible Wishlist modal. WPC's popup is retained only as a
 * hidden controller/source-of-truth DOM. Hide it from the first paint instead
 * of waiting for JS to notice `.woosw-show`; otherwise the native/old popup can
 * flash briefly before the ProAths modal mounts, especially when WPC rebuilds
 * the popup node after its AJAX response.
 */
body.pawu-wishlist-ui-active .woosw-popup,
body.pawu-wishlist-ui-active .woosw-popup.woosw-show,
body.pawu-wishlist-ui-active .woosw-popup.pawu-native-suppressed {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.pawu-modal-layer {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 24px 16px !important;
    box-sizing: border-box !important;
    overflow: auto !important;
    background: rgba(0, 0, 0, .54) !important;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
}

.pawu-modal-layer.is-open { display: flex !important; }

.pawu-modal-dialog {
    position: relative !important;
    flex: 0 1 590px !important;
    width: min(590px, 100%) !important;
    max-width: 590px !important;
    max-height: calc(100vh - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
    margin: auto !important;
    padding: 0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 18px 60px rgba(0,0,0,.22) !important;
    overflow: auto !important;
}

.pawu-popup, .pawu-popup * { box-sizing: border-box; }
.pawu-popup {
    position: relative;
    width: 100%;
    color: var(--pawu-navy);
    background: #fff;
    font-family: inherit;
    text-align: left;
}
.pawu-close {
    position: absolute !important; z-index: 3; top: 20px; right: 20px;
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 36px !important; min-width: 36px !important; height: 36px !important; min-height: 36px !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
    outline: none !important; background: transparent !important; background-image: none !important;
    color: var(--pawu-navy) !important; box-shadow: none !important; cursor: pointer;
    transition: background-color .18s ease !important;
}
.pawu-close::before,.pawu-close::after,.pawu-button::before,.pawu-button::after,.pawu-page-button::before,.pawu-page-button::after,.pawu-card-remove::before,.pawu-card-remove::after { display:none !important; content:none !important; }
.pawu-close:hover { background:#f3f3f3 !important; color:var(--pawu-navy) !important; transform:none !important; }
.pawu-close svg { width:22px; height:22px; }
.pawu-head { padding:44px 50px 28px; border-bottom:1px solid var(--pawu-border); }
.pawu-eyebrow { display:flex; align-items:center; gap:9px; margin:0 52px 16px 0; color:var(--pawu-navy); font-size:13px; font-weight:600; line-height:1.2; letter-spacing:.02em; text-transform:uppercase; }
.pawu-heart { display:inline-flex; width:19px; height:19px; }
.pawu-heart svg { width:100%; height:100%; }
.pawu-title { margin:0 50px 7px 0 !important; padding:0 !important; border:0 !important; color:var(--pawu-navy) !important; font-family:inherit !important; font-size:28px !important; font-weight:700 !important; line-height:1.12 !important; letter-spacing:-.025em !important; text-transform:uppercase !important; }
.pawu-description { margin:0 !important; padding:0 !important; color:var(--pawu-navy-muted) !important; font-size:14px !important; font-weight:400 !important; line-height:1.55 !important; }
.pawu-product { display:grid; grid-template-columns:120px minmax(0,1fr); gap:28px; align-items:start; padding:30px 50px; }
.pawu-product-image { display:block; width:120px; height:auto; overflow:hidden; border-radius:6px; background:#f6f6f6; }
.pawu-product-image img { display:block !important; width:120px !important; height:auto !important; max-width:none !important; max-height:none !important; margin:0 !important; padding:0 !important; border:0 !important; object-fit:contain; }
.pawu-product-info { min-width:0; align-self:start; padding-top:0; }
.pawu-product-category { margin:0 0 7px; color:var(--pawu-navy-muted); font-size:13px; font-weight:400; line-height:1.3; }
.pawu-product-name { margin:0 0 12px; color:var(--pawu-navy); font-size:18px; font-weight:700; line-height:1.28; letter-spacing:-.01em; text-transform:uppercase; }
.pawu-product-name-link,.pawu-product-name-link:visited {
    color:inherit !important; text-decoration:none !important;
    background-image:linear-gradient(currentColor,currentColor) !important;
    background-repeat:no-repeat !important; background-position:0 100% !important; background-size:0 2px !important;
    transition:background-size .26s ease !important;
}
.pawu-product-name-link:hover { color:inherit !important; text-decoration:none !important; background-size:100% 2px !important; }
.pawu-badges { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.pawu-badge { display:inline-flex; align-items:center; min-height:26px; padding:4px 9px; border:1px solid #c9d0dd; border-radius:2px; background:#fff; color:var(--pawu-navy); font-size:10px; font-weight:700; line-height:1.2; letter-spacing:.01em; white-space:nowrap; }
.pawu-badge--preorder { border-color:var(--pawu-preorder-bg); background:var(--pawu-preorder-bg); color:var(--pawu-preorder-text); }
.pawu-price,.pawu-price .amount,.pawu-price ins,.pawu-price del { color:#000 !important; font-size:18px !important; line-height:1.25 !important; }
.pawu-price { margin:0; font-weight:700; }
.pawu-price ins { text-decoration:none; }
.pawu-price del { margin-right:6px; color:#8b8b8b !important; font-weight:400; }
.pawu-actions { display:grid; grid-template-columns:1.15fr 1fr; gap:12px; padding:0 50px 38px; }
.pawu-button,a.pawu-button,button.pawu-button { display:inline-flex !important; align-items:center; justify-content:center; width:100% !important; min-width:0 !important; min-height:48px !important; margin:0 !important; padding:12px 18px !important; border-radius:2px !important; box-shadow:none !important; background-image:none !important; font-family:inherit !important; font-size:12px !important; font-weight:600 !important; line-height:1.2 !important; letter-spacing:.01em !important; text-align:center !important; text-decoration:none !important; text-transform:uppercase !important; cursor:pointer; transform:none !important; transition:background-color .18s ease,color .18s ease,border-color .18s ease !important; }
.pawu-button--primary,a.pawu-button--primary,a.pawu-button--primary:visited { border:1px solid var(--pawu-navy) !important; background:var(--pawu-navy) !important; color:#fff !important; }
.pawu-button--primary:hover,a.pawu-button--primary:hover { border-color:var(--pawu-navy) !important; background:#fff !important; color:var(--pawu-navy) !important; }
.pawu-button--secondary,button.pawu-button--secondary { border:1px solid #a9a9a9 !important; background:#fff !important; color:var(--pawu-navy) !important; }
.pawu-button--secondary:hover,button.pawu-button--secondary:hover { border-color:var(--pawu-navy) !important; background:var(--pawu-navy) !important; color:#fff !important; }
.pawu-button.is-loading,.pawu-button:disabled { opacity:.5 !important; cursor:wait !important; pointer-events:none !important; }

/* =========================================================
   PRODUCT CARD WISHLIST STATE — Homepage / Shop / carousels
   ========================================================= */
/* Active Wishlist styling for ARCHIVE/CAROUSEL action squares only.
 * Keep this scoped to li.product so Single Product never receives the tight
 * square/ring treatment. */
li.product .woosw-btn.pawu-wishlist-action-active,
li.product .woosw-btn.pawu-wishlist-action-active:visited,
li.product .woosw-btn.pawu-wishlist-action-active .woosw-btn-inner {
    border-color:transparent !important;
    background:#fff !important;
    background-image:none !important;
    color:var(--pawu-navy) !important;
    box-shadow:inset 0 0 0 2px var(--pawu-navy) !important;
}
li.product .woosw-btn.pawu-wishlist-action-active::before,
li.product .woosw-btn.pawu-wishlist-action-active::after,
li.product .woosw-btn.pawu-wishlist-action-active * { color:var(--pawu-navy) !important; }
li.product .woosw-btn.pawu-wishlist-action-active:hover,
li.product .woosw-btn.pawu-wishlist-action-active:hover .woosw-btn-inner {
    border-color:var(--pawu-navy) !important;
    background:var(--pawu-navy) !important;
    color:#fff !important;
    box-shadow:inset 0 0 0 2px var(--pawu-navy) !important;
}
li.product .woosw-btn.pawu-wishlist-action-active:hover::before,
li.product .woosw-btn.pawu-wishlist-action-active:hover::after,
li.product .woosw-btn.pawu-wishlist-action-active:hover * { color:#fff !important; }

/* Force a truly filled heart for saved products in the hover action rail.
 * The theme/WPC icon can be an outline glyph even in the added state, so we
 * overlay our own filled SVG only on archive/product cards. */
li.product .woosw-btn.pawu-wishlist-action-active {
    position:relative !important;
}
li.product .woosw-btn.pawu-wishlist-action-active .woosw-btn-icon,
li.product .woosw-btn.pawu-wishlist-action-active > i,
li.product .woosw-btn.pawu-wishlist-action-active > svg {
    opacity:0 !important;
}
li.product .woosw-btn.pawu-wishlist-action-active .pawu-action-heart-filled {
    position:absolute !important;
    inset:0 !important;
    z-index:3 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    color:var(--pawu-navy) !important;
    pointer-events:none !important;
}
li.product .woosw-btn.pawu-wishlist-action-active .pawu-action-heart-filled svg {
    display:block !important;
    width:17px !important;
    height:17px !important;
    opacity:1 !important;
}
li.product .woosw-btn.pawu-wishlist-action-active:hover .pawu-action-heart-filled {
    color:#fff !important;
}

/* Persistent saved-heart lives INSIDE .product-block, the same positioning
 * context used by the theme's native product labels. This keeps the heart
 * pinned to the thumbnail instead of the carousel/LI geometry. */
.woocommerce ul.products li.product .product-block,
.woocommerce-page ul.products li.product .product-block,
li.product .product-block {
    position:relative;
}
.pawu-card-heart-status {
    position:absolute !important;
    z-index:24 !important;
    top:14px !important;
    right:14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    min-width:34px !important;
    height:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid var(--pawu-navy) !important;
    border-radius:3px !important;
    background:var(--pawu-navy) !important;
    background-image:none !important;
    color:#fff !important;
    box-shadow:none !important;
    cursor:pointer !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease !important;
}
.pawu-card-heart-status::before,.pawu-card-heart-status::after { display:none !important; content:none !important; }
.pawu-card-heart-status svg { display:block !important; width:16px !important; height:16px !important; }
.pawu-card-heart-status:hover { background:#fff !important; color:var(--pawu-navy) !important; border-color:var(--pawu-navy) !important; }

/* IMPORTANT: only move the theme's ARCHIVE CARD label.
 * .proaths-preorder-badge is the real HÀNG ĐẶT TRƯỚC label shown in the
 * product card. We intentionally do not target single-product preorder
 * buttons/classes, so their right/position styles remain untouched. */
.woocommerce ul.products li.product.pawu-product-card-has-heart .product-block > .proaths-preorder-badge,
.woocommerce-page ul.products li.product.pawu-product-card-has-heart .product-block > .proaths-preorder-badge,
li.product.pawu-product-card-has-heart .product-block > .proaths-preorder-badge {
    right:55px !important; /* 14px outer + 34px heart + 7px gap */
}


/* Dedicated confirmation shown only when removing from /wishlist/. */
.pawu-wishlist-confirm-dialog {
    flex-basis:520px !important;
    width:min(520px,100%) !important;
    max-width:520px !important;
}
.pawu-popup--wishlist-confirm .pawu-head {
    padding:40px 44px 26px !important;
    border-bottom:0 !important;
}
.pawu-popup--wishlist-confirm .pawu-eyebrow {
    margin-bottom:14px !important;
}
.pawu-popup--wishlist-confirm .pawu-title {
    margin-right:40px !important;
    font-size:25px !important;
    line-height:1.18 !important;
}
.pawu-popup--wishlist-confirm .pawu-actions {
    grid-template-columns:1fr 1fr !important;
    padding:0 44px 38px !important;
}
.pawu-popup--wishlist-confirm .pawu-close {
    font-size:28px !important;
    font-weight:300 !important;
    line-height:1 !important;
}
[data-pawu-suppressed-wishlist-message="1"] { display:none !important; }

/* =========================================================
   WISHLIST PAGE — native ProAths/Woo product cards
   ========================================================= */
.pawu-is-wishlist-page .site-content,.pawu-is-wishlist-page .content-area,.pawu-is-wishlist-page main { overflow:visible; }
.pawu-wishlist-page,.pawu-wishlist-page * { box-sizing:border-box; }
.pawu-wishlist-page { width:100%; max-width:1530px; margin:0 auto; padding:30px 0px; color:var(--pawu-navy); font-family:inherit; }
.pawu-wishlist-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:48px; margin:0 0 58px; }
.pawu-wishlist-hero__copy { max-width:760px; }
.pawu-wishlist-hero__title { margin:0 !important; padding:0 !important; border:0 !important; color:var(--pawu-navy) !important; font-family:inherit !important; font-size:clamp(42px,4.25vw,68px) !important; font-weight:700 !important; line-height:1 !important; letter-spacing:-.04em !important; text-transform:uppercase !important; white-space:nowrap !important; }
.pawu-wishlist-hero__description { max-width:none; margin:24px 0 0 !important; color:var(--pawu-navy-muted) !important; font-size:16px !important; line-height:1.65 !important; white-space:nowrap; }
.pawu-wishlist-hero__count { display:flex; align-items:baseline; gap:11px; padding:0 0 18px; white-space:nowrap; }
.pawu-wishlist-hero__count strong { color:var(--pawu-navy); font-size:clamp(34px,3.1vw,52px); font-weight:700; line-height:1; letter-spacing:-.035em; }
.pawu-wishlist-hero__count span { color:var(--pawu-navy-muted); font-size:14px; font-weight:500; letter-spacing:.02em; }
.pawu-wishlist-products[hidden],.pawu-wishlist-empty[hidden],.pawu-wishlist-cta[hidden] { display:none !important; }

/* Keep the theme's own .products/.product sizing, media ratio, labels and
 * badges. Only normalize the wishlist wrapper and add remove behavior. */
.pawu-wishlist-products { width:100% !important; max-width:none !important; }
.pawu-products-native {
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:38px 18px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}
.pawu-products-native::before,.pawu-products-native::after { display:none !important; content:none !important; }
.pawu-products-native > li.product {
    position:relative !important;
    float:none !important;
    clear:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}
.pawu-products-native > li.product.pawu-is-removing { opacity:.2 !important; transform:scale(.985); transition:opacity .18s ease,transform .18s ease; pointer-events:none; }

.pawu-card-remove {
    position:absolute !important; z-index:20 !important; top:var(--pawu-heart-top,14px) !important; right:14px !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:34px !important; min-width:34px !important; height:30px !important; min-height:30px !important;
    margin:0 !important; padding:0 !important; border:1px solid var(--pawu-navy) !important; border-radius:3px !important;
    background:var(--pawu-navy) !important; background-image:none !important; color:#fff !important;
    box-shadow:none !important; cursor:pointer !important; transform:none !important;
    transition:background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease !important;
}
.pawu-card-remove svg { width:16px; height:16px; }
.pawu-card-remove:hover { border-color:var(--pawu-navy) !important; background:#fff !important; color:var(--pawu-navy) !important; }
.pawu-card-remove.is-loading { opacity:.45 !important; cursor:wait !important; }
/* Native theme already has a wishlist action in its hover action group. On
 * this page the dedicated filled-heart remove control is the single wishlist
 * affordance, so avoid a duplicate WPC button inside the product card. */
.pawu-products-native > li.product .woosw-btn { display:none !important; }

.pawu-wishlist-cta { margin:90px 0 0; padding:68px 20px 0; border-top:1px solid var(--pawu-border); text-align:center; }
.pawu-wishlist-cta__eyebrow { position:relative; width:fit-content; margin:0 auto 24px; color:var(--pawu-navy); font-size:15px; font-weight:600; line-height:1.2; letter-spacing:.01em; text-transform:uppercase; }
.pawu-wishlist-cta__eyebrow::after { content:''; display:block; width:34px; height:1px; margin:12px auto 0; background:currentColor; opacity:.7; }
.pawu-wishlist-cta p { margin:0 auto 26px !important; color:var(--pawu-navy-muted) !important; font-size:15px !important; line-height:1.6 !important; }
.pawu-page-button,a.pawu-page-button { display:inline-flex !important; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:12px 24px !important; border:1px solid var(--pawu-navy) !important; border-radius:2px !important; background:var(--pawu-navy) !important; color:#fff !important; font-size:12px !important; font-weight:600 !important; line-height:1.2 !important; text-decoration:none !important; text-transform:uppercase !important; transition:background-color .18s ease,color .18s ease,border-color .18s ease !important; }
.pawu-page-button:hover,a.pawu-page-button:hover { background:#fff !important; color:var(--pawu-navy) !important; }
.pawu-wishlist-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:480px; padding:70px 20px; border-top:1px solid var(--pawu-border); text-align:center; }
.pawu-wishlist-empty__icon { display:inline-flex; width:48px; height:48px; margin:0 0 26px; color:var(--pawu-navy); }
.pawu-wishlist-empty__icon svg { width:100%; height:100%; }
.pawu-wishlist-empty h2 { margin:0 0 18px !important; color:var(--pawu-navy) !important; font-size:clamp(28px,3vw,42px) !important; font-weight:700 !important; line-height:1.08 !important; letter-spacing:-.025em !important; text-transform:uppercase !important; }
.pawu-wishlist-empty p { max-width:470px; margin:0 0 28px !important; color:var(--pawu-navy-muted) !important; font-size:15px !important; line-height:1.65 !important; }
.pawu-native-wishlist { position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; }

@media (max-width:1100px) {
    .pawu-products-native { grid-template-columns:repeat(3, minmax(0, 1fr)) !important; }
    .pawu-wishlist-hero__title { font-size:clamp(38px,5vw,56px) !important; }
}
@media (max-width:820px) {
    .pawu-wishlist-page { padding:50px 20px 72px; }
    .pawu-wishlist-hero__description { white-space:normal; }
    .pawu-products-native { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
    .pawu-wishlist-hero { grid-template-columns:1fr; gap:24px; margin-bottom:42px; }
    .pawu-wishlist-hero__count { padding:0; }
    .pawu-head { padding:36px 28px 24px; }
    .pawu-product { grid-template-columns:105px minmax(0,1fr); gap:20px; padding:26px 28px; }
    .pawu-product-image,.pawu-product-image img { width:105px !important; }
    .pawu-actions { padding:0 28px 30px; }
}
@media (max-width:560px) {
    .pawu-modal-layer { padding:14px 10px !important; }
    .pawu-modal-dialog { border-radius:6px !important; }
    .pawu-title { font-size:23px !important; }
    .pawu-product { grid-template-columns:86px minmax(0,1fr); gap:16px; }
    .pawu-product-image,.pawu-product-image img { width:86px !important; }
    .pawu-actions { grid-template-columns:1fr; }
    .pawu-wishlist-hero__title { font-size:clamp(34px,10vw,46px) !important; white-space:normal !important; }
    .pawu-card-remove,.pawu-card-heart-status { width:32px !important; min-width:32px !important; height:28px !important; min-height:28px !important; top:10px !important; right:10px !important; }
}

/* WPC wishlist feedback is replaced by the ProAths modal. */
.woosw-message, .woosw-notice { display:none !important; }

