/* 搜索页 — 与 new-arrivals 共用结构；PC 加 body.search-pc-sensai 走 SENSAI 风 */

.body-new-arrivals { background: #fff; }

.search-main {
    background: #fff;
    min-height: calc(100vh - 100px);
}

/* ---- 页主体 ---- */
.search-page {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px 48px 100px;
    box-sizing: border-box;
}

/* ---- 页头：标题 + 分割线 ---- */
.search-page-head {
    margin-bottom: 0;
}

.search-page-title {
    font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 500;
    color: #111;
    letter-spacing: 0.04em;
    margin: 0;
    line-height: 1.35;
}

.search-page-rule {
    height: 1px;
    background: #e0e0e0;
    margin: 20px 0 36px;
    border: 0;
}

/* ---- 网格 ---- */
.search-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px 40px;
    align-items: start;
}

@media (max-width: 1100px) {
    .search-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
    .search-grid { grid-template-columns: repeat(2, 1fr); gap: 36px 20px; }
    .search-page { padding: 32px 20px 80px; }
}

/* ---- 卡片 ---- */
.search-card {
    position: relative;
    text-align: left;
}

.search-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.search-card__media {
    display: block;
}

.search-card__imgbox {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #fff;
    overflow: hidden;
}

.search-card__imgbox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
    border: none;
    box-sizing: border-box;
}

.search-card__body {
    margin-top: 20px;
    padding-right: 8px;
}

.search-card__name {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.7;
    font-weight: 400;
    color: #111;
    font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}

.search-card__link:hover .search-card__name {
    opacity: 0.55;
}

.search-card__price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 6px;
}

.search-card__price-line {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-size: 12px;
    line-height: 1.65;
    color: #555;
    font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
    letter-spacing: 0.02em;
}

.search-card__price-tax {
    color: #333;
}

.search-card__price-base {
    color: #777;
}

/* 收藏：与首页人気商品 .popular-info .heart-icon-new 同款金色圆环+心形 */
.search-card__price-row .heart-icon-new.search-card__fav {
    position: relative;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.search-card__price-row .heart-icon-new.search-card__fav svg {
    width: 100%;
    height: 100%;
    color: #ffc107;
    transition: all 0.3s ease;
}

.search-card__price-row .heart-icon-new.search-card__fav svg .heart-circle,
.search-card__price-row .heart-icon-new.search-card__fav svg .heart-path {
    fill: none;
    stroke: #ffc107;
    stroke-width: 1;
    transition: all 0.3s ease;
}

.search-card__price-row .heart-icon-new.search-card__fav:hover svg {
    color: #ffb300;
    transform: scale(1.1);
}

.search-card__price-row .heart-icon-new.search-card__fav:hover svg .heart-circle,
.search-card__price-row .heart-icon-new.search-card__fav:hover svg .heart-path {
    stroke: #ffb300;
}

.search-card__price-row .heart-icon-new.search-card__fav.liked svg .heart-circle {
    fill: none;
    stroke: #ffc107;
}

.search-card__price-row .heart-icon-new.search-card__fav.liked svg .heart-path {
    fill: #ffc107;
    stroke: #ffc107;
}

/* ---- 空状态 ---- */
.search-empty {
    text-align: center;
    padding: 80px 20px;
    color: #666;
    font-size: 14px;
}

.search-empty__link {
    display: inline-block;
    margin-top: 20px;
    color: #111;
    font-size: 13px;
    text-decoration: underline;
}

.search-empty__link:hover { opacity: 0.7; }

/* ========== PC：SENSAI 参考 1:1（仅 body.search-pc-sensai） ========== */
body.search-pc-sensai .search-page {
    max-width: 1440px;
    padding: 40px clamp(32px, 5vw, 88px) 120px;
    background: #fff;
}

body.search-pc-sensai .search-page-title {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
}

body.search-pc-sensai .search-page-rule {
    background: #e0e0e0;
    margin: 18px 0 48px;
}

body.search-pc-sensai .search-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 56px 48px;
}

@media (min-width: 1200px) {
    body.search-pc-sensai .search-grid {
        gap: 64px 56px;
    }
}

body.search-pc-sensai .search-card__imgbox {
    padding: 8px 0 12px;
    box-sizing: border-box;
}

body.search-pc-sensai .search-card__body {
    margin-top: 16px;
}

body.search-pc-sensai .search-card__name {
    font-size: 12px;
    line-height: 1.75;
    margin-bottom: 10px;
    max-width: 100%;
    display: block;
}

body.search-pc-sensai .search-card__price-row {
    margin-top: 8px;
    align-items: flex-start;
}

body.search-pc-sensai .search-card__price-line {
    font-size: 11px;
    line-height: 1.7;
    color: #555;
}

body.search-pc-sensai .search-card__price-tax {
    color: #333;
}

body.search-pc-sensai .search-card__price-base {
    color: #666;
}

/* ---- 搜索页底部：カテゴリ一覧（SENSAI 风浅灰底 + 四列链接） ---- */
.search-category-footer {
    margin-top: 64px;
    margin-bottom: 48px;
    max-width: 100%;
}

.search-category-footer__title {
    margin: 0 0 14px;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "Times New Roman", serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.14em;
    color: #9a9a9a;
}

.search-category-footer__box {
    background: #f5f5f5;
    padding: 36px 40px 40px;
    box-sizing: border-box;
}

.search-category-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 36px;
    align-items: start;
}

.search-category-footer__link {
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", "Times New Roman", serif;
    font-size: 13px;
    line-height: 1.55;
    color: #2a2a2a;
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: opacity 0.2s ease;
}

.search-category-footer__link:hover {
    opacity: 0.55;
}

@media (max-width: 900px) {
    .search-category-footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 24px;
    }
    .search-category-footer__box {
        padding: 28px 22px 32px;
    }
}

body.search-pc-sensai .search-category-footer {
    margin-top: 80px;
    margin-bottom: 64px;
}

body.search-pc-sensai .search-category-footer__box {
    padding: 44px clamp(28px, 4vw, 56px) 48px;
}

body.search-pc-sensai .search-category-footer__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 22px 40px;
}

@media (min-width: 1200px) {
    body.search-pc-sensai .search-category-footer__grid {
        gap: 24px 48px;
    }
}
