.shop-card{background:var(--background);border:1px solid var(--gray-alpha-100);border-radius:1.25rem;text-decoration:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:block;box-shadow:0 4px 20px #0000000d}.shop-card .card-inner{flex-direction:column;gap:1rem;padding:.75rem;display:flex}.shop-card .card-image-section{aspect-ratio:14/9;background-color:var(--gray-alpha-100);border-radius:.75rem;width:100%;position:relative;overflow:hidden}.shop-card .card-image-section .thumbnail{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,1,.5,1)}.shop-card .card-image-section:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000001a 0%,#0000 30% 70%,#0000004d 100%);position:absolute;inset:0}.shop-card .card-image-section .image-overlay{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:.75rem;display:flex;position:absolute;inset:0}.shop-card .card-image-section .status-badge{pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--foreground);background:#ffffffe6;border-radius:2rem;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.875rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #0000001a}.shop-card .card-image-section .status-badge .indicator-dot{border-radius:50%;width:6px;height:6px}.shop-card .card-image-section .status-badge.open .indicator-dot{background-color:var(--done-color);box-shadow:0 0 6px var(--done-color)}.shop-card .card-image-section .status-badge.closed .indicator-dot{background-color:var(--close-color)}.shop-card .card-image-section .favorite-btn{pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff40;padding:.375rem;transition:all .2s cubic-bezier(.25,.8,.25,1)}.shop-card .card-image-section .favorite-btn svg{filter:drop-shadow(0 2px 4px #0000001a);font-size:1.25rem}.shop-card .card-image-section .favorite-btn.active{color:var(--favorite-color);background:#fff;animation:.4s cubic-bezier(.175,.885,.32,1.275) pulse}.shop-card .card-image-section .favorite-btn.active svg{filter:none}.shop-card .card-content-section{flex-direction:column;gap:.5rem;padding:0 .25rem .25rem;display:flex}.shop-card .card-content-section .content-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.shop-card .card-content-section .content-header .shop-title{color:var(--foreground);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:1.125rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.shop-card .card-content-section .content-header .rating-badge{background:var(--foreground);color:var(--background);border-radius:1rem;flex-shrink:0;align-items:center;gap:.25rem;padding:.125rem .625rem;font-size:.875rem;font-weight:700;display:flex}.shop-card .card-content-section .content-header .rating-badge svg{color:var(--rating-color);font-size:1rem}.shop-card .card-content-section .content-header .badge-new{background:var(--primary-color-bg);color:var(--primary-color);border-radius:1rem;flex-shrink:0;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.shop-card .card-content-section .shop-intro{opacity:.8;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:.25rem 0;font-size:1rem;line-height:1.2;display:-webkit-box;overflow:hidden}.shop-card .card-content-section .meta-info{flex-wrap:wrap;margin-top:.5rem;font-size:.875rem;display:flex}.shop-card .card-content-section .meta-info .meta-item{letter-spacing:-.5px;color:var(--icon-color);align-items:center;display:flex}.shop-card .card-content-section .meta-info .meta-item:not(:last-child):after{content:"・"}.shop-card .card-content-section .meta-info .meta-item svg{font-size:1.125rem}@media (hover:hover) and (pointer:fine){.shop-card.clickable:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000014}.shop-card.clickable:hover .card-image-section .thumbnail{transform:scale(1.05)}.shop-card.clickable:hover .card-image-section .favorite-btn:hover{color:var(--favorite-color);background:#fff;transform:scale(1.1)}.shop-card.clickable:hover .card-image-section .favorite-btn.active:hover{background:var(--background-hover)}}
