/* All rules belong to this Pav & Broome companion. No global font/header rules. */
.ad2-aw-details { display: block; margin: 12px 0 0; text-align: center; text-decoration: underline; font: inherit; color: inherit; }
.ad2-aw-related { margin: 32px 0; }
.ad2-aw-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; }
.ad2-aw-related-card { width: auto !important; height: auto !important; min-width: 0; margin: 0 !important; text-align: center; }
.ad2-aw-related-card > a { display: block; }
.ad2-aw-related-image { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.ad2-aw-related-image img { width: 100%; height: 100% !important; max-width: 100%; object-fit: contain; }
.ad2-aw-related-card h3 { font: inherit; font-size: 18px; line-height: 1.4; margin: 12px 0 6px; }
body.single-ashi_jewelry #main-content > .post-navigation { display: none; }
@media (max-width: 767px) { .ad2-aw-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.single-ashi_jewelry #main-content > article > header.entry-header {
    position: static !important; width: auto !important; z-index: auto !important;
}
body.single-ashi_jewelry #main-content > article > .entry-content {
    display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start; gap: 32px; height: auto !important; min-height: 0 !important;
    overflow: visible; margin-bottom: 0 !important;
}
body.single-ashi_jewelry #main-content > article > .entry-content > .img {
    margin: 0 !important; float: none !important; width: auto !important; min-width: 0;
}
body.single-ashi_jewelry #main-content #myImg {
    display: block; width: 100% !important; height: auto !important;
    max-width: 100%; max-height: 600px; object-fit: contain; cursor: zoom-in;
}
body.single-ashi_jewelry #main-content .imgs-row {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 16px;
}
body.single-ashi_jewelry #main-content .ashi-item-imgs {
    float: none !important; padding: 0 !important; width: 80px !important;
}
body.single-ashi_jewelry #main-content .ashi-item-imgs img {
    width: 80px; height: 80px; object-fit: contain; cursor: zoom-in;
}
body.single-ashi_jewelry #main-content > article > .entry-content > .info-box {
    display: block !important; width: auto !important; max-width: none;
    min-width: 0; margin: 0 !important; padding: 0 !important;
}
body.single-ashi_jewelry #main-content > article > .disclaimer {
    clear: both; margin-top: 32px !important; padding: 24px 0 !important;
    height: auto !important; min-height: 0 !important;
}
/* Shared heart treatment; native wishlist click handlers/storage stay unchanged. */
.ad2-aw-card, .ad2-aw-single-image { position: relative !important; }
:is(.ad2-aw-card, .ad2-aw-single-image) > .ad2-ashi-wishlist-button {
    position: absolute; top: 10px; left: 10px; right: auto; z-index: 2;
    margin: 0 !important; opacity: 1; transition: opacity .15s ease;
}
.ad2-aw-card:hover > .ad2-ashi-wishlist-button,
.ad2-aw-card:focus-within > .ad2-ashi-wishlist-button,
:is(.ad2-aw-card, .ad2-aw-single-image) > .ad2-ashi-wishlist-button:has(.remove) { opacity: 1; }
:is(.ad2-aw-card, .ad2-aw-single-image) > .ad2-ashi-wishlist-button .alg-wc-wl-btn-wrapper { margin: 0 !important; }
:is(.ad2-aw-card, .ad2-aw-single-image) > .ad2-ashi-wishlist-button button.alg-wc-wl-toggle-btn {
    display: inline-flex !important; align-items: center; justify-content: center;
    width: 40px !important; height: 40px !important; min-width: 40px !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
    border-radius: 0 !important; background: transparent !important; color: #afafaf !important;
    line-height: 1 !important; box-shadow: none !important;
}
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button .alg-wc-wl-btn-text {
    position: absolute !important; width: 1px; height: 1px; padding: 0;
    margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button .alg-wc-wl-view-state i {
    display: inline-block !important; font-size: 20px !important; margin: 0 !important; opacity: 1 !important;
}
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button button.add .alg-wc-wl-view-state i { font-weight: 900 !important; }
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button button.remove { color: #333 !important; }
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button button:focus-visible { outline: 2px solid #425563; outline-offset: 3px; }
.alg-wc-wl-view-table img.ad2-ashi-wishlist-image { width: 110px !important; height: 110px !important; object-fit: contain; }
@media (hover: none), (pointer: coarse) {
    :is(.ad2-aw-card, .ad2-aw-single-image) > .ad2-ashi-wishlist-button { opacity: 1; }
}
@media (max-width: 767px) {
    body.single-ashi_jewelry #main-content > article > .entry-content { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    body.single-ashi_jewelry #main-content #myImg { max-height: 450px; }
}

/* A single-product heart stays visible, matching WooCommerce's image control. */
.ad2-aw-single-image > .ad2-ashi-wishlist-button { opacity: 1 !important; }
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button button.add .alg-wc-wl-view-state i { color: #afafaf !important; }
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button button.remove .alg-wc-wl-view-state i,
:is(.ad2-aw-card, .ad2-aw-single-image) .ad2-ashi-wishlist-button button:hover .alg-wc-wl-view-state i { color: #333 !important; }
/* Normalize only native product-image hearts, excluding header and list controls. */
.woocommerce .products .alg-wc-wl-thumb-btn.alg-wc-wl-thumb-btn-loop, .alg-wc-wl-thumb-btn-loop, .alg-wc-wl-thumb-btn-single {
    display: block !important; top: 10px !important; left: 10px !important; right: auto !important;
    width: 40px !important; height: 40px !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important;
}
.alg-wc-wl-thumb-btn-loop::before, .alg-wc-wl-thumb-btn-single::before { display: none !important; }
:is(.alg-wc-wl-thumb-btn-loop, .alg-wc-wl-thumb-btn-single) .alg-wc-wl-view-state {
    width: 40px; height: 40px; line-height: 40px; text-align: center;
}
:is(.alg-wc-wl-thumb-btn-loop, .alg-wc-wl-thumb-btn-single) .alg-wc-wl-view-state i {
    font-size: 20px !important; font-weight: 900 !important; margin: 0 !important;
    opacity: 1 !important; vertical-align: middle;
}
:is(.alg-wc-wl-thumb-btn-loop, .alg-wc-wl-thumb-btn-single).add .alg-wc-wl-view-state i { color: #afafaf !important; }
:is(.alg-wc-wl-thumb-btn-loop, .alg-wc-wl-thumb-btn-single).remove .alg-wc-wl-view-state i,
:is(.alg-wc-wl-thumb-btn-loop, .alg-wc-wl-thumb-btn-single):hover .alg-wc-wl-view-state i { color: #333 !important; }
/* Product presentation only: retain form, cart, table and site-header borders. */
body.single-product div.product div.images,
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .woocommerce-product-gallery__wrapper,
body.single-product div.product .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery__image > a,
body.single-product div.product .woocommerce-product-gallery__image img,
body.single-product div.product .woocommerce-tabs,
body.single-product div.product .woocommerce-tabs .panel,
body.single-product div.product .product_meta,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product a.woocommerce-loop-product__link,
.woocommerce ul.products li.product a.woocommerce-loop-product__link img {
    border: 0 !important; box-shadow: none !important;
}

/* Lotus switches to its compact header at 1300px. Changes stay inside that mode. */
#ad2-aw-mobile-wishlist { display: none; }
@media (max-width: 1300px) {
    body.ad2-aw-header-controls { --ad2-aw-header-offset: 0px; }
    body.admin-bar.ad2-aw-header-controls { --ad2-aw-header-offset: 32px; }
    body.ad2-aw-header-controls .site-logo-mob { display: none !important; }
    body.ad2-aw-header-controls .site-header .mobile-h2 {
        position: fixed !important; left: 16px !important; right: auto !important;
        top: calc(24px + var(--ad2-aw-header-offset)) !important;
        width: calc(100vw - 164px) !important; max-width: 210px !important;
        height: 72px !important; margin: 0 !important; padding: 0 !important;
        display: flex !important; align-items: center; transform: none !important;
    }
    body.ad2-aw-header-controls .site-header .mobile-h2 > a { display: block; width: 100%; }
    body.ad2-aw-header-controls .site-header .mobile-h2 img {
        display: block; width: auto !important; max-width: 100% !important;
        height: auto !important; max-height: 72px !important; object-fit: contain;
    }
    body.ad2-aw-header-controls .header-search-icon,
    body.ad2-aw-header-controls #ad2-aw-mobile-wishlist,
    body.ad2-aw-header-controls div.menu-box-mob {
        position: fixed !important; top: calc(38px + var(--ad2-aw-header-offset)) !important;
        width: 44px !important; height: 44px !important; margin: 0 !important;
        padding: 0 !important; display: flex !important; align-items: center;
        justify-content: center; z-index: 1000001; box-sizing: border-box;
    }
    body.ad2-aw-header-controls .header-search-icon { left: auto !important; right: 100px !important; }
    body.ad2-aw-header-controls .header-search-icon svg { width: 25px !important; height: 25px !important; margin: 0 !important; }
    body.ad2-aw-header-controls #ad2-aw-mobile-wishlist { right: 54px; color: #111; text-decoration: none; background: transparent; }
    body.ad2-aw-header-controls div.menu-box-mob { left: auto !important; right: 8px !important; }
    body.ad2-aw-header-controls #ad2-aw-mobile-wishlist:focus-visible,
    body.ad2-aw-header-controls .header-search-icon:focus-visible { outline: 2px solid #425563; outline-offset: 2px; }
}
@media (max-width: 782px) {
    body.admin-bar.ad2-aw-header-controls { --ad2-aw-header-offset: 46px; }
}
