/* ==========================================================================
   AQUANTE — 프리미엄 싱크볼 전용 디자인 시스템
   러블리키친 기존 style.css 와 완전히 분리된 독립 스타일시트
   ver 0.1 (mockup)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */
:root {
    /* Surface */
    --aq-ink:        #14120f;   /* 딥 웜블랙 — 하이엔드 쇼룸의 기본 바탕 */
    --aq-ink-soft:   #201d19;
    --aq-paper:      #f7f5f1;   /* 웜 오프화이트 */
    --aq-paper-2:    #edeae4;
    --aq-white:      #ffffff;

    /* Type */
    --aq-text:       #14120f;
    --aq-text-mute:  #6f6960;
    --aq-text-onink: rgba(255, 255, 255, 0.92);
    --aq-mute-onink: rgba(255, 255, 255, 0.55);

    /* Accent — 스테인리스/샴페인 골드 계열 (채도 낮게) */
    --aq-accent:     #a3937a;
    --aq-accent-lt:  #c4b79e;

    /* Line */
    --aq-line:       rgba(20, 18, 15, 0.14);
    --aq-line-onink: rgba(255, 255, 255, 0.16);

    /* Type scale */
    --aq-display:  clamp(2.4rem, 6.2vw, 5.2rem);
    --aq-h2:       clamp(1.9rem, 3.6vw, 3.1rem);
    --aq-h3:       clamp(1.25rem, 2vw, 1.6rem);
    --aq-body:     clamp(0.95rem, 1.15vw, 1.05rem);

    /* Rhythm — 하이엔드의 핵심은 여백 */
    --aq-section:  clamp(6rem, 12vw, 11rem);
    --aq-gutter:   clamp(1.5rem, 5vw, 5rem);
    --aq-max:      1360px;
    --aq-max-text: 720px;

    --aq-ease:     cubic-bezier(0.22, 1, 0.36, 1);
}

/* --------------------------------------------------------------------------
   2. Base
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--aq-paper);
    color: var(--aq-text);
    font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 300;
    font-size: var(--aq-body);
    line-height: 1.85;
    letter-spacing: 0.01em;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    /* 한글은 기본값에서 음절 단위로 끊겨 '핸드메/이드'처럼 어색하게 잘린다.
       keep-all 로 어절(띄어쓰기) 단위 줄바꿈만 허용하고,
       긴 영문·URL 만 예외적으로 강제 분리한다. */
    word-break: keep-all;
    overflow-wrap: break-word;
}

img { display: block; max-width: 100%; height: auto; }
a   { color: inherit; text-decoration: none; }
ul  { margin: 0; padding: 0; list-style: none; }

h1, h2, h3, h4 {
    font-family: 'Cormorant Garamond', 'Noto Serif KR', serif;
    font-weight: 400;
    line-height: 1.28;
    letter-spacing: -0.005em;
    margin: 0;
}

/* 한글 디스플레이 — 세리프 + 얇은 굵기로 우아하게 */
.aq-ko-display {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
}

.aq-wrap {
    width: 100%;
    max-width: var(--aq-max);
    margin: 0 auto;
    padding-inline: var(--aq-gutter);
}

.aq-wrap--narrow { max-width: calc(var(--aq-max-text) + var(--aq-gutter) * 2); }

.aq-section { padding-block: var(--aq-section); }

/* 섹션 라벨 (eyebrow) */
.aq-eyebrow {
    display: inline-block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: var(--aq-accent);
    margin-bottom: 1.6rem;
}

.aq-eyebrow--onink { color: var(--aq-accent-lt); }

.aq-lead {
    max-width: var(--aq-max-text);
    color: var(--aq-text-mute);
    font-size: clamp(1rem, 1.35vw, 1.15rem);
    line-height: 2;
}

/* 얇은 구분선 */
.aq-rule {
    width: 100%;
    height: 1px;
    background: var(--aq-line);
    border: 0;
    margin: 0;
}

/* 스크롤 등장 애니메이션 (절제된 페이드업) */
.aq-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 1.1s var(--aq-ease), transform 1.1s var(--aq-ease);
}
.aq-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .aq-reveal { opacity: 1; transform: none; transition: none; }
    html { scroll-behavior: auto; }
}

/* --------------------------------------------------------------------------
   3. Header — 아콴테 전용 미니멀 헤더
   -------------------------------------------------------------------------- */
.aq-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 100;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem var(--aq-gutter);
    transition: background 0.5s var(--aq-ease), padding 0.5s var(--aq-ease),
                border-color 0.5s var(--aq-ease);
    border-bottom: 1px solid transparent;
}

/* 히어로 위에 얹힌 상태 (투명 + 흰 글씨) */
.aq-header a,
.aq-header .aq-header__mark { color: var(--aq-text-onink); }

/* 스크롤 후 */
.aq-header.is-solid {
    background: rgba(247, 245, 241, 0.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom-color: var(--aq-line);
    padding-block: 1rem;
}
.aq-header.is-solid a,
.aq-header.is-solid .aq-header__mark { color: var(--aq-text); }

.aq-header__back,
.aq-header__tel {
    font-size: 0.74rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    opacity: 0.75;
    transition: opacity 0.3s;
    white-space: nowrap;
}
.aq-header__back:hover,
.aq-header__tel:hover { opacity: 1; }

.aq-header__tel { justify-self: end; }

.aq-header__mark {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    letter-spacing: 0.5em;
    text-indent: 0.5em;   /* letter-spacing 보정 */
    font-weight: 500;
}

@media (max-width: 640px) {
    .aq-header__back span,
    .aq-header__tel span { display: none; }
    .aq-header__mark { font-size: 1rem; letter-spacing: 0.38em; }
}

/* --------------------------------------------------------------------------
   4. Hero
   -------------------------------------------------------------------------- */
.aq-hero {
    position: relative;
    min-height: 100svh;
    display: flex;
    align-items: flex-end;
    background: var(--aq-ink);
    overflow: hidden;
}

.aq-hero__media { position: absolute; inset: 0; }
.aq-hero__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0.72;
    transform: scale(1.06);
    animation: aq-hero-zoom 14s var(--aq-ease) forwards;
}
@keyframes aq-hero-zoom { to { transform: scale(1); } }

.aq-hero__media::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg,
        rgba(20,18,15,0.55) 0%,
        rgba(20,18,15,0.18) 38%,
        rgba(20,18,15,0.82) 100%);
}

.aq-hero__inner {
    position: relative;
    width: 100%;
    max-width: var(--aq-max);
    margin: 0 auto;
    padding: 0 var(--aq-gutter) clamp(4.5rem, 10vw, 8rem);
    color: var(--aq-text-onink);
}

.aq-hero__title {
    /* ch 는 숫자 0 폭 기준이라 한글에선 절반밖에 안 잡힌다 → em 기준으로 지정 */
    max-width: 17em;
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: clamp(1.9rem, 4.8vw, 4.4rem);
    line-height: 1.42;
    letter-spacing: -0.02em;
    text-wrap: balance;
}
.aq-hero__title em {
    font-style: normal;
    color: var(--aq-accent-lt);
}

.aq-hero__sub {
    margin-top: 2rem;
    max-width: 34em;
    color: var(--aq-mute-onink);
    font-size: clamp(0.95rem, 1.2vw, 1.08rem);
    line-height: 2.05;
}

.aq-hero__scroll {
    position: absolute;
    right: var(--aq-gutter);
    bottom: clamp(4.5rem, 10vw, 8rem);
    display: flex;
    align-items: center;
    gap: 0.9rem;
    font-size: 0.7rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--aq-mute-onink);
}
.aq-hero__scroll::after {
    content: '';
    width: 64px; height: 1px;
    background: var(--aq-accent-lt);
    transform-origin: left;
    animation: aq-scroll-line 2.6s var(--aq-ease) infinite;
}
@keyframes aq-scroll-line {
    0%, 100% { transform: scaleX(0.25); opacity: 0.4; }
    50%      { transform: scaleX(1);    opacity: 1; }
}

@media (max-width: 860px) { .aq-hero__scroll { display: none; } }

/* --------------------------------------------------------------------------
   5. Statement — 서브 카피
   -------------------------------------------------------------------------- */
.aq-statement { text-align: center; }

.aq-statement__text {
    max-width: 24ch;
    margin: 0 auto;
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h2);
    line-height: 1.75;
    letter-spacing: -0.02em;
    text-wrap: balance;
}

.aq-statement__desc {
    max-width: 30em;
    margin: 2.4rem auto 0;
    color: var(--aq-text-mute);
    line-height: 2.1;
}

.aq-statement__desc + .aq-statement__desc { margin-top: 2rem; }
.aq-statement__lead {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--aq-text);
    font-family: 'Noto Serif KR', serif;
    font-size: 1.06em;
    letter-spacing: 0.02em;
}
.aq-statement__sig {
    display: block;
    margin-top: 3.2rem;
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.78rem;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--aq-accent);
}

/* --------------------------------------------------------------------------
   6. Why Aquante — 에디토리얼 교차 배치
   -------------------------------------------------------------------------- */
.aq-why { background: var(--aq-white); }

.aq-why__head {
    display: flex;
    flex-direction: column;
    margin-bottom: clamp(3.5rem, 7vw, 6rem);
}
.aq-why__title {
    font-family: 'Cormorant Garamond', serif;
    font-size: var(--aq-h2);
    letter-spacing: 0.02em;
}

.aq-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
    padding-block: clamp(3rem, 7vw, 6rem);
    border-top: 1px solid var(--aq-line);
}
.aq-feature:first-of-type { border-top: 0; }

/* 짝수 블록은 이미지·텍스트 위치 반전 */
.aq-feature:nth-child(even) .aq-feature__media { order: 2; }

.aq-feature__media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--aq-paper-2);
}
.aq-feature__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 1.4s var(--aq-ease);
}
.aq-feature:hover .aq-feature__media img { transform: scale(1.04); }

.aq-feature__num {
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.8rem;
    letter-spacing: 0.35em;
    color: var(--aq-accent);
    margin-bottom: 1.4rem;
    display: block;
}

.aq-feature__title {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h3);
    line-height: 1.6;
    margin-bottom: 1.2rem;
}

.aq-feature__desc {
    color: var(--aq-text-mute);
    line-height: 2.05;
    max-width: 42ch;
}

@media (max-width: 860px) {
    .aq-feature { grid-template-columns: 1fr; gap: 2rem; }
    .aq-feature:nth-child(even) .aq-feature__media { order: 0; }
}

/* --------------------------------------------------------------------------
   7. Craft — 클로즈업 3분할 (다크)
   -------------------------------------------------------------------------- */
.aq-craft {
    background: var(--aq-ink);
    color: var(--aq-text-onink);
}
.aq-craft__head { text-align: center; margin-bottom: clamp(3rem, 6vw, 5rem); }
.aq-craft__title {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h2);
}
.aq-craft__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--aq-line-onink);
}
.aq-craft__item { background: var(--aq-ink); padding: 0; }
.aq-craft__item figure { margin: 0; }
.aq-craft__item img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    filter: grayscale(0.15) contrast(1.02);
    transition: filter 1s var(--aq-ease);
}
.aq-craft__item:hover img { filter: none; }
.aq-craft__cap {
    padding: 1.8rem 1.6rem 2.4rem;
}
.aq-craft__cap h3 {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: 1.1rem;
    margin-bottom: 0.7rem;
}
.aq-craft__cap p {
    margin: 0;
    color: var(--aq-mute-onink);
    font-size: 0.9rem;
    line-height: 1.9;
}

@media (max-width: 860px) {
    .aq-craft__grid { grid-template-columns: 1fr; }
    .aq-craft__item img { aspect-ratio: 16 / 10; }
}

/* --------------------------------------------------------------------------
   8. Gallery — 비대칭 에디토리얼 그리드
   -------------------------------------------------------------------------- */
.aq-gallery__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
    flex-wrap: wrap;
}
.aq-gallery__title {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h2);
}

.aq-gallery__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(0.6rem, 1.2vw, 1.1rem);
}
.aq-gallery__item {
    overflow: hidden;
    background: var(--aq-paper-2);
}
.aq-gallery__item img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 1.4s var(--aq-ease), opacity 0.6s;
}
.aq-gallery__item:hover img { transform: scale(1.05); }

/* 비대칭 배치 */
.aq-gallery__item--a { grid-column: span 7; aspect-ratio: 4 / 3; }
.aq-gallery__item--b { grid-column: span 5; aspect-ratio: 1 / 1; }
.aq-gallery__item--c { grid-column: span 4; aspect-ratio: 3 / 4; }
.aq-gallery__item--d { grid-column: span 8; aspect-ratio: 16 / 10; }
.aq-gallery__item--e { grid-column: span 5; aspect-ratio: 4 / 3; }
.aq-gallery__item--f { grid-column: span 7; aspect-ratio: 16 / 10; }

@media (max-width: 860px) {
    .aq-gallery__grid { grid-template-columns: repeat(2, 1fr); }
    .aq-gallery__item { grid-column: span 1 !important; aspect-ratio: 1 / 1 !important; }
    .aq-gallery__item--a { grid-column: span 2 !important; aspect-ratio: 4 / 3 !important; }
}

.aq-gallery__more { margin-top: clamp(2.5rem, 5vw, 4rem); text-align: center; }

/* --------------------------------------------------------------------------
   9. Lineup — 단일 라인 / 사이즈 옵션
   -------------------------------------------------------------------------- */
.aq-lineup { background: var(--aq-paper-2); }

.aq-lineup__head { text-align: center; margin-bottom: clamp(3rem, 6vw, 5rem); }
.aq-lineup__title {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h2);
}
.aq-lineup__note {
    max-width: 27em;
    margin: 1.6rem auto 0;
    color: var(--aq-text-mute);
    font-size: 0.94rem;
}

.aq-lineup__table {
    max-width: 880px;
    margin: 0 auto;
    border-top: 1px solid var(--aq-line);
}
.aq-lineup__row {
    display: grid;
    grid-template-columns: 1.1fr 1.6fr;
    align-items: center;
    gap: 1.5rem;
    padding: 2.1rem 0.4rem;
    border-bottom: 1px solid var(--aq-line);
    transition: padding-left 0.5s var(--aq-ease);
}
.aq-lineup__row:hover { padding-left: 1.2rem; }

.aq-lineup__model {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    letter-spacing: 0.12em;
}
.aq-lineup__size { color: var(--aq-text-mute); font-size: 0.94rem; }
.aq-lineup__price {
    justify-self: end;
    font-size: 1.02rem;
    letter-spacing: 0.02em;
}
.aq-lineup__price--ask { color: var(--aq-text-mute); }
.aq-lineup__price small {
    display: block;
    font-size: 0.78rem;
    color: var(--aq-text-mute);
    text-decoration: line-through;
    letter-spacing: 0.04em;
}

@media (max-width: 640px) {
    .aq-lineup__row { grid-template-columns: 1fr; row-gap: 0.35rem; }
}

.aq-lineup__cta { margin-top: clamp(3rem, 6vw, 4.5rem); text-align: center; }

/* --------------------------------------------------------------------------
   10. Buttons
   -------------------------------------------------------------------------- */
.aq-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1.15rem 2.6rem;
    border: 1px solid var(--aq-ink);
    background: transparent;
    color: var(--aq-ink);
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 0.82rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color 0.6s var(--aq-ease), border-color 0.6s var(--aq-ease);
}
.aq-btn::before {
    content: '';
    position: absolute; inset: 0;
    background: var(--aq-ink);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.6s var(--aq-ease);
    z-index: 0;
}
.aq-btn:hover::before { transform: scaleX(1); transform-origin: left; }
.aq-btn:hover { color: var(--aq-white); }
.aq-btn > * { position: relative; z-index: 1; }
.aq-btn span { position: relative; z-index: 1; }

.aq-btn--solid {
    background: var(--aq-ink);
    color: var(--aq-white);
}
.aq-btn--solid::before { background: var(--aq-accent); }
.aq-btn--solid:hover { color: var(--aq-ink); border-color: var(--aq-accent); }

.aq-btn--onink {
    border-color: rgba(255, 255, 255, 0.4);
    color: var(--aq-text-onink);
}
.aq-btn--onink::before { background: var(--aq-white); }
.aq-btn--onink:hover { color: var(--aq-ink); border-color: var(--aq-white); }

/* 텍스트 링크 */
.aq-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    font-size: 0.8rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--aq-text-mute);
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--aq-line);
    transition: color 0.4s, border-color 0.4s;
}
.aq-link:hover { color: var(--aq-ink); border-color: var(--aq-ink); }

/* --------------------------------------------------------------------------
   11. CTA
   -------------------------------------------------------------------------- */
.aq-cta {
    position: relative;
    background: var(--aq-ink);
    color: var(--aq-text-onink);
    text-align: center;
    overflow: hidden;
}
.aq-cta__bg { position: absolute; inset: 0; }
.aq-cta__bg img {
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0.22;
}
.aq-cta__inner { position: relative; }
.aq-cta__title {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h2);
    line-height: 1.65;
    max-width: 22ch;
    margin: 0 auto;
    text-wrap: balance;
}
.aq-cta__desc {
    max-width: 40ch;
    margin: 1.8rem auto 3rem;
    color: var(--aq-mute-onink);
}
.aq-cta__actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   12. Footer
   -------------------------------------------------------------------------- */
.aq-footer {
    background: var(--aq-ink-soft);
    color: var(--aq-mute-onink);
    padding-block: clamp(3rem, 6vw, 4.5rem);
    font-size: 0.82rem;
}
.aq-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
}
.aq-footer__mark {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem;
    letter-spacing: 0.45em;
    color: var(--aq-text-onink);
}
.aq-footer__meta { line-height: 1.9; }
.aq-footer__meta a { color: var(--aq-text-onink); }
.aq-footer__links { display: flex; gap: 1.6rem; flex-wrap: wrap; }
.aq-footer__links a { transition: color 0.3s; }
.aq-footer__links a:hover { color: var(--aq-text-onink); }

/* ==========================================================================
   DETAIL PAGE
   ========================================================================== */

/* 13. 제품 히어로 (좌 이미지 / 우 정보) ----------------------------------- */
.aq-pd {
    padding-top: clamp(7rem, 12vw, 9rem);
    padding-bottom: var(--aq-section);
}
.aq-pd__grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: start;
}

.aq-pd__gallery { position: sticky; top: 6rem; }
.aq-pd__stage {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--aq-paper-2);
}
.aq-pd__stage img { width: 100%; height: 100%; object-fit: cover; }

.aq-pd__thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
    margin-top: 0.6rem;
}
.aq-pd__thumb {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--aq-paper-2);
    border: 1px solid transparent;
    cursor: pointer;
    padding: 0;
    transition: border-color 0.4s, opacity 0.4s;
    opacity: 0.6;
}
.aq-pd__thumb img { width: 100%; height: 100%; object-fit: cover; }
.aq-pd__thumb:hover { opacity: 1; }
.aq-pd__thumb.is-active { border-color: var(--aq-accent); opacity: 1; }

.aq-pd__badge {
    display: inline-block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 0.72rem;
    letter-spacing: 0.36em;
    text-transform: uppercase;
    color: var(--aq-accent);
    margin-bottom: 1.4rem;
}
.aq-pd__name {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: clamp(1.8rem, 3.2vw, 2.7rem);
    line-height: 1.45;
    letter-spacing: -0.02em;
}
.aq-pd__tagline {
    margin-top: 1.4rem;
    color: var(--aq-text-mute);
    line-height: 2.05;
    max-width: 40ch;
}

.aq-pd__divider { margin: 2.6rem 0; }

/* 사이즈 옵션 */
.aq-pd__optlabel {
    font-size: 0.74rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--aq-text-mute);
    margin-bottom: 1.1rem;
}
.aq-pd__sizes { display: grid; gap: 0.6rem; }
.aq-pd__size {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 1.1rem 1.3rem;
    border: 1px solid var(--aq-line);
    background: transparent;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.4s, background 0.4s;
}
.aq-pd__size:hover { border-color: var(--aq-text-mute); }
.aq-pd__size.is-active {
    border-color: var(--aq-ink);
    background: var(--aq-white);
}
.aq-pd__size strong {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 1.05rem;
    letter-spacing: 0.1em;
}
.aq-pd__size em {
    font-style: normal;
    font-size: 0.86rem;
    color: var(--aq-text-mute);
}
.aq-pd__size b { font-weight: 400; font-size: 0.98rem; }

/* 가격 */
.aq-pd__pricebox { margin-top: 2.4rem; }
.aq-pd__price {
    display: flex;
    align-items: baseline;
    gap: 0.9rem;
    flex-wrap: wrap;
}
.aq-pd__price del { color: var(--aq-text-mute); font-size: 0.95rem; }
.aq-pd__price strong {
    font-weight: 400;
    font-size: clamp(1.7rem, 2.6vw, 2.1rem);
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 0.02em;
}
.aq-pd__price span { font-size: 0.95rem; }
.aq-pd__pricenote {
    margin-top: 0.9rem;
    font-size: 0.86rem;
    color: var(--aq-text-mute);
}

.aq-pd__actions {
    display: flex;
    gap: 0.8rem;
    margin-top: 2.4rem;
    flex-wrap: wrap;
}
.aq-pd__actions .aq-btn { flex: 1 1 200px; justify-content: center; }

/* 짧은 보증 정보 */
.aq-pd__assure {
    margin-top: 2.6rem;
    display: grid;
    gap: 0.75rem;
}
.aq-pd__assure li {
    display: flex;
    gap: 0.8rem;
    font-size: 0.88rem;
    color: var(--aq-text-mute);
}
.aq-pd__assure li::before {
    content: '—';
    color: var(--aq-accent);
}

@media (max-width: 900px) {
    .aq-pd__grid { grid-template-columns: 1fr; }
    .aq-pd__gallery { position: static; }
}

/* 14. 스펙 테이블 --------------------------------------------------------- */
.aq-spec { background: var(--aq-white); }
.aq-spec__head { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.aq-spec__title {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h2);
}
.aq-spec__table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid var(--aq-ink);
}
.aq-spec__table th,
.aq-spec__table td {
    padding: 1.5rem 0.4rem;
    text-align: left;
    border-bottom: 1px solid var(--aq-line);
    vertical-align: top;
    font-weight: 300;
}
.aq-spec__table th {
    width: 30%;
    color: var(--aq-text-mute);
    font-size: 0.86rem;
    letter-spacing: 0.1em;
}
.aq-spec__table td { line-height: 1.9; }

@media (max-width: 640px) {
    .aq-spec__table th { width: 38%; font-size: 0.8rem; }
    .aq-spec__table td { font-size: 0.92rem; }
}

/* 15. 상세 이미지 (긴 마케팅 이미지) -------------------------------------- */
.aq-detailimg { background: var(--aq-paper); padding-block: 0; }
.aq-detailimg__inner { max-width: 900px; margin: 0 auto; }
.aq-detailimg img { width: 100%; }

/* 16. 구성품 -------------------------------------------------------------- */
.aq-include__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1px;
    background: var(--aq-line);
    border: 1px solid var(--aq-line);
}
.aq-include__item {
    background: var(--aq-paper);
    padding: 2.4rem 1.8rem;
}
.aq-include__item h3 {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: 1.02rem;
    margin-bottom: 0.6rem;
}
.aq-include__item p {
    margin: 0;
    font-size: 0.86rem;
    color: var(--aq-text-mute);
    line-height: 1.9;
}

/* 17. 모바일 하단 고정 바 ------------------------------------------------- */
.aq-stickybar {
    position: fixed;
    inset: auto 0 0 0;
    z-index: 90;
    display: none;
    gap: 0.6rem;
    padding: 0.8rem 1rem calc(0.8rem + env(safe-area-inset-bottom));
    background: rgba(247, 245, 241, 0.95);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-top: 1px solid var(--aq-line);
}
.aq-stickybar .aq-btn {
    flex: 1;
    justify-content: center;
    padding: 0.95rem 1rem;
    font-size: 0.76rem;
}

@media (max-width: 760px) {
    .aq-stickybar { display: flex; }
    body.has-stickybar { padding-bottom: 5rem; }
}

/* 18. 목업 안내 배지 (시안 확인용 — 실제 배포 시 제거) -------------------- */
.aq-mockup-flag {
    position: fixed;
    left: 0; bottom: 0;
    z-index: 200;
    background: var(--aq-accent);
    color: #fff;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    padding: 0.45rem 0.9rem;
    font-family: 'Noto Sans KR', sans-serif;
}
@media (max-width: 760px) { .aq-mockup-flag { display: none; } }

/* --------------------------------------------------------------------------
   14. Size Guide — 하부장 규격 안내표
   (기존 싱크볼 페이지의 "싱크볼 사이즈 선택 가이드" 섹션을 이어온 것.
    데이터는 관리자 > 싱크볼 계산식)
   -------------------------------------------------------------------------- */
.aq-guide__head { text-align: center; margin-bottom: clamp(2.6rem, 5vw, 4rem); }
.aq-guide__title {
    font-family: 'Noto Serif KR', serif;
    font-weight: 300;
    font-size: var(--aq-h2);
}
.aq-guide__note {
    max-width: 27em;
    margin: 1.4rem auto 0;
    color: var(--aq-text-mute);
    font-size: 0.94rem;
}

.aq-guide__figure {
    max-width: 720px;
    margin: 0 auto clamp(2.2rem, 4vw, 3.2rem);
}
.aq-guide__figure img {
    display: block;
    width: 100%;
    height: auto;
}

.aq-guide__table {
    max-width: 880px;
    margin: 0 auto;
    border-top: 1px solid var(--aq-line);
}
.aq-guide__row {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    align-items: center;
    gap: 1.2rem;
    padding: 1.5rem 0.4rem;
    border-bottom: 1px solid var(--aq-line);
    font-size: 0.96rem;
}
.aq-guide__row--head {
    font-size: 0.8rem;
    letter-spacing: 0.14em;
    color: var(--aq-text-mute);
    padding-block: 1rem;
}
.aq-guide__model {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.28rem;
    letter-spacing: 0.12em;
}

/* 데스크톱에서는 표 머리글이 있으므로 항목 이름을 숨긴다 */
.aq-guide__label { display: none; font-style: normal; }

.aq-guide__caution {
    max-width: 880px;
    margin: 1.8rem auto 0;
    padding-top: 0.2rem;
    color: var(--aq-text-mute);
    font-size: 0.9rem;
    line-height: 1.9;
    text-align: center;
}

@media (max-width: 640px) {
    .aq-guide__row {
        grid-template-columns: 1fr;
        row-gap: 0.3rem;
        text-align: left;
    }
    .aq-guide__row--head { display: none; }
    .aq-guide__row span + span { color: var(--aq-text-mute); font-size: 0.88rem; }
    /* 표 머리글이 사라지므로 항목 이름을 값 앞에 붙여 준다 */
    .aq-guide__label { display: inline; font-style: normal; }
}
