/* 홈 (templates/public/index.html) — 노란 히어로 · 바로가기 · 모델 카드 줄 · 오늘의 기준가 · 커뮤니티 */

.home-hero{background:var(--brand);position:relative;height:443px;overflow:hidden}
.home-hero .shell{position:relative;height:100%}
.home-hero-text{position:absolute;left:142px;top:79px;z-index:2}
.home-hero h1{font-family:GmarketSans,Pretendard,sans-serif;font-weight:700;font-size:42px;line-height:51px;letter-spacing:-1.7px;color:var(--brand-olive)}
.home-hero h1 b{color:var(--brand-deep)}
.home-hero-sub{font-size:20px;font-weight:700;color:var(--brand-deep);margin-top:8px;letter-spacing:-.4px}
.home-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:362px;height:57px;margin-top:26px;border-radius:14px;background:var(--ink);color:#fff;font-size:17px;font-weight:700;box-shadow:0 6px 16px rgba(25,31,40,.22);transition:transform .2s var(--ease),box-shadow .2s}
.home-hero-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,31,40,.3)}
.home-hero-cta:active{transform:scale(.98)}
.home-hero-art{position:absolute;right:11px;top:30px;width:459px;height:417px}
.home-hero-art img{width:100%;height:100%;object-fit:cover}
.home-hero-bubble{position:absolute;left:257px;top:41px;width:63px;animation:bob 3s ease-in-out infinite}
.home-hero-bubble svg{width:100%;height:auto}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-4deg)}}
.rise{opacity:0;transform:translateY(16px);animation:rise .8s var(--ease) forwards}
@keyframes rise{to{opacity:1;transform:none}}

.home-quick{position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-top:-63px}
.home-quick a{height:136px;background:#fff;border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:15px;font-weight:600;color:var(--gray-700);transition:transform .25s var(--ease),box-shadow .25s}
.home-quick svg{width:36px;height:36px;transition:transform .35s var(--ease)}
.home-quick a:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);color:var(--ink)}
.home-quick a:hover svg{transform:scale(1.12) rotate(-6deg)}

.home-sec{margin-top:64px}
.home-sec-title{display:inline-flex;align-items:center;gap:2px;font-size:22px;font-weight:700;letter-spacing:-.5px}
.home-sec-title svg{transition:transform .25s var(--ease)}
.home-sec-title:hover svg{transform:translateX(4px)}
.home-sec-desc{font-size:14px;color:var(--gray-600);margin-top:7px}

/* 모델 카드 줄 */
.home-rail{position:relative;margin-top:22px}
.home-rail-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:12px 20px 24px;margin:-12px -20px 0;scroll-padding-left:20px;scrollbar-width:none}
.home-rail-track::-webkit-scrollbar{display:none}
.home-model{flex:0 0 300px;height:268px;scroll-snap-align:start;position:relative;border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s}
.home-model:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.home-model-text{position:relative;z-index:2;padding:26px 26px 0}
.home-model-name{font-size:17px;font-weight:700}
.home-model-price{font-size:19px;font-weight:700;margin-top:4px;letter-spacing:-.4px}
.home-model-price s{font-size:13px;color:var(--gray-500);font-weight:500;margin-right:8px}
.home-model-none{font-size:15px;color:var(--gray-500);font-weight:500}
.home-model-cp{display:flex;align-items:center;gap:6px;margin-top:9px;font-size:13px;font-weight:500}
.home-model-cp em{font-style:normal;color:var(--blue);font-weight:700}
/* 모델 사진 (시안과 같은 모양): 이미지를 크게 두고 윗부분(카메라)부터 보이게, 아래는 카드 밖으로 잘리며 흰색으로 흐려진다.
   위 여백은 양수로 둔다 — 음수면 이미지가 위로 올라가 카메라가 잘린다 */
.home-model-photo{position:absolute;left:0;right:0;bottom:0;height:130px;display:flex;justify-content:center;align-items:flex-start;overflow:hidden}
.home-model-photo img{width:auto;height:auto;max-width:74%;max-height:220px;margin-top:12px;object-fit:contain;object-position:top;transition:transform .45s var(--ease)}
.home-model-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.85) 60%,#fff 95%);pointer-events:none}
.home-model:hover .home-model-photo img{transform:translateY(-6px) scale(1.04)}
.home-model-noimg{width:120px;height:96px;border-radius:14px 14px 0 0;background:var(--gray-100);display:flex;align-items:center;justify-content:center}
.home-rail-btn{position:absolute;top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;background:#fff;box-shadow:0 4px 18px rgba(25,31,40,.14);display:flex;align-items:center;justify-content:center;z-index:5;transition:transform .2s var(--ease)}
.home-rail-btn:hover{transform:scale(1.08)}
.home-rail-btn.is-next{right:-26px}
.home-rail-btn.is-prev{left:-26px}

/* 오늘의 기준가 */
.home-ref-tabs{display:flex;gap:8px;margin-top:22px}
.home-ref-tabs .round-tab:disabled{opacity:.4;cursor:default}
.home-ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}
.home-ref-box{display:flex;gap:24px;padding:20px;transition:transform .25s var(--ease),box-shadow .25s}
.home-ref-box:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.home-ref-img{flex:0 0 150px;height:156px;border-radius:16px;background:var(--bg-band);display:flex;align-items:center;justify-content:center;overflow:hidden}
.home-ref-img img{width:86%;height:86%;object-fit:contain;transition:transform .4s var(--ease)}
.home-ref-box:hover .home-ref-img img{transform:scale(1.06)}
.home-ref-body{flex:1;padding-top:6px;min-width:0}
.home-ref-body h3{font-size:18px}
.home-ref-spec{font-size:13px;color:var(--gray-500);margin-top:4px}
.home-ref-rows{margin-top:18px}
.home-ref-row{display:flex;align-items:center;gap:10px;height:34px;border-top:1px solid var(--gray-100);font-size:14px}
.home-ref-row:first-child{border-top:0}
/* 금액은 고정 폭 칸에 오른쪽 정렬 (두 자리 · 세 자리 · 마이너스 모두 '만원' 끝이 한 줄) → 등락도 같은 자리에서 시작 */
.home-ref-price{flex:none;width:86px;text-align:right;font-size:17px;font-weight:700;letter-spacing:-.3px;font-variant-numeric:tabular-nums;white-space:nowrap}
.home-ref-price i{font-style:normal;color:var(--gray-400);font-weight:500}
.home-ref-row .delta{font-variant-numeric:tabular-nums}
.home-ref-panel.is-flash .home-ref-price,.home-ref-panel.is-flash .delta{animation:flash .5s}
@keyframes flash{0%{opacity:0;transform:translateY(4px)}100%{opacity:1;transform:none}}
.home-ref-note{display:flex;justify-content:flex-end;gap:12px;font-size:12px;color:var(--gray-500);margin-top:14px}
.home-ref-empty{margin-top:22px;padding:40px 0;text-align:center;color:var(--gray-500);font-size:14px;background:var(--gray-50);border-radius:16px}

/* 커뮤니티 목록 두 칸 */
.home-boards{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:40px}
.home-board{min-width:0}
.home-board-tabs{display:flex;align-items:center;gap:20px;padding:0 0 6px}
.home-board-tabs button{font-size:18px;font-weight:700;color:var(--ink);padding:0;transition:color .15s}
.home-board-tabs button:hover,.home-board-tabs button.is-on{color:var(--link-blue)}
.home-board-more{margin-left:auto;font-size:14px;color:var(--gray-600)}
.home-board-more:hover{color:var(--ink)}
.home-board-row{display:flex;align-items:center;height:32px;font-size:15px;gap:12px}
.home-board-cat{flex:0 0 64px;color:var(--gray-600);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-board-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-body)}
.home-board-count{flex:none;color:var(--link-blue);font-size:13px}
.home-board-time{flex:none;margin-left:auto;padding-left:12px;font-size:13px;color:var(--gray-500)}
.home-board-row:hover .home-board-title{text-decoration:underline;text-underline-offset:3px}
.home-board-row.is-hot .home-board-title{color:var(--link-blue);font-weight:700}
.home-board-gap{height:10px}
.home-board-empty{font-size:14px;color:var(--gray-500);padding:20px 0}
.home-more{display:flex;align-items:center;justify-content:center;gap:4px;height:52px;margin-top:36px;border-radius:14px;background:var(--gray-50);font-size:15px;font-weight:600;color:var(--gray-700);transition:background .2s}
.home-more:hover{background:var(--gray-100)}

@media(max-width:1180px){.home-rail-btn.is-next{right:-10px}.home-rail-btn.is-prev{left:-10px}.home-hero-text{left:0}}
@media(max-width:768px){
  .home-hero{height:auto;padding:32px 0 196px}
  .home-hero .shell{position:static}
  .home-hero-text{position:relative;left:0;top:0}
  .home-hero h1{font-size:30px;line-height:38px;letter-spacing:-1.2px}
  .home-hero-sub{font-size:16px;margin-top:10px}
  .home-hero-cta{width:auto;height:52px;font-size:16px;padding:0 22px;margin-top:22px}
  .home-hero-art{width:190px;height:173px;right:8px;top:auto;bottom:52px}
  .home-hero-bubble{width:32px;left:106px;top:17px}
  .home-quick{gap:0;margin-top:-56px;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:6px}
  .home-quick a{height:88px;gap:8px;font-size:12px;border-radius:14px;box-shadow:none;text-align:center;line-height:1.25;padding:0 2px}
  .home-quick a:hover{box-shadow:none;background:var(--gray-50);transform:none}
  .home-quick svg{width:28px;height:28px}
  .home-sec{margin-top:48px}
  .home-sec-title{font-size:20px}
  .home-sec-desc{font-size:13px}
  .home-model{flex:0 0 248px;height:236px}
  .home-model-text{padding:20px 20px 0}
  .home-model-name{font-size:15px}
  .home-model-price{font-size:18px}
  .home-model-photo{height:110px}
  .home-model-photo img{max-height:184px;margin-top:10px}
  .home-rail-btn{display:none}
  .home-ref-grid{grid-template-columns:1fr;gap:12px}
  .home-ref-box{gap:16px;padding:16px}
  .home-ref-img{flex-basis:96px;height:110px;border-radius:14px}
  .home-ref-body h3{font-size:16px}
  .home-ref-rows{margin-top:10px}
  .home-ref-row{height:30px}
  .home-ref-price{font-size:15px;width:76px}
  .home-boards{grid-template-columns:1fr;gap:20px}
  .home-board-tabs{gap:16px;overflow-x:auto;scrollbar-width:none;padding-top:16px}
  .home-board-tabs button{font-size:17px;flex:none}
  .home-board-more{flex:none;font-size:13px}
  .home-board-row{font-size:14px;gap:8px}
  .home-board-cat{font-size:12px}
  .home-board-time{display:none}
}
