/*
 * Lenovo Coupon Search — Stylesheet v2
 * Figma Make (React + Tailwind) → Vanilla CSS 完全変換
 * .lcs 名前空間で SWELL テーマとの干渉を防止
 * ブレイクポイント: lg = 1024px (PC ↔ SP)
 */

/* === RESET & NAMESPACE === */
.lcs{box-sizing:border-box;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans JP","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.5;color:#111827;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;container-type:inline-size}
.lcs *,.lcs *::before,.lcs *::after{box-sizing:border-box;margin:0;padding:0}
.lcs button{font-family:inherit;cursor:pointer}
.lcs input,.lcs select{font-family:inherit}
.lcs img{max-width:100%;height:auto;display:block}
.lcs a{text-decoration:none;color:inherit}

/* === LAYOUT === */
.lcs{background:transparent;min-height:200px;padding:24px 0}
.lcs-container{max-width:1600px;margin:0 auto;padding:0 16px}

/* === SSR TABLE (SEO fallback, replaced by JS) === */
.lcs-ssr-meta{text-align:right;font-size:13px;color:#6b7280;margin-bottom:12px}
.lcs-ssr-meta strong{color:#2563eb;font-weight:600}
.lcs-ssr-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border:1px solid #e5e7eb}
.lcs-ssr-table thead{background:#64748b}
.lcs-ssr-table th{padding:8px 10px;text-align:left;background:transparent;border-bottom:1px solid #e5e7eb;font-size:11px;font-weight:700;color:#fff!important;white-space:nowrap}
.lcs-ssr-table td{padding:6px 10px;border-bottom:1px solid #f3f4f6;color:#374151;vertical-align:middle}
.lcs-ssr-table a{color:#2563eb;text-decoration:underline;text-underline-offset:2px}
.lcs-ssr-table a:hover{color:#1d4ed8}
.lcs-ssr-table code{background:#eff6ff;color:#1d4ed8;padding:2px 6px;border-radius:3px;font-size:12px;font-weight:600}

/* === LOADING === */
.lcs-loading{text-align:center;padding:48px 16px;color:#6b7280}
.lcs-loading-spinner{display:inline-block;width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:lcs-spin .8s linear infinite;margin-bottom:12px}
@keyframes lcs-spin{to{transform:rotate(360deg)}}

/* === UPDATE DATE === */
.lcs-update-date{text-align:right;font-size:12px;color:#9ca3af;margin-bottom:8px}

/* ============================================================
   PC FILTER BAR (lg+)
   ============================================================ */
.lcs-pc{display:none}
.lcs-filterbar{background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);border:1px solid #e5e7eb;margin-bottom:24px}

/* Top row: category + search + reset */
.lcs-fb-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid #e5e7eb}

/* Category toggle */
.lcs-cat-toggle{display:flex;border:1px solid #d1d5db;border-radius:8px;overflow:hidden;margin-right:12px}
.lcs-cat-toggle__btn{padding:6px 12px;font-size:12px;font-weight:600;border:none;border-right:1px solid #d1d5db;background:#fff;color:#374151;transition:background .15s,color .15s;white-space:nowrap}
.lcs-cat-toggle__btn:last-child{border-right:none}
.lcs-cat-toggle__btn:hover{background:#f9fafb}
.lcs-cat-toggle__btn.is-active{background:#2563eb;color:#fff}

/* Keyword search */
.lcs-fb-search{display:flex;align-items:center;gap:8px;flex:1;min-width:240px}
.lcs-fb-search__label{font-size:12px;font-weight:600;color:#374151;white-space:nowrap}
.lcs-fb-search__wrap{position:relative;flex:1}
.lcs-fb-search__input{width:100%;padding:6px 28px 6px 8px;border:none;border-bottom:2px solid #d1d5db;font-size:14px;background:transparent;outline:none;color:#111827;transition:border-color .15s}
.lcs-fb-search__input::placeholder{color:#9ca3af}
.lcs-fb-search__input:focus{border-bottom-color:#3b82f6}
.lcs-fb-search__clear{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;padding:4px;display:flex}
.lcs-fb-search__clear:hover{color:#4b5563}

/* Reset */
.lcs-fb-reset{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;border:none;border-radius:8px;background:none;color:#9ca3af;transition:color .15s,background .15s;white-space:nowrap}
.lcs-fb-reset.is-active{color:#dc2626;cursor:pointer}
.lcs-fb-reset.is-active:hover{background:#fef2f2}
.lcs-fb-reset:not(.is-active){cursor:not-allowed}

/* Quick filters: series + price bands */
.lcs-fb-quick{padding:16px 24px;background:rgba(249,250,251,.5)}
.lcs-fb-quick__row{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.lcs-fb-quick__row:last-child{margin-bottom:0}
.lcs-fb-quick__label{font-size:12px;font-weight:600;color:#4b5563;min-width:52px;flex-shrink:0}

/* Purpose group */
.lcs-purpose-group{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;background:#f3f4f6;border-radius:8px;padding:4px 8px}
.lcs-purpose-check{display:flex;align-items:center;gap:6px;cursor:pointer;flex-shrink:0}
.lcs-purpose-check__box{width:14px;height:14px;border-radius:3px;border:1px solid #9ca3af;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.lcs-purpose-check__box.is-checked{background:#2563eb;border-color:#2563eb;color:#fff}
.lcs-purpose-check__box svg{display:none}
.lcs-purpose-check__box.is-checked svg{display:block}
.lcs-purpose-check__text{font-size:12px;color:#4b5563;white-space:nowrap;user-select:none;transition:color .15s}
.lcs-purpose-check__text.is-checked{color:#2563eb}

/* Series / price band buttons */
.lcs-tag-btn{padding:4px 12px;font-size:14px;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;transition:all .15s;white-space:nowrap}
.lcs-tag-btn:hover{border-color:#60a5fa;background:#eff6ff}
.lcs-tag-btn.is-active{background:#2563eb;color:#fff;border-color:#2563eb}

/* Advanced filter accordion */
.lcs-fb-adv-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 24px;border:none;border-top:1px solid #e5e7eb;background:none;transition:background .15s}
.lcs-fb-adv-toggle:hover{background:#f9fafb}
.lcs-fb-adv-toggle__left{display:flex;align-items:center;gap:8px}
.lcs-fb-adv-toggle__left span{font-size:12px;font-weight:600;color:#374151}
.lcs-fb-adv-toggle__left svg{color:#4b5563}
.lcs-fb-adv-toggle__chevron{color:#9ca3af;transition:transform .2s}
.lcs-fb-adv-toggle__chevron.is-open{transform:rotate(180deg)}

.lcs-fb-adv-body{padding:8px 24px 20px;background:rgba(249,250,251,.5);border-top:1px solid #e5e7eb}
.lcs-fb-adv-body__row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.lcs-fb-adv-body__row:last-child{margin-bottom:0}
.lcs-fb-adv-body__item{display:flex;align-items:center;gap:8px}
.lcs-fb-adv-body__item label{font-size:12px;font-weight:600;color:#374151;white-space:nowrap}

/* Price range selects (PC advanced) */
.lcs-price-select{padding:6px 12px;font-size:14px;border:none;border-bottom:2px solid #d1d5db;background:transparent;outline:none;color:#111827;cursor:pointer;min-width:100px}
.lcs-price-select:focus{border-bottom-color:#3b82f6}
.lcs-price-range-sep{color:#9ca3af;font-size:14px}

/* ============================================================
   SP INLINE FILTER (<lg)
   ============================================================ */
.lcs-sp{display:block}
.lcs-sp-filter{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(0,0,0,.05);margin-bottom:16px}

/* SP Category tabs */
.lcs-sp-tabs{display:flex;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;overflow:hidden}
.lcs-sp-tabs__btn{flex:1;padding:12px 0;font-size:12px;font-weight:600;border:none;background:none;color:#6b7280;position:relative;transition:color .15s}
.lcs-sp-tabs__btn:hover{color:#374151}
.lcs-sp-tabs__btn.is-active{color:#2563eb}
.lcs-sp-tabs__btn.is-active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#2563eb;border-radius:1px 1px 0 0}

/* SP Search */
.lcs-sp-search{padding:8px 16px}
.lcs-sp-search__wrap{position:relative;display:flex;align-items:center}
.lcs-sp-search__wrap svg.lcs-sp-search__icon{position:absolute;left:8px;color:#9ca3af;pointer-events:none}
.lcs-sp-search__input{width:100%;border:none;border-bottom:1px solid #d1d5db;padding:6px 28px 6px 28px;font-size:14px;background:transparent;outline:none;color:#374151;transition:border-color .15s}
.lcs-sp-search__input::placeholder{color:#9ca3af}
.lcs-sp-search__input:focus{border-bottom-color:#60a5fa}
.lcs-sp-search__clear{position:absolute;right:0;background:none;border:none;color:#9ca3af;padding:4px;display:flex}
.lcs-sp-search__clear:hover{color:#4b5563}

/* SP Series/Purpose */
.lcs-sp-series{padding:12px 16px}
.lcs-sp-series__title{font-size:10px;font-weight:600;color:#6b7280;margin-bottom:8px}
.lcs-sp-purpose-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.lcs-sp-purpose-row:last-child{margin-bottom:0}

.lcs-sp-purpose-check{display:flex;align-items:center;gap:4px;cursor:pointer;flex-shrink:0}
.lcs-sp-purpose-check__box{width:12px;height:12px;border-radius:2px;border:1px solid #9ca3af;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.lcs-sp-purpose-check__box.is-checked{background:#2563eb;border-color:#2563eb;color:#fff}
.lcs-sp-purpose-check__box svg{display:none}
.lcs-sp-purpose-check__box.is-checked svg{display:block}
.lcs-sp-purpose-check__text{font-size:12px;color:#4b5563;white-space:nowrap;user-select:none}
.lcs-sp-purpose-check__text.is-checked{color:#2563eb}

.lcs-sp-series-btn{padding:2px 10px;font-size:14px;font-weight:500;border-radius:6px;border:1px solid #d1d5db;background:#fff;color:#374151;transition:all .15s;white-space:nowrap}
.lcs-sp-series-btn:hover{border-color:#60a5fa;background:#eff6ff}
.lcs-sp-series-btn.is-active{background:#2563eb;color:#fff;border-color:#2563eb}

/* SP Price slider */
.lcs-sp-price{padding:0 16px 8px}
.lcs-sp-price__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.lcs-sp-price__summary{display:flex;align-items:center;gap:8px;min-width:0}
.lcs-sp-price__label{font-size:10px;font-weight:600;color:#6b7280}
.lcs-sp-price__value{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:#2563eb}
.lcs-sp-price__value span.sep{color:#9ca3af}

/* Dual-range slider */
.lcs-range-slider{position:relative;height:40px;margin-bottom:0}
.lcs-range-slider__track{position:absolute;top:50%;transform:translateY(-50%);width:100%;height:6px;background:#e5e7eb;border-radius:999px}
.lcs-range-slider__range{position:absolute;height:100%;background:#3b82f6;border-radius:999px}
.lcs-range-slider input[type=range]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;pointer-events:none;margin:0;padding:0;outline:none}
.lcs-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #3b82f6;box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:grab;pointer-events:auto}
.lcs-range-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #3b82f6;box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:grab;pointer-events:auto}
.lcs-range-slider input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}
.lcs-range-slider input[type=range]:active::-moz-range-thumb{cursor:grabbing}
.lcs-range-slider input[type=range]::-webkit-slider-runnable-track{background:transparent;border:none;box-shadow:none}
.lcs-range-slider input[type=range]::-moz-range-track{background:transparent;border:none;box-shadow:none}


/* SP Advanced filter */
.lcs-sp-adv-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border:none;border-top:1px solid #f3f4f6;background:none;text-align:left}
.lcs-sp-adv-toggle__left{display:flex;align-items:center;gap:8px}
.lcs-sp-adv-toggle__left svg{color:#2563eb}
.lcs-sp-adv-toggle__left span{font-size:12px;font-weight:600;color:#1f2937}
.lcs-sp-adv-toggle__chevron{color:#6b7280;transition:transform .2s}
.lcs-sp-adv-toggle__chevron.is-open{transform:rotate(180deg)}

.lcs-sp-adv-body{border-top:1px solid #f3f4f6;padding:16px}
.lcs-sp-adv-body .lcs-adv-field{margin-bottom:16px}
.lcs-sp-adv-body .lcs-adv-field:last-child{margin-bottom:0}
.lcs-sp-adv-body .lcs-adv-field__label{display:block;font-size:12px;font-weight:600;color:#6b7280;margin-bottom:6px}
.lcs-sp-adv-body .lcs-adv-reset{display:flex;justify-content:flex-end;margin-bottom:12px}
.lcs-sp-adv-body .lcs-adv-reset button{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:#2563eb;background:none;border:none}
.lcs-sp-adv-body .lcs-adv-reset button:hover{color:#1d4ed8}

/* ============================================================
   MULTISELECT DROPDOWN
   ============================================================ */
.lcs-multiselect{position:relative}
.lcs-multiselect__trigger{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;text-align:left;display:flex;align-items:center;justify-content:space-between;color:#6b7280;transition:border-color .15s}
.lcs-multiselect__trigger:hover{border-color:#9ca3af}
.lcs-multiselect__trigger.has-value{color:#111827;font-weight:500}
.lcs-multiselect__trigger svg{flex-shrink:0;margin-left:8px;color:#9ca3af;transition:transform .2s}
.lcs-multiselect__trigger.is-open svg{transform:rotate(180deg)}
.lcs-multiselect__dropdown{position:absolute;z-index:50;top:calc(100% + 4px);left:0;width:100%;min-width:240px;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);max-height:180px;overflow-y:auto;display:none}
.lcs-multiselect__dropdown.is-open{display:block}
.lcs-multiselect__option{display:flex;align-items:center;padding:10px 12px;cursor:pointer;font-size:14px;transition:background .1s}
.lcs-multiselect__option:hover{background:#eff6ff}
.lcs-multiselect__option input{margin-right:10px;width:16px;height:16px;accent-color:#2563eb;cursor:pointer}
.lcs-multiselect__option span{color:#111827}
.lcs-multiselect__empty{padding:8px 12px;font-size:14px;color:#6b7280}
.lcs-multiselect__fade{position:sticky;bottom:0;height:48px;margin-top:-48px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.7) 100%);border-radius:0 0 7px 7px;pointer-events:none;transition:opacity .2s}
.lcs-multiselect__fade.is-hidden{opacity:0}

/* ============================================================
   RESULTS HEADER
   ============================================================ */
.lcs-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;position:relative;z-index:10}
.lcs-results-count{font-size:12px;color:#4b5563}
.lcs-results-count strong{font-weight:600;color:#2563eb}
.lcs-sort-wrap{display:flex;align-items:center;gap:8px}
.lcs-sort-wrap label{font-size:12px;color:#374151;font-weight:500;white-space:nowrap}
.lcs-sort-select{padding:4px 20px 4px 4px;font-size:12px;border:none;border-bottom:2px solid #d1d5db;background:transparent;outline:none;color:#374151;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}
.lcs-sort-select:focus{border-bottom-color:#3b82f6}

/* ============================================================
   PC TABLE
   ============================================================ */
.lcs-table-wrap{overflow-x:auto}
.lcs-table{width:100%;background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;font-size:14px;table-layout:fixed}
.lcs-table thead{background:#64748b}
.lcs-table th{padding:8px 10px;text-align:left;border-bottom:1px solid #e5e7eb;font-size:11px;font-weight:700;color:#fff!important;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.lcs-table th.text-center{text-align:center}
.lcs-table th.text-right{text-align:right}
.lcs-table th button{display:inline-flex;align-items:center;font:inherit;font-size:11px;font-weight:700;color:#fff!important;text-transform:uppercase;letter-spacing:.05em;background:none;border:none;white-space:nowrap;transition:opacity .15s}
.lcs-table th button:hover{color:#fff!important;opacity:.88}
.lcs-table th button svg{margin-left:4px}
.lcs-table th button svg.sort-inactive{opacity:.3}

.lcs-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .15s}
.lcs-table tbody tr:hover{background:#f9fafb}
.lcs-table td{padding:8px 10px;vertical-align:middle}
.lcs-table td.text-center{text-align:center}
.lcs-table td.text-right{text-align:right}

/* Table: product cell */
.lcs-tbl-product{display:flex;align-items:center;gap:8px}
.lcs-tbl-product__img{flex-shrink:0;width:48px;height:48px;object-fit:cover;border-radius:4px;background:#f9fafb}
.lcs-tbl-product__info{min-width:0}
.lcs-tbl-product__name{font-size:13px;font-weight:500;margin-bottom:6px;line-height:1.4}
.lcs-tbl-product__name a{display:inline-flex;align-items:center;gap:4px;color:#111827;text-decoration:underline;text-underline-offset:2px;transition:color .15s}
.lcs-tbl-product__name a:hover{color:#2563eb}
.lcs-tbl-product__link-icon{display:inline-flex;align-items:center;flex-shrink:0}
.lcs-tbl-product__link-icon svg{width:12px;height:12px}
.lcs-tbl-product__specs{display:flex;flex-wrap:wrap;gap:3px}
.lcs-tbl-spec-badge{padding:1px 6px;background:#f3f4f6;color:#374151;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}

/* Table: display cell */
.lcs-tbl-display__size{font-size:12px;font-weight:500;color:#111827}
.lcs-tbl-display__res{font-size:12px;color:#4b5563;margin-top:2px}
.lcs-tbl-display__na{font-size:12px;color:#9ca3af}

/* Table: rating cell */
.lcs-tbl-rating{display:flex;align-items:center;justify-content:center;gap:4px}
.lcs-tbl-rating__score{font-size:12px;font-weight:600;color:#111827}
.lcs-tbl-rating__count{font-size:12px;color:#9ca3af}

/* Table: price cell */
.lcs-tbl-price__original{font-size:12px;color:#9ca3af;text-decoration:line-through;margin-bottom:2px}
.lcs-tbl-price__final{font-size:14px;font-weight:700;color:#dc2626;white-space:nowrap}

/* Table: discount badge */
.lcs-tbl-discount-badge{display:inline-block;background:#ef4444;color:#fff;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap;font-size:11px}
.lcs-tbl-discount-na{font-size:12px;color:#9ca3af}

/* Table: coupon cell */
.lcs-tbl-coupon{min-width:120px}
.lcs-tbl-coupon__item{}
.lcs-tbl-coupon__row1{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:6px}
.lcs-tbl-coupon__new{padding:1px 3px;border-radius:2px;font-size:8px;font-weight:700;background:#f97316;color:#fff;text-transform:uppercase;white-space:nowrap}
.lcs-tbl-coupon__expiry{font-size:12px;color:#6b7280;white-space:nowrap}
.lcs-tbl-coupon__code-wrap{position:relative;cursor:pointer}
.lcs-tbl-coupon__code{display:block;width:100%;background:#eff6ff;border:1px solid #bfdbfe;padding:6px 32px 6px 10px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;font-size:12px;font-weight:600;color:#1d4ed8;transition:background .2s,border-color .2s,color .2s}
.lcs-tbl-coupon__copy{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:4px;background:none;border:none;border-radius:4px;color:#2563eb;display:flex;transition:background .15s}
.lcs-tbl-coupon__copy:hover{background:#dbeafe}
.lcs-tbl-coupon__copy .icon-check{display:none;color:#16a34a}
.lcs-tbl-coupon__code-wrap.is-copied .lcs-tbl-coupon__code{background:#dcfce7;border-color:#86efac;color:#15803d}
.lcs-tbl-coupon__code-wrap.is-copied .lcs-tbl-coupon__copy .icon-copy{display:none}
.lcs-tbl-coupon__code-wrap.is-copied .lcs-tbl-coupon__copy .icon-check{display:block}
.lcs-tbl-coupon__na{font-size:12px;color:#9ca3af;text-align:center}

/* Table: buy button */
.lcs-tbl-buy{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#2563eb;color:#fff!important;border-radius:8px;transition:background .15s;text-decoration:none!important}
.lcs-tbl-buy:visited,.lcs-tbl-buy:hover,.lcs-tbl-buy:active{color:#fff!important;text-decoration:none!important}
.lcs-tbl-buy:hover{background:#1d4ed8}

/* ============================================================
   SP CARD
   ============================================================ */
.lcs-cards{display:flex;flex-direction:column;gap:12px}
.lcs-card{display:block;background:#fff;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #e5e7eb;overflow:hidden;transition:box-shadow .15s;text-decoration:none;color:inherit}
@media(hover:hover){.lcs-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}}

/* Card: top section */
.lcs-card__top{display:flex;gap:12px;padding:12px}
.lcs-card__img-wrap{position:relative;flex-shrink:0}
.lcs-card__img{width:96px;height:96px;object-fit:cover;border-radius:4px;background:#f9fafb}
.lcs-card__img-placeholder{width:96px;height:96px;background:#f3f4f6;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#9ca3af}
.lcs-card__discount-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;padding:2px 6px;border-radius:4px;font-size:14px;font-weight:700}

/* Card: info */
.lcs-card__info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.lcs-card__header{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}
.lcs-card__name{font-size:14px;font-weight:600;color:#111827;line-height:1.4;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lcs-card__rating{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-top:2px}
.lcs-card__rating-score{font-size:12px;font-weight:500;color:#374151}
.lcs-card__rating-count{font-size:10px;color:#9ca3af;margin-left:2px}

/* Card: specs */
.lcs-card__specs{font-size:12px;margin-bottom:6px}
.lcs-card__specs-row{display:flex;gap:6px;color:#374151;min-width:0}
.lcs-card__specs-row--compact{gap:10px;flex-wrap:wrap}
.lcs-card__spec-item{display:inline-flex;align-items:center;gap:2px}
.lcs-card__specs-row span.label{color:#4b5563}
.lcs-card__spec-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;background:#f3f4f6;border-radius:999px;white-space:normal;max-width:100%;min-width:0}
.lcs-card__spec-pill .label{color:#6b7280}
.lcs-card__spec-pill .value{color:#1f2937;line-height:1.2;overflow-wrap:anywhere}
.lcs-card__specs-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}
.lcs-card__spec-chip{background:#f3f4f6;color:#4b5563;padding:2px 6px;border-radius:4px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

.lcs-card__spec-toggle{display:flex;align-items:center;gap:2px;background:none;border:none;color:#9ca3af;font-size:12px;padding:2px 0;margin-top:4px}
.lcs-card__spec-toggle:hover{color:#4b5563}
.lcs-card__spec-detail{margin-top:4px;font-size:12px;color:#374151}
.lcs-card__spec-detail div{margin-bottom:2px}
.lcs-card__spec-detail div:last-child{margin-bottom:0}
.lcs-card__spec-detail span.label{color:#4b5563}

/* Card: price */
.lcs-card__price{display:flex;align-items:baseline;gap:8px}
.lcs-card__price-original{font-size:12px;color:#9ca3af;text-decoration:line-through}
.lcs-card__price-final{font-size:16px;font-weight:700;color:#dc2626}

/* Card: coupon area */
.lcs-card__coupons{border-top:1px solid #f3f4f6;padding:8px 12px;background:#f9fafb}
.lcs-card__coupon-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.lcs-card__coupon-row:last-child{margin-bottom:0}
.lcs-card__coupon-discount{flex-shrink:0;display:inline-flex;align-items:baseline;gap:3px;background:#d32f2f;color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.12);margin-left:auto}
.lcs-card__coupon-discount-rate{font-size:12px;font-weight:800;letter-spacing:-.01em;color:#fff;font-variant-numeric:tabular-nums}
.lcs-card__coupon-discount-label{font-size:12px;font-weight:700;color:rgba(255,255,255,.88);letter-spacing:.02em}
.lcs-card__coupon-expiry{flex-shrink:0;font-size:12px;color:#6b7280;white-space:nowrap}
.lcs-card__coupon-code-wrap{position:relative;flex:0 1 160px;max-width:160px;min-width:0;cursor:pointer}
.lcs-card__coupon-code{display:block;width:100%;background:#eff6ff;border:1px solid #bfdbfe;padding:4px 28px 4px 8px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;font-size:12px;font-weight:600;color:#1d4ed8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.lcs-card__coupon-copy{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:4px;background:none;border:none;border-radius:4px;color:#2563eb;display:flex;transition:background .15s}
.lcs-card__coupon-copy .icon-check{display:none;color:#16a34a}
.lcs-card__coupon-code-wrap.is-copied .lcs-card__coupon-code{background:#dcfce7;border-color:#86efac;color:#15803d}
.lcs-card__coupon-code-wrap.is-copied .lcs-card__coupon-copy .icon-copy{display:none}
.lcs-card__coupon-code-wrap.is-copied .lcs-card__coupon-copy .icon-check{display:block}

/* ============================================================
   SHOW MORE
   ============================================================ */
.lcs-show-more{display:flex;justify-content:center;margin-top:24px}
.lcs-show-more__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:168px;padding:12px 24px;font-size:14px;font-weight:700;color:#fff;background:#2563eb;border:1px solid #2563eb;border-radius:9999px;box-shadow:0 4px 12px rgba(37,99,235,.18);transition:all .15s}
.lcs-show-more__btn:hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 6px 16px rgba(29,78,216,.24)}
.lcs-show-more__btn:active{transform:translateY(1px)}
.lcs-show-more__btn svg{transition:transform .15s}
.lcs-show-more__btn:hover svg{transform:translateY(2px)}

/* ============================================================
   EMPTY STATE
   ============================================================ */
.lcs-empty{background:#fff;border-radius:12px;text-align:center;padding:24px}
.lcs-empty__text{font-size:12px;color:#6b7280}


/* ============================================================
   RESPONSIVE: SP dropdown height
   ============================================================ */
@container(max-width:829px){
  .lcs-container{padding:0}
  .lcs-card__specs-row{flex-wrap:wrap}
  .lcs-multiselect__dropdown{max-height:240px}
  .lcs-show-more__btn{min-width:144px;padding:10px 18px;font-size:13px}
}

/* ============================================================
   RESPONSIVE: lg (830px)
   ============================================================ */
@container(min-width:830px){
  .lcs-pc{display:block}
  .lcs-sp{display:none!important}
}
