/* 手機首頁輪播與首頁區塊：照片一層、文字一層。
   只作用在 .ajhb- 開頭的元素與首頁輪播，不影響全站。
   字級一律用 px（手機站 1rem = 10px）。
   --s：字的大小（後台設定，1 = 標準）
   --k：畫面寬 ÷ 390，字與內距跟照片一起等比例縮放
   --gap：區塊之間的距離 */

.ajhb-slide, .ajhb-fig { position: relative; display: block; }
.ajhb-slide, .ajhb-block, .ajhb-slide:hover, .ajhb-block:hover, .ajhb-slide:focus, .ajhb-block:focus { color: inherit; text-decoration: none; }
.ajhb-slide img, .ajhb-fig img { display: block; width: 100%; height: auto; }

.ajhb-cap { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; pointer-events: none;
            padding: calc(20px * var(--k, 1)) calc(20px * var(--k, 1)) calc(34px * var(--k, 1));
            font-family: "Microsoft JhengHei", "微軟正黑體", "PingFang TC", sans-serif; }
/* 輪播中間那一排要讓開左右箭頭；上排、下排跟區塊一樣貼近邊緣 */
.ajhb-slide .ajhb-cap[data-pos^="m"] { padding-left: calc(46px * var(--k, 1)); padding-right: calc(46px * var(--k, 1)); }
.ajhb-fig .ajhb-cap { padding: calc(16px * var(--k, 1)) calc(20px * var(--k, 1)); }
.ajhb-box { max-width: 100%; }

/* 九宮格位置 */
.ajhb-cap[data-pos^="t"] { align-items: flex-start; }
.ajhb-cap[data-pos^="m"] { align-items: center; }
.ajhb-cap[data-pos^="b"] { align-items: flex-end; }
.ajhb-cap[data-pos$="l"] { justify-content: flex-start; text-align: left; }
.ajhb-cap[data-pos$="c"] { justify-content: center; text-align: center; }
.ajhb-cap[data-pos$="r"] { justify-content: flex-end; text-align: right; }

/* 文字 */
.ajhb-eyebrow { margin: 0 0 calc(5px * var(--k, 1)); padding: 0; font-family: "Cormorant Garamond", serif; font-style: italic; font-weight: 400;
                font-size: calc(15px * var(--s, 1) * var(--k, 1)); line-height: 1.1; letter-spacing: .04em; }
.ajhb-title { margin: 0 0 calc(6px * var(--k, 1)); padding: 0; font-weight: 500; letter-spacing: .06em; line-height: 1.3; }
.ajhb-cap[data-size="l"] .ajhb-title { font-size: calc(28px * var(--s, 1) * var(--k, 1)); }
.ajhb-cap[data-size="m"] .ajhb-title { font-size: calc(22px * var(--s, 1) * var(--k, 1)); }
.ajhb-sub { margin: 0 0 calc(12px * var(--k, 1)); padding: 0; font-size: calc(13px * var(--s, 1) * var(--k, 1)); line-height: 1.7; letter-spacing: .02em; }
.ajhb-btn { display: inline-block; font-size: calc(12px * var(--s, 1) * var(--k, 1)); line-height: 1; letter-spacing: .1em;
            padding: calc(8px * var(--k, 1)) calc(14px * var(--k, 1)); border: 1px solid currentColor; }

/* 字色 */
.ajhb-cap[data-theme="dark"] { color: #303030; }
.ajhb-cap[data-theme="dark"] .ajhb-eyebrow { color: #8f7d47; }
.ajhb-cap[data-theme="light"] { color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.ajhb-cap[data-theme="light"] .ajhb-eyebrow { color: #e7d9ad; }

/* 漸層底：字靠左／靠右時橫向；字置中時依上／中／下縱向 */
.ajhb-cap[data-grad="on"][data-theme="dark"][data-pos$="l"] { background: linear-gradient(90deg, rgba(246,245,243,.92) 0%, rgba(246,245,243,.6) 45%, rgba(246,245,243,0) 80%); }
.ajhb-cap[data-grad="on"][data-theme="dark"][data-pos$="r"] { background: linear-gradient(270deg, rgba(246,245,243,.92) 0%, rgba(246,245,243,.6) 45%, rgba(246,245,243,0) 80%); }
.ajhb-cap[data-grad="on"][data-theme="dark"][data-pos="tc"] { background: linear-gradient(180deg, rgba(246,245,243,.92) 0%, rgba(246,245,243,.6) 35%, rgba(246,245,243,0) 65%); }
.ajhb-cap[data-grad="on"][data-theme="dark"][data-pos="bc"] { background: linear-gradient(0deg, rgba(246,245,243,.92) 0%, rgba(246,245,243,.6) 35%, rgba(246,245,243,0) 65%); }
.ajhb-cap[data-grad="on"][data-theme="dark"][data-pos="mc"] { background: radial-gradient(ellipse at center, rgba(246,245,243,.85) 0%, rgba(246,245,243,0) 70%); }
.ajhb-cap[data-grad="on"][data-theme="light"][data-pos$="l"] { background: linear-gradient(90deg, rgba(20,20,20,.6) 0%, rgba(20,20,20,.25) 45%, rgba(20,20,20,0) 80%); }
.ajhb-cap[data-grad="on"][data-theme="light"][data-pos$="r"] { background: linear-gradient(270deg, rgba(20,20,20,.6) 0%, rgba(20,20,20,.25) 45%, rgba(20,20,20,0) 80%); }
.ajhb-cap[data-grad="on"][data-theme="light"][data-pos="tc"] { background: linear-gradient(180deg, rgba(20,20,20,.6) 0%, rgba(20,20,20,.25) 40%, rgba(20,20,20,0) 70%); }
.ajhb-cap[data-grad="on"][data-theme="light"][data-pos="bc"] { background: linear-gradient(0deg, rgba(20,20,20,.6) 0%, rgba(20,20,20,.25) 40%, rgba(20,20,20,0) 70%); }
.ajhb-cap[data-grad="on"][data-theme="light"][data-pos="mc"] { background: radial-gradient(ellipse at center, rgba(20,20,20,.5) 0%, rgba(20,20,20,0) 70%); }

/* 首頁區塊 */
.ajhb-blocks { background: #fff; padding-top: var(--gap, 9px); }
.ajhb-block { display: block; margin: 0 0 var(--gap, 9px); }
.ajhb-block:last-child { margin-bottom: 0; }

/* 字放在圖下：白底、置中、一律深色字，不加漸層 */
.ajhb-below .ajhb-cap { position: static; display: block; text-align: center;
                        padding: calc(12px * var(--k, 1)) calc(16px * var(--k, 1)) calc(6px * var(--k, 1)); }
.ajhb-block .ajhb-below .ajhb-cap[data-theme][data-grad] { color: #303030; text-shadow: none; background: none; }
.ajhb-block .ajhb-below .ajhb-cap[data-theme][data-grad] .ajhb-eyebrow { color: #8f7d47; }
.ajhb-below .ajhb-cap .ajhb-title { font-size: calc(20px * var(--s, 1) * var(--k, 1)); margin-bottom: calc(4px * var(--k, 1)); }
.ajhb-below .ajhb-sub { margin-bottom: calc(10px * var(--k, 1)); color: #5c5955; }

/* 首頁輪播：上一張／下一張的點擊區只留箭頭附近，字靠邊時才不會被按到換張 */
#carousel-example-generic .carousel-control { width: 40px; top: 36%; bottom: 36%; background-image: none; }
/* 左右滑動：直向捲動交給瀏覽器，橫向交給輪播 */
#carousel-example-generic { touch-action: pan-y; }
#carousel-example-generic a, #carousel-example-generic img { -webkit-user-drag: none; user-select: none; }
