/* ═══════════════════════════════════════════════════════════════════
   OSTEN 브랜드 레이어 — 마지막에 로드되어 앞의 모든 팔레트를 덮습니다.
   기준: 쿠쿠(cuckoo.co.kr) 2026-09-21 실측
     · 서체  Noto Sans KR
     · 자간  -0.25px 전역 고정
     · 행간  1.5 전역 고정
     · 굵기  본문 300 / 라벨 500 / 제목 700 / 숫자·가격 900 (600·800 미사용)
     · 무채색 6단 + 포인트 1색
   포인트 색은 --o-accent 한 곳에서만 정합니다. 다른 곳에 색을 직접 쓰지 않습니다.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  /* ── 포인트 1색 ─────────────────────────────── */
  --o-accent:      #1A5CFF;
  --o-accent-dark: #1548CC;
  --o-accent-soft: rgba(26,92,255,.08);

  /* ── 무채색 (쿠쿠 실측) ─────────────────────── */
  --o-ink:     #272727;   /* 본문·제목 */
  --o-ink-2:   #585856;   /* 보조 텍스트 */
  --o-gray:    #767676;   /* 모델명·캡션 */
  --o-gray-2:  #999999;   /* 취소선·힌트 */
  --o-gray-3:  #BBBBBB;   /* placeholder */
  --o-line:    #EAEAEA;   /* 구분선 */
  --o-bg:      #F7F7F7;   /* 회색 섹션 단 1종 */
  --o-white:   #FFFFFF;
  --o-dark:    #272727;   /* 푸터 */
  --o-dark-2:  #1A1A1A;

  /* ── 서체 ───────────────────────────────────── */
  --o-font: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;

  /* ── 이전 시스템 변수 전부 재매핑 ─────────── */
  --f: var(--o-font);
  --fm: var(--o-font);
  --ink: var(--o-ink);  --ink-2: var(--o-ink);  --ink-3: var(--o-ink);
  --gray-1: var(--o-ink-2);  --gray-2: var(--o-gray);  --gray-3: var(--o-gray);  --gray-4: var(--o-gray-2);  --gray-5: var(--o-line);
  --line: var(--o-line);  --line-2: var(--o-line);  --eaea: var(--o-line);
  --bg-1: var(--o-bg);  --bg-2: var(--o-bg);  --bg-3: var(--o-bg);
  --white: var(--o-white);
  --red: var(--o-accent);  --coral: var(--o-accent);  --wine: var(--o-accent);
  --o-paper: var(--o-white);  --o-sage: var(--o-bg);  --o-inverse: var(--o-bg);  --o-dim: var(--o-gray-3);
  --o-overlay: rgba(39,39,39,.56);  --o-shadow: rgba(39,39,39,.08);
  --rx-purple: var(--o-accent);  --rx-purple-deep: var(--o-accent-dark);
  --rx-lavender: var(--o-bg);  --rx-black: var(--o-ink);  --rx-gray: var(--o-gray);
  --rx-border: var(--o-line);  --rx-footer: var(--o-dark);  --rx-footer-bottom: var(--o-dark-2);
  --rx-yellow: var(--o-accent);  --rx-map: var(--o-bg);  --rx-white: var(--o-white);
  --rx-section: var(--o-bg);  --rx-refund: var(--o-bg);
  --rx-radius: 8px;
}

/* ═══ 1. 전역 타이포 ═══════════════════════════════════════════════ */
html{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body{
  font-family:var(--o-font);
  font-weight:300;
  font-size:16px;
  line-height:1.5;
  letter-spacing:-0.25px;
  color:var(--o-ink);
  background:var(--o-white);
}
*, *::before, *::after{ letter-spacing:-0.25px; }
h1,h2,h3,h4,h5,h6{ font-weight:700; line-height:1.5; color:var(--o-ink); letter-spacing:-0.25px; }
p,li,dd,td,th,label,input,select,textarea,button{ line-height:1.5; letter-spacing:-0.25px; }
strong,b{ font-weight:700; }
a{ color:inherit; }
a:hover{ color:var(--o-accent); }
::selection{ background:var(--o-accent); color:#fff; }

/* 숫자·가격 — 굵기 900, 포인트 색 */
.rx-price, .price, .p-price, .p-now b, .prd-price b, .co-big b, .rx-benefit-seal b, .rx-contact-big{
  font-weight:900 !important;
  color:var(--o-accent) !important;
  letter-spacing:-0.25px !important;
}

/* ═══ 2. 헤더 · 내비 ═══════════════════════════════════════════════ */
.rx-header{ background:var(--o-white); border-bottom:1px solid var(--o-line); }
.rx-header-actions{ font-size:14px; font-weight:500; color:var(--o-ink); }
.rx-menu-panel>p{ font-size:13px; font-weight:500; letter-spacing:1px; color:var(--o-gray); text-transform:uppercase; }
.rx-menu-panel nav a{ font-size:20px; font-weight:500; line-height:1.5; color:var(--o-ink); }
.rx-menu-panel nav a:hover{ color:var(--o-accent); }
.rx-search-panel label{ font-size:16px; font-weight:300; }

/* ═══ 3. 히어로 ════════════════════════════════════════════════════ */
.rx-hero{ background:var(--o-bg) !important; color:var(--o-white); }
.rx-hero-shade,
.rx-slide[data-slide="1"] .rx-hero-shade,
.rx-slide[data-slide="2"] .rx-hero-shade{
  background:linear-gradient(90deg,rgba(39,39,39,.72) 0%,rgba(39,39,39,.42) 40%,rgba(39,39,39,.10) 65%,rgba(39,39,39,.34) 100%) !important;
}
.rx-hero-title>p:first-child{ font-size:16px; font-weight:300; letter-spacing:-0.25px; opacity:.85; }
.rx-hero-title h1, .rx-display-title{
  font-size:clamp(44px, 4.6vw, 68px) !important;
  font-weight:700 !important;
  letter-spacing:-1.5px !important;
  line-height:1.15 !important;
}
.rx-hero-copy>p{ font-size:18px; font-weight:300; line-height:1.5; letter-spacing:-0.25px; }
.rx-pill{ font-size:15px; font-weight:500; line-height:1.5; border-radius:6px; }
.rx-pill-purple{ background:var(--o-accent) !important; color:#fff !important; }
.rx-pill-purple:hover{ background:var(--o-accent-dark) !important; }
.rx-pill-dark{ font-size:15px; font-weight:500; background:var(--o-ink); color:#fff; border-radius:6px; }
.rx-hero-controls p{ font-size:14px; font-weight:300; }
.rx-hero-controls button{ font-size:20px; }
.rx-hero-edge{ font-size:32px; font-weight:300; }

/* ═══ 4. 섹션 공통 제목 — 쿠쿠 H1 32px/700 ══════════════════════ */
.rx-category-title h2, .rx-event h2, .rx-heading, .rx-story-copy h2,
.rx-refund h2, .rx-care>h2, .rx-location-box h2, .rx-customer-contact h2{
  font-size:32px !important;
  font-weight:700 !important;
  letter-spacing:-0.25px !important;
  line-height:1.5 !important;
  color:var(--o-ink);
}
.rx-category-title p, .rx-event-desc, .rx-story-copy>p, .rx-refund p, .rx-customer-contact p{
  font-size:16px !important;
  font-weight:300 !important;
  line-height:1.5 !important;
  color:var(--o-ink-2);
}
.rx-event-copy>p:first-child, .rx-care-eyebrow, .rx-location-box>p{
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:-0.25px !important;
  color:var(--o-accent);
}

/* ═══ 5. 카테고리 ══════════════════════════════════════════════════ */
.rx-category{ background:var(--o-white) !important; }
.rx-category a{ font-size:15px; font-weight:500; color:var(--o-ink); }
.rx-category a:hover, .rx-category a:hover svg{ color:var(--o-accent) !important; }

/* ═══ 6. 이벤트 · 픽 ═══════════════════════════════════════════════ */
.rx-event{ background:var(--o-bg) !important; }

/* ═══ 7. 제품 카드 ═════════════════════════════════════════════════ */
.rx-product{ border:1px solid var(--o-line); border-radius:8px; background:var(--o-white); }
.rx-product:hover{ border-color:var(--o-ink) !important; }
.rx-product h3{ font-size:16px !important; font-weight:500 !important; letter-spacing:-0.25px !important; line-height:1.5; color:var(--o-ink); }
.rx-model-code{ font-size:13px !important; font-weight:300; color:var(--o-gray); letter-spacing:-0.25px; }
.rx-price-state{ font-size:13px !important; font-weight:300; color:var(--o-gray-2); }
.rx-price{ font-size:24px !important; line-height:1.5 !important; }
.rx-price small{ font-size:15px; font-weight:500; color:var(--o-ink); }
.rx-featured-product h3{ font-size:24px !important; font-weight:700 !important; }
.rx-featured-product p{ font-size:16px; font-weight:300; color:var(--o-ink-2); }
.rx-featured-product strong{ font-size:24px; font-weight:900; color:var(--o-accent); }
.rx-featured-product:after{ background:linear-gradient(transparent, rgba(255,255,255,.92)) !important; }
.rx-reference-caption{ font-size:12px; font-weight:300; color:var(--o-gray-2); }

/* ═══ 8. 스토리 ════════════════════════════════════════════════════ */
.rx-story-copy li a{ font-size:15px; font-weight:300; color:var(--o-ink-2); }
.rx-story-copy li a:hover{ color:var(--o-accent); }

/* ═══ 9. 환급 · 혜택 ═══════════════════════════════════════════════ */
.rx-refund{ background:var(--o-bg) !important; }
.rx-refund-disclaimer{ font-size:12px; font-weight:300; color:var(--o-gray-2); }
.rx-benefit-seal{ border:2px solid var(--o-ink) !important; border-bottom:0 !important; border-radius:8px 8px 0 0 !important; }
.rx-benefit-seal span{ font-size:12px; font-weight:500; letter-spacing:.5px; color:var(--o-gray); }
.rx-benefit-seal b{ font-size:32px !important; }
.rx-refund-dialog>p:first-of-type{ font-size:12px; font-weight:500; letter-spacing:1px; color:var(--o-accent) !important; }
.rx-refund-dialog h2{ font-size:24px; font-weight:700; }
.rx-refund-dialog p{ font-size:15px; font-weight:300; line-height:1.6; color:var(--o-ink-2); }
.rx-refund-dialog>button{ font-size:28px; color:var(--o-gray); }

/* ═══ 10. 케어 · 서비스 ════════════════════════════════════════════ */
.rx-care-main h3, .rx-care-other h3{ font-size:20px !important; font-weight:700 !important; }
.rx-care-main p, .rx-care-other p{ font-size:15px !important; font-weight:300 !important; color:var(--o-ink-2); }
.rx-care-main span{ font-size:14px; font-weight:500; color:var(--o-accent); }
.rx-catalog-mark{ font-size:48px !important; font-weight:700 !important; background:var(--o-ink) !important; color:#fff !important; }

/* ═══ 11. 배송 지역 ════════════════════════════════════════════════ */
.rx-location{ background:var(--o-bg) !important; }
.rx-location-box{ background:var(--o-ink) !important; color:#fff !important; border-radius:8px !important; }
.rx-location-box h2{ color:#fff !important; }
.rx-location-box>p{ color:rgba(255,255,255,.7) !important; }
.rx-location-box>small{ font-size:12px; font-weight:300; color:rgba(255,255,255,.55); }
.rx-location-search select{ font-size:16px; font-weight:300; border:1px solid var(--o-line); border-radius:6px; }
.rx-location-search a{ font-size:15px; font-weight:500; background:var(--o-accent); color:#fff; border-radius:6px; }
.rx-location-search a:hover{ background:var(--o-accent-dark); }

/* ═══ 12. 고객센터 ═════════════════════════════════════════════════ */
.rx-customer-contact h2{ font-size:20px !important; }
.rx-contact-big{ font-size:32px !important; line-height:1.5 !important; }
.rx-contact-extra{ font-size:15px; font-weight:500; color:var(--o-ink-2); }
.rx-support h3{ font-size:20px !important; font-weight:700 !important; }
.rx-support b{ font-size:15px; font-weight:500; color:var(--o-ink); }

/* ═══ 13. 푸터 ═════════════════════════════════════════════════════ */
.rx-footer{ background:var(--o-dark) !important; font-size:13px; font-weight:300; line-height:1.8; color:#BBBBBB; }
.rx-footer-bottom{ background:var(--o-dark-2) !important; }
.rx-footer a{ color:#BBBBBB; }
.rx-footer a:hover{ color:#fff; }
.rx-footer-bottom nav{ font-size:13px; font-weight:300; }
.rx-footer-bottom .rx-privacy{ color:#fff !important; font-weight:500; }
.rx-copyright{ font-size:12px; font-weight:300; color:#767676; }
.rx-footer h4, .rx-footer strong{ color:#fff; font-weight:500; }

/* ═══ 14. 플로팅 버튼 ══════════════════════════════════════════════ */
.rx-floating>a{ background:var(--o-accent) !important; color:#fff !important; box-shadow:0 6px 20px rgba(26,92,255,.28); }
.rx-floating>a:hover{ background:var(--o-accent-dark) !important; }
.rx-floating>a svg{ fill:#fff; }
.rx-floating>a svg path{ fill:#fff; }
.rx-floating button{ font-size:20px; }

/* ═══ 15. 포커스 ═══════════════════════════════════════════════════ */
.rx-home :focus-visible, .rx-header :focus-visible, .rx-footer :focus-visible, :focus-visible{
  outline:2px solid var(--o-accent) !important; outline-offset:2px;
}

/* ═══ 16. 제품 상세 · 도구 · 뱃지 ═════════════════════════════════ */
.prd-flag em{ color:#fff !important; font-weight:700; }
.draft{ border:1px dashed var(--o-gray-3) !important; background:var(--o-bg); }
.draft b, .draft .tag, .draft span:first-child{ background:var(--o-ink) !important; color:#fff !important; }
.tool-warn, .co-tbd{ background:var(--o-bg) !important; border:1px solid var(--o-line); }
.tool-warn, .tool-warn b, .co-tbd h4, .co-tbd li, .co-big.tbd b{ color:var(--o-ink) !important; }
.wchip.ok i{ background:var(--o-accent) !important; }
.wchip.carry i{ background:var(--o-gray) !important; }
.wchip.no i{ background:var(--o-ink) !important; }
.fp-verdict.ok{ background:var(--o-accent-soft) !important; color:var(--o-accent) !important; }
.fp-verdict.warn{ background:var(--o-bg) !important; color:var(--o-ink-2) !important; }
.fp-verdict.no{ background:var(--o-bg) !important; color:var(--o-ink) !important; }
.tool-kicker{ font-size:13px; font-weight:500; letter-spacing:1px; color:var(--o-accent); }
.tool-tit{ font-size:32px; font-weight:700; }
.tool-sub{ font-size:16px; font-weight:300; color:var(--o-ink-2); }
.cf-block h3{ font-size:18px; font-weight:700; }
.cf-block h3 b{ color:var(--o-accent); font-weight:900; }
.radio-cards label b{ font-weight:500; }
.radio-cards label em{ font-weight:300; color:var(--o-gray); }
.co-q{ font-size:16px; font-weight:500; }
.co-q em{ font-weight:300; color:var(--o-gray); }
.co-big{ font-size:32px; }
.co-cap{ font-size:14px; font-weight:300; color:var(--o-ink-2); }
.inc-band h3{ font-size:16px; font-weight:700; }
.inc-band h3 span{ font-weight:500; color:var(--o-accent); }
.inc-band li{ font-size:15px; font-weight:300; }

/* 상세 페이지 버튼 */
.b-buy, .btn-primary, button[type="submit"], .wp-block-button__link{
  background:var(--o-accent) !important; color:#fff !important; border:0 !important;
  font-weight:500; font-size:16px; border-radius:6px;
}
.b-buy:hover, .btn-primary:hover, button[type="submit"]:hover{ background:var(--o-accent-dark) !important; }
.b-ghost, .btn-secondary{ background:var(--o-white); color:var(--o-ink); border:1px solid var(--o-ink); font-weight:500; border-radius:6px; }
.p-foot span{ font-size:13px; font-weight:300; color:var(--o-gray); }

/* 상세 사양표 */
table.cmp th{ font-size:14px; font-weight:500; color:var(--o-ink); background:var(--o-bg); }
table.cmp td{ font-size:15px; font-weight:300; color:var(--o-ink-2); }
table.cmp{ border-color:var(--o-line); }

/* SEO 디버그 토글 (관리자 전용) */
.seotoggle{ background:var(--o-ink) !important; color:#fff !important; border-color:var(--o-ink) !important; }
.seotoggle:hover{ background:var(--o-accent) !important; }
body.seo-on .seo b{ color:var(--o-accent) !important; }
body.seo-on .seo i{ color:var(--o-gray) !important; }
body.seo-on [data-seo]{ outline-color:var(--o-accent) !important; }
body.seo-on .seotoggle{ background:var(--o-accent) !important; border-color:var(--o-accent) !important; }

/* ═══ 17. 모바일 ═══════════════════════════════════════════════════ */
@media (max-width:1024px){
  .rx-category-title h2, .rx-event h2, .rx-heading, .rx-story-copy h2,
  .rx-refund h2, .rx-care>h2, .rx-location-box h2{ font-size:28px !important; }
  .rx-hero-title h1, .rx-display-title{ font-size:clamp(36px, 7vw, 52px) !important; }
  .rx-contact-big{ font-size:28px !important; }
  .rx-price{ font-size:22px !important; }
}
@media (max-width:640px){
  body{ font-size:15px; }
  .rx-category-title h2, .rx-event h2, .rx-heading, .rx-story-copy h2,
  .rx-refund h2, .rx-care>h2, .rx-location-box h2{ font-size:24px !important; }
  .rx-hero-title h1, .rx-display-title{ font-size:32px !important; letter-spacing:-1px !important; }
  .rx-hero-copy>p{ font-size:16px; }
  .rx-menu-panel nav a{ font-size:18px; }
  .rx-product h3{ font-size:15px !important; }
  .rx-price{ font-size:20px !important; }
  .rx-catalog-mark{ font-size:36px !important; }
}

/* ═══ 18. 후속 보정 ════════════════════════════════════════════════ */
/* 히어로 텍스트는 사진 위 흰색 */
.rx-hero-title h1, .rx-display-title, .rx-hero-title>p, .rx-hero-copy>p, .rx-hero h1, .rx-hero p{
  color:var(--o-white) !important;
}
/* 크림 톤(#f5f5f1) 카드 배경 → 연회색 1종으로 통일 */
.rx-care-main, .rx-care-other>a{ background:var(--o-bg) !important; }
.rx-care-main>div{ background:rgba(255,255,255,.94) !important; }
/* 남은 크림·세이지 배경 전부 */
[style*="#f5f5f1"], [style*="#f3f2eb"], [style*="#faf8f0"], [style*="#fbf6f0"], [style*="#fdf8ee"]{ background-color:var(--o-bg) !important; }
.o-hero, .o-consult{ background:var(--o-bg) !important; }

/* 제품 카드 (prd-*) 쿠쿠 카드 규격 */
.prd-name{ font-size:16px !important; font-weight:500 !important; line-height:1.5; color:var(--o-ink); }
.prd-code{ font-size:13px !important; font-weight:300 !important; color:var(--o-gray); }
.p-now b{ font-size:20px !important; }
.p-now span{ font-size:14px; font-weight:500; color:var(--o-ink); }
.prd-flag{ background:var(--o-ink) !important; color:#fff !important; border-radius:4px; }
/* 히어로 우측 카피 가독성: 섀도 + 포인트 단색 버튼 */
.rx-hero-copy, .rx-hero-copy>p{ text-shadow:0 1px 14px rgba(0,0,0,.6), 0 0 2px rgba(0,0,0,.45); }
.rx-hero-copy .rx-pill, .rx-hero .rx-pill{
  background:var(--o-accent) !important; color:#fff !important; border:0 !important;
  text-shadow:none !important; box-shadow:0 6px 18px rgba(0,0,0,.25);
}
.rx-hero-copy .rx-pill:hover, .rx-hero .rx-pill:hover{ background:var(--o-accent-dark) !important; }

/* 히어로 레이아웃: 카피를 제목 아래 좌측 한 열로 (사진 위 텍스트 겹침 제거, 좌측 정렬) */
@media (min-width:1025px){
  .rx-hero-title{ top:46% !important; }
  .rx-hero-copy{ left:23% !important; top:69% !important; right:auto !important; max-width:560px; }
  .rx-hero-copy>p{ margin-bottom:18px !important; }
}
@media (min-width:641px) and (max-width:1024px){
  .rx-hero-title{ top:44% !important; }
  .rx-hero-copy{ left:10% !important; top:72% !important; right:auto !important; max-width:520px; }
  .rx-hero-copy>p{ margin-bottom:14px !important; }
}
.rx-hero-shade,
.rx-slide[data-slide="1"] .rx-hero-shade,
.rx-slide[data-slide="2"] .rx-hero-shade{
  background:linear-gradient(90deg, rgba(39,39,39,.74) 0%, rgba(39,39,39,.46) 42%, rgba(39,39,39,.04) 100%) !important;
}

/* ═══ 19. 배송 블록 — 전국 무료배송 한 문장 ═══════════════════════ */
.ship-free{ margin:0 0 28px; padding:30px 34px; border:1px solid var(--o-line); border-radius:8px; background:var(--o-white); }
.ship-big{ margin:0 0 10px; font-size:32px; font-weight:700; line-height:1.3; letter-spacing:-0.5px; color:var(--o-ink); }
.ship-sub{ margin:0 0 18px; font-size:16px; font-weight:300; line-height:1.6; color:var(--o-ink-2); }
.ship-ex{ margin:0 0 14px; padding-top:16px; border-top:1px solid var(--o-line); font-size:15px; font-weight:300; line-height:1.6; color:var(--o-ink-2); }
.ship-ex b{ font-weight:500; color:var(--o-ink); }
.ship-free .ship-rule{ margin:0; }
@media (max-width:640px){ .ship-free{ padding:22px 20px; } .ship-big{ font-size:24px; } }

/* 홈 배송 박스: 지역 선택 제거 → 선언 + 버튼 1개 */
.rx-location-box h2{ margin:8px 0 18px !important; }
.rx-location-desc{ margin:0 0 22px; font-size:15px !important; font-weight:300 !important; line-height:1.6; text-align:center; color:rgba(255,255,255,.82) !important; }
.rx-location-search{ justify-content:center; border-bottom:0 !important; padding-bottom:0 !important; }
.rx-location-search a{ padding:13px 28px !important; font-size:16px !important; }
