/*
Theme Name: HS Realty
Theme URI: https://hsrealty.co.kr
Description: 현성리얼티 NAS 쇼핑몰 — Storefront 자식 테마. 네이비/골드/그린 프리미엄 브랜드 스타일.
Author: 현성리얼티
Template: storefront
Version: 1.0.0
*/

:root{
  --hs-navy:#1E3A5F; --hs-navy-deep:#14293F; --hs-gold:#C1A02E; --hs-green:#148A55;
  --hs-ink:#1B2733; --hs-muted:#5C6B7A; --hs-line:#E4E9EF; --hs-panel:#F4F6F8;
  --hs-font:"Pretendard","Pretendard Variable","Apple SD Gothic Neo","Malgun Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/* ---------- 타이포 ---------- */
body, button, input, select, textarea,
.woocommerce-loop-product__title, .site-title, h1,h2,h3,h4,h5,h6{
  font-family:var(--hs-font);
}
body{ color:var(--hs-ink); letter-spacing:-.01em; }
h1,h2,h3{ letter-spacing:-.025em; color:var(--hs-navy); word-break:keep-all; }
a{ color:var(--hs-navy); }
a:hover{ color:var(--hs-navy-deep); }

/* ---------- 헤더 (화이트 프리미엄) ---------- */
.site-header{
  background:#fff !important; border-bottom:1px solid var(--hs-line);
  position:sticky; top:0; z-index:60; padding-top:.6em; padding-bottom:.6em;
  box-shadow:0 1px 3px rgba(20,41,63,.04);
}
.site-branding{ margin-bottom:0; }
.site-header .custom-logo-link img,
.site-header .custom-logo{ max-height:46px; width:auto; }
/* 커스텀 로고가 있으면 텍스트 상호/태그라인 숨김 */
.site-header:has(.custom-logo) .site-title,
.site-header:has(.custom-logo) .site-description{ position:absolute; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }
.site-header .site-title{ font-weight:800; }
.site-header .site-title a{ color:var(--hs-navy) !important; }
.site-header .site-description{ color:var(--hs-muted); }
.storefront-primary-navigation{ background:transparent !important; }
.main-navigation ul li a{ color:var(--hs-navy) !important; font-weight:600; }
.main-navigation ul li a:hover{ color:var(--hs-gold) !important; }
.main-navigation ul.menu > li.current-menu-item > a{ color:var(--hs-gold) !important; }
.site-header-cart .cart-contents{ color:var(--hs-navy) !important; font-weight:700; }
.site-header-cart .amount{ color:var(--hs-navy); }
.site-header-cart .count{ background:var(--hs-gold) !important; color:#3a2f06 !important; }

/* ---------- 버튼 ---------- */
button, .button, input[type="submit"], .added_to_cart,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--hs-navy) !important; color:#fff !important;
  border-radius:10px !important; font-weight:700 !important; text-shadow:none !important;
  transition:.2s !important;
}
button:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .added_to_cart:hover{
  background:var(--hs-navy-deep) !important; transform:translateY(-1px);
}
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #respond input#submit.alt, .single_add_to_cart_button{
  background:var(--hs-navy) !important; color:#fff !important;
}
.woocommerce a.button.alt:hover, .single_add_to_cart_button:hover{ background:var(--hs-gold) !important; color:#3a2f06 !important; }

/* ---------- 상품 카드 ---------- */
.woocommerce ul.products li.product{
  background:#fff; border:1px solid var(--hs-line); border-radius:14px;
  padding:14px 14px 18px; box-shadow:0 1px 3px rgba(20,41,63,.05);
  transition:.22s; text-align:left;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-3px); box-shadow:0 12px 30px -12px rgba(20,41,63,.28);
  border-color:color-mix(in srgb,var(--hs-navy) 28%,var(--hs-line));
}
.woocommerce ul.products li.product a img{
  border-radius:10px; background:#fff; margin-bottom:.8em; mix-blend-mode:multiply;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1rem; font-weight:700; color:var(--hs-ink); padding:0; line-height:1.35;
}
.woocommerce ul.products li.product .price{ color:var(--hs-navy) !important; }
.woocommerce ul.products li.product .price .woocommerce-Price-amount{
  font-size:1.15rem; font-weight:800; color:var(--hs-navy); font-variant-numeric:tabular-nums;
}
.woocommerce ul.products li.product .button{ margin-top:.4em; }
.woocommerce span.onsale{
  background:var(--hs-gold) !important; color:#3a2f06 !important; border-radius:20px;
  min-height:auto; min-width:auto; padding:.3em .7em; font-weight:800;
}
.star-rating span{ color:var(--hs-gold); }

/* ---------- 가격/재고 일반 ---------- */
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:var(--hs-navy); font-weight:800; }
.woocommerce .stock.in-stock{ color:var(--hs-green); font-weight:700; }
.woocommerce-message, .woocommerce-info{ border-top-color:var(--hs-navy) !important; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--hs-navy) !important; }

/* ---------- 카탈로그 섹션 제목 (프론트 [product_category]) ---------- */
.page .entry-content > h2{
  font-size:1.7rem; font-weight:800; color:var(--hs-navy);
  margin:2.4em 0 1em; padding-bottom:.5em; position:relative;
}
.page .entry-content > h2::after{
  content:""; position:absolute; left:0; bottom:0; width:52px; height:3px;
  background:var(--hs-gold); border-radius:2px;
}
.page .entry-content > h2:first-child{ margin-top:.4em; }

/* ---------- 히어로 (프론트 상단, functions.php 주입) ---------- */
.hs-hero{
  background:
    radial-gradient(60% 80% at 82% 30%, color-mix(in srgb,var(--hs-navy) 12%,transparent), transparent 70%),
    var(--hs-panel);
  border:1px solid var(--hs-line); border-radius:20px;
  padding:clamp(28px,5vw,56px); margin:0 0 1.4em;
  display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:center;
}
.hs-hero__eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase; color:var(--hs-gold); margin-bottom:14px;
}
.hs-hero__eyebrow::before{ content:""; width:22px; height:2px; background:var(--hs-gold); }
.hs-hero h1{ font-size:clamp(26px,3.6vw,42px); font-weight:800; color:var(--hs-ink); margin:0 0 14px; line-height:1.18; }
.hs-hero h1 .g{ color:var(--hs-navy); }
.hs-hero p{ color:var(--hs-muted); font-size:1.05rem; margin:0 0 22px; max-width:40ch; }
.hs-hero .hs-btn{
  display:inline-flex; align-items:center; gap:8px; background:var(--hs-navy); color:#fff;
  font-weight:700; padding:13px 24px; border-radius:11px; transition:.2s;
}
.hs-hero .hs-btn:hover{ background:var(--hs-navy-deep); color:#fff; transform:translateY(-1px); }
.hs-hero__stats{ display:flex; gap:26px; margin-top:26px; padding-top:20px; border-top:1px solid var(--hs-line); }
.hs-hero__stats b{ display:block; font-size:22px; font-weight:800; color:var(--hs-navy); }
.hs-hero__stats small{ font-size:13px; color:var(--hs-muted); font-weight:600; }
.hs-hero__media{ display:grid; place-items:center; position:relative; }
.hs-hero__media img{ width:74%; position:relative; z-index:1; filter:drop-shadow(0 26px 44px rgba(20,41,63,.26)); }
.hs-hero__seal{
  position:absolute; right:0; top:-6px; z-index:3; width:96px; height:96px; border-radius:50%;
  background:#fff; box-shadow:0 12px 30px -8px rgba(20,41,63,.32); display:grid; place-items:center;
  text-align:center; border:1px solid var(--hs-line);
}
.hs-hero__seal b{ font-size:10px; font-weight:800; color:var(--hs-navy); line-height:1.25; }
.hs-hero__seal em{ display:block; font-style:normal; font-size:8px; letter-spacing:.1em; color:var(--hs-gold); font-weight:800; margin-top:2px; }

/* 신뢰 배지 스트립 */
.hs-trust{ display:flex; flex-wrap:wrap; gap:14px 30px; align-items:center; padding:16px 22px;
  background:#fff; border:1px solid var(--hs-line); border-radius:14px; margin-bottom:.6em; }
.hs-trust span{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--hs-muted); font-size:.95rem; }
.hs-trust span::before{ content:"✓"; color:var(--hs-green); font-weight:900; }

/* ---------- 푸터 (네이비) ---------- */
.site-footer{ background:var(--hs-navy-deep) !important; color:#B9C4D0 !important; }
.site-footer a{ color:#D7E0EA !important; }
.site-footer a:hover{ color:#fff !important; }
.site-footer .site-info{ background:var(--hs-navy-deep) !important; border-top:1px solid rgba(255,255,255,.1); }
.storefront-handheld-footer-bar{ background:var(--hs-navy) !important; }
.storefront-handheld-footer-bar a{ color:#fff !important; }

/* ---------- 반응형 ---------- */
@media (max-width:768px){
  .hs-hero{ grid-template-columns:1fr; text-align:center; }
  .hs-hero__eyebrow, .hs-hero p{ margin-left:auto; margin-right:auto; }
  .hs-hero__stats{ justify-content:center; }
  .hs-hero__media{ order:-1; }
}
