/* === WordPress 內容區塊 === */
.wp-block-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    margin: 30px 0;
}
.wp-block-gallery .wp-block-image {
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--line);
    margin: 0;
}
.wp-block-gallery .wp-block-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.wp-block-gallery .wp-block-image img:hover { transform: scale(1.05); }

.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin-right: 20px; margin-bottom: 10px; }
.alignright { float: right; margin-left: 20px; margin-bottom: 10px; }

/* === 分頁 === */
.nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 50px; }
.nav-links a,
.nav-links span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--radius);
    border: 1px solid var(--line);
    color: var(--dim);
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
    transition: all 0.2s ease;
}
.nav-links a:hover { border-color: var(--amber); color: var(--beam); }
.nav-links .current { background: var(--amber); border-color: var(--amber); color: var(--amber-ink); font-weight: 700; }

/* === 表單（聯絡頁等） === */
.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="tel"],
.entry-content textarea,
.entry-content select {
    width: 100%;
    background: var(--asphalt-2);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--beam);
    padding: 12px 14px;
    font: inherit;
}
.entry-content input:focus,
.entry-content textarea:focus { outline: none; border-color: var(--amber); }
.entry-content button,
.entry-content input[type="submit"] {
    background: var(--amber);
    color: var(--amber-ink);
    border: 0;
    border-radius: var(--radius);
    padding: 12px 26px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

/* === 捲軸 === */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--asphalt); }
::-webkit-scrollbar-thumb { background: var(--line); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--dim); }


/* 首頁主要分類標題可點擊 */
.section-title-link { color: inherit; text-decoration: none; display: inline-flex; align-items: baseline; gap: .35em; transition: color .2s; }
.section-title-link .arrow { color: var(--amber, #FFB020); font-size: .7em; transition: transform .2s; }
.section-title-link:hover { color: var(--amber, #FFB020); }
.section-title-link:hover .arrow { transform: translateX(4px); }

/* 關於 RN 工坊 */
.rnp-about-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; }
.rnp-about h2 { font-size: clamp(28px, 3.6vw, 42px); font-weight: 900; line-height: 1.25; margin: 10px 0 20px; }
.rnp-about p { color: #D5D8DC; line-height: 1.9; margin: 0 0 14px; }
.rnp-about .rnp-about-lead { font-size: 18px; color: var(--beam); }
.rnp-about .btn { margin-top: 12px; }
.rnp-about-points { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.rnp-about-points li { background: var(--asphalt); padding: 26px 22px; display: flex; flex-direction: column; gap: 6px; }
.rnp-about-points b { font-family: var(--f-display); font-size: 26px; color: var(--amber); letter-spacing: .04em; }
.rnp-about-points span { font-size: 14px; color: var(--dim); line-height: 1.6; }
@media (max-width: 960px) { .rnp-about-grid { grid-template-columns: 1fr; gap: 32px; } }

/* 首頁主視覺照片 */
.hero.has-photo .container { display: grid; grid-template-columns: 1fr 1.05fr; gap: 48px; align-items: center; }
.hero-visual { position: relative; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); box-shadow: 0 30px 80px rgba(0, 0, 0, .45); aspect-ratio: 4 / 3; }
.hero-photo { width: 100%; height: 100%; object-fit: cover; object-position: 30% 60%; display: block; }
@media (max-width: 960px) { .hero.has-photo .container { grid-template-columns: 1fr; gap: 28px; } .hero-visual { aspect-ratio: 16 / 10; } }
