/* Tings Market Platform v7.8.5 — product focus, size-guide placement and visual wishlists. */

/* SHEIN-style wishlist overview: open a visual list first, then manage its products. */
.tm-wishlist-overview { min-width: 0; }
.tm-wishlist-active { display: none !important; }
.tm-wishlist-manager.is-list-open .tm-wishlist-overview { display: none; }
.tm-wishlist-manager.is-list-open .tm-wishlist-active { display: grid !important; }
.tm-wishlist-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(min(250px,100%),1fr));
    align-items: stretch;
    gap: clamp(13px,2vw,22px);
}
.tm-wishlist-tile,
.tm-wishlist-new-tile {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d8e4e8;
    border-radius: 14px;
    background: #fff;
}
.tm-wishlist-tile__open,
.tm-wishlist-new-tile__toggle {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #071327;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.tm-wishlist-tile__open:hover,
.tm-wishlist-tile__open:focus-visible,
.tm-wishlist-new-tile__toggle:hover,
.tm-wishlist-new-tile__toggle:focus-visible { background: #eefafd; color: #071327; transform: none; outline: 3px solid rgba(18,184,202,.28); outline-offset: -3px; }
.tm-wishlist-tile__collage {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    display: grid;
    gap: 2px;
    overflow: hidden;
    background: #edf3f5;
}
.tm-wishlist-tile__collage > span { min-width: 0; min-height: 0; display: block; overflow: hidden; background: #f1f5f6; }
.tm-wishlist-tile__collage img { width: 100% !important; height: 100% !important; display: block; margin: 0 !important; object-fit: cover !important; object-position: center top !important; }
.tm-wishlist-tile__collage--1 { grid-template-columns: 1fr; }
.tm-wishlist-tile__collage--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tm-wishlist-tile__collage--3 { grid-template-columns: 1.55fr .75fr; grid-template-rows: repeat(2,minmax(0,1fr)); }
.tm-wishlist-tile__collage--3 > span:first-child { grid-row: 1 / -1; }
.tm-wishlist-tile__collage--4 { grid-template-columns: 1.55fr .75fr; grid-template-rows: repeat(3,minmax(0,1fr)); }
.tm-wishlist-tile__collage--4 > span:first-child { grid-row: 1 / -1; }
.tm-wishlist-tile__collage--0 { place-items: center; }
.tm-wishlist-tile__empty-art { display: grid !important; place-items: center; color: #d73562; }
.tm-wishlist-tile__empty-art .tm-icon { width: 45px; height: 45px; }
.tm-wishlist-tile__copy { min-width: 0; min-height: 67px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; }
.tm-wishlist-tile__copy > span { min-width: 0; display: grid; gap: 3px; }
.tm-wishlist-tile__copy strong { overflow: hidden; font-size: 14px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.tm-wishlist-tile__copy small { color: #718095; font-size: 10px; font-weight: 650; }
.tm-wishlist-tile__copy i { flex: 0 0 auto; color: #788598; font-size: 15px; font-style: normal; letter-spacing: 1px; }
.tm-wishlist-tile__shared { position: absolute; top: 9px; right: 9px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; border-radius: 999px; background: rgba(255,255,255,.94); color: #067d91; box-shadow: 0 3px 13px rgba(7,19,39,.12); }
.tm-wishlist-tile__shared .tm-icon { width: 13px; height: 13px; }
.tm-wishlist-tile__shared small { font-size: 9px; font-weight: 850; }
.tm-wishlist-new-tile { min-height: 260px; border-style: dashed; background: #f8fbfc; }
.tm-wishlist-new-tile__toggle { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 12px; background: #f8fbfc; text-align: center; }
.tm-wishlist-new-tile__toggle .tm-icon { width: 54px; height: 54px; padding: 13px; border-radius: 999px; background: #fff; color: #078fa6; box-shadow: 0 5px 18px rgba(7,19,39,.09); }
.tm-wishlist-new-tile__toggle strong { font-size: 15px; }
.tm-wishlist-new-tile.is-creating .tm-wishlist-new-tile__toggle { display: none; }
.tm-wishlist-new-tile .tm-wishlist-create { min-height: 100%; align-content: center; margin: 0; padding: 24px; border: 0; background: #f8fbfc; }
.tm-wishlist-new-tile .tm-wishlist-create[hidden] { display: none !important; }
.tm-wishlist-active__back { width: max-content; display: inline-flex; align-items: center; gap: 6px; padding: 6px 3px; border: 0; background: transparent; color: #078fa6; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.tm-wishlist-active__back:hover,
.tm-wishlist-active__back:focus-visible { color: #055f70; background: #eaf9fb; transform: none; }
.tm-wishlist-active__back .tm-icon { width: 16px; height: 16px; }

/* A much larger, borderless product-media stage keeps the whole product visible. */
@media (min-width: 1181px) {
    body.tings-market-single-product main.tmds-platform-single-product { width: min(calc(100% - 20px),1840px) !important; max-width: 1840px !important; }
    .tings-product-layout {
        grid-template-columns: minmax(0,1.62fr) minmax(390px,.78fr) !important;
        grid-template-rows: auto auto auto auto !important;
        column-gap: clamp(30px,3vw,58px) !important;
        row-gap: 22px !important;
    }
    .tings-product-layout > .woocommerce-product-gallery {
        position: relative !important;
        top: auto !important;
        grid-column: 1 !important;
        grid-row: 1 / span 4 !important;
        grid-template-columns: 86px minmax(0,1fr) !important;
        gap: 14px !important;
    }
    .tings-product-info { grid-column: 2 !important; grid-row: 1 !important; }
    .tings-product-options { grid-column: 2 !important; grid-row: 2 !important; }
    .tings-purchase-card { position: relative !important; top: auto !important; grid-column: 2 !important; grid-row: 3 !important; }
    .tings-key-features { grid-column: 2 !important; grid-row: 4 !important; }
}
.tings-product-layout .woocommerce-product-gallery .flex-viewport,
.tings-product-layout .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.tings-product-layout .woocommerce-product-gallery__image,
.tings-product-layout .woocommerce-product-gallery__image a {
    min-height: 0 !important;
    height: auto !important;
    align-items: flex-start !important;
    aspect-ratio: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}
.tings-product-layout .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;
}
.tings-product-layout .flex-control-thumbs { max-height: min(80vh,900px) !important; gap: 9px !important; padding-right: 0 !important; }
.tings-product-layout .flex-control-thumbs li { border-radius: 0 !important; }
.tings-product-layout .flex-control-thumbs img { border-radius: 0 !important; object-fit: cover !important; object-position: center top !important; }
body.tings-market-single-product .tings-product-layout .tings-product-share { top: 12px !important; right: 12px !important; transform: none !important; }
body.tings-market-single-product .tings-product-layout .tings-product-share:hover,
body.tings-market-single-product .tings-product-layout .tings-product-share:focus-visible { transform: none !important; }

/* Honest empty state: only submitted customer reviews appear in review totals. */
body.tings-market-single-product #reviews .woocommerce-noreviews { margin: 0 0 16px !important; padding: 15px 17px; border-left: 4px solid #12b8ca; background: #f0fafc; color: #3f5066; }

@media (min-width: 768px) and (max-width: 1180px) {
    .tings-product-layout { grid-template-columns: minmax(0,1.28fr) minmax(330px,.72fr) !important; column-gap: 28px !important; }
    .tings-product-layout > .woocommerce-product-gallery { grid-row: 1 / span 4 !important; }
    .tings-key-features { grid-column: 2 !important; grid-row: 4 !important; }
}

@media (max-width: 767px) {
    body.tings-market-single-product main.tmds-platform-single-product { width: 100% !important; padding-top: 10px !important; }
    body.tings-market-single-product .woocommerce-breadcrumb { margin-inline: 14px !important; }
    .tings-product-layout { gap: 16px !important; }
    .tings-product-layout > .woocommerce-product-gallery { grid-column: 1 !important; grid-row: 1 !important; }
    .tings-product-info { grid-column: 1 !important; grid-row: 2 !important; margin-inline: 14px; }
    .tings-product-options { grid-column: 1 !important; grid-row: 3 !important; margin-inline: 14px; }
    .tings-purchase-card { grid-column: 1 !important; grid-row: 4 !important; margin-inline: 14px; }
    .tings-key-features { grid-column: 1 !important; grid-row: 5 !important; margin-inline: 14px; }
    .tings-product-layout .woocommerce-product-gallery .flex-viewport,
    .tings-product-layout .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { border-radius: 0 !important; }
    .tings-product-layout .flex-control-thumbs { padding-inline: 14px !important; }
    body.tings-market-single-product .tings-product-layout .tings-product-share { top: 10px !important; right: 10px !important; }
    .tm-wishlist-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
    .tm-wishlist-tile__copy { min-height: 57px; padding: 9px 10px; }
    .tm-wishlist-tile__copy strong { font-size: 11px; }
    .tm-wishlist-tile__copy small { font-size: 9px; }
    .tm-wishlist-tile__copy i { font-size: 12px; }
    .tm-wishlist-tile__shared small { display: none; }
    .tm-wishlist-new-tile { min-height: 190px; }
    .tm-wishlist-new-tile__toggle { min-height: 190px; }
    .tm-wishlist-new-tile__toggle .tm-icon { width: 45px; height: 45px; padding: 11px; }
    .tm-wishlist-new-tile__toggle strong { font-size: 12px; }
    .tm-wishlist-new-tile .tm-wishlist-create { padding: 12px; }
    .tm-wishlist-new-tile .tm-wishlist-create > div { flex-direction: column; gap: 6px; }
    .tm-wishlist-new-tile .tm-wishlist-create input,
    .tm-wishlist-new-tile .tm-wishlist-create button { width: 100%; border-radius: 8px !important; }
}

@media (max-width: 350px) {
    .tm-wishlist-tiles { grid-template-columns: 1fr; }
}
