/* Seascape — 活動 Landing Page（區塊版）
 * 版型規格見 ai-simple-editing/docs/PROMO-LANDING-LAYOUT.md。
 * 內容全用 Gutenberg 核心區塊＋下列 class，同事可在後台／REST 換圖文，不需在內容放 CSS。
 * Hero cover 與內容 group 都加 class `eb-promo` 才會載入本檔（inc/enqueue.php）。
 */
.eb-promo { --eb-blue:#083d5d; --eb-ink:#123044; --eb-gold:#c59a48; --eb-soft:#f4efe6; color:var(--eb-ink); }
.eb-promo * { box-sizing:border-box; }
.ss-main:has(.eb-promo) { padding-top:0; }
.eb-promo a { text-decoration:none; }

/* Hero：沿用主題 .ss-hero，只補金色／ghost 按鈕與左側加深漸層 */
.eb-promo.ss-hero::after { background:linear-gradient(90deg, rgba(7,24,38,.74) 0%, rgba(7,24,38,.46) 42%, rgba(7,24,38,.18) 100%); }
.eb-promo.ss-hero .ss-display { max-width:760px; }
.eb-promo.ss-hero .ss-hero__sub { max-width:860px; }
.eb-promo.ss-hero__cta { flex-wrap:wrap; gap:12px; }
.eb-promo.ss-hero .wp-block-button.ss-btn { padding:0; border:0; background:none; }
.eb-promo.ss-hero .wp-block-button.eb-btn-gold .wp-block-button__link { background:var(--eb-gold); color:#111; border:1px solid var(--eb-gold); }
.eb-promo.ss-hero .wp-block-button.eb-btn-gold .wp-block-button__link:hover { background:#b88f39; border-color:#b88f39; }
.eb-promo.ss-hero .wp-block-button.eb-btn-ghost .wp-block-button__link { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.82); }
.eb-promo.ss-hero .wp-block-button.eb-btn-ghost .wp-block-button__link:hover { background:#fff; color:var(--eb-blue); }
/* 內容比視窗高（手機、矮視窗）時，主題 cover 的 inner container（absolute＋垂直置中）會讓內容上下溢出，
 * eyebrow 被推到固定 Header 底下。活動 Hero 改回文件流：短內容仍在 100vh 內置中，長內容則讓 Hero 隨內容長高。 */
.eb-promo.ss-hero.wp-block-cover .wp-block-cover__inner-container { position:relative; inset:auto; min-height:inherit; }

.eb-promo.eb-wrap { width:min(1120px,100%); margin:0 auto; padding:72px 24px; }
.eb-promo.eb-wrap > * + * { margin-block-start:0; }
.eb-promo h2.eb-title { margin:0 0 28px; color:var(--eb-blue); font-size:clamp(28px, 3.2vw, 42px); line-height:1.2; letter-spacing:0; }
.eb-promo .eb-overview { margin-bottom:74px; }
/* 主題 anchor-nav 會把頁內導覽插在第一個 section 前，標題需與導覽列留距 */
.eb-promo .ss-anchornav + .eb-overview { padding-top:56px; }

/* icon：用 class 指定，icon 由 CSS mask 繪製，內容不用放 SVG */
.eb-promo [class*="eb-icon--"]::before { content:""; display:block; background:currentColor; -webkit-mask:var(--eb-icon) center / contain no-repeat; mask:var(--eb-icon) center / contain no-repeat; }
.eb-promo .eb-icon--plan { --eb-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6.5 9 4l6 2.5L21 4v13.5L15 20l-6-2.5L3 20z'/%3E%3Cpath d='M9 4v13.5M15 6.5V20'/%3E%3C/svg%3E"); }
.eb-promo .eb-icon--island { --eb-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20.2' cy='3.8' r='1.8'/%3E%3Cpath d='M2.2 21c2.2-4 5.6-6 9.8-6s7.6 2 9.8 6'/%3E%3Cpath d='M10.8 15.3C10.9 11.4 10.2 8.2 8.6 5.8'/%3E%3Cpath d='M8.6 5.8C9.4 4.2 10.5 3.3 12 3M8.6 5.8c2.4-1 4.7-.6 6.6 1.2M8.6 5.8c-2.4-1-4.7-.6-6.6 1.2M8.6 5.8c1.9.3 3.4 1.3 4.5 3M8.6 5.8c-1.9.3-3.4 1.3-4.5 3'/%3E%3C/svg%3E"); }
.eb-promo .eb-icon--advisor { --eb-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c.6-4.2 3.8-7 8-7s7.4 2.8 8 7'/%3E%3Cpath d='M4.5 10V8a7.5 7.5 0 0 1 15 0v2'/%3E%3C/svg%3E"); }
.eb-promo .eb-icon--calendar { --eb-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M8 3v4M16 3v4M4 10h16M9 15l2 2 4-4'/%3E%3C/svg%3E"); }
.eb-promo .eb-icon--gift { --eb-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='12' rx='2'/%3E%3Cpath d='M3 12h18M12 8v12M12 8S9.8 4.3 7.5 4C6.3 3.8 5.3 4.6 5.3 5.8S6.3 8 7.5 8M12 8s2.2-3.7 4.5-4c1.2-.2 2.2.6 2.2 1.8S17.7 8 16.5 8'/%3E%3C/svg%3E"); }

/* 置中 icon 帶 */
.eb-promo .eb-intro-strip { gap:20px; margin:0; padding:48px 36px; background:var(--eb-soft); border-radius:14px; text-align:center; }
.eb-promo .eb-intro-item { padding:0 12px; color:var(--eb-blue); }
.eb-promo .eb-intro-item::before { width:62px; height:62px; margin:9px auto 27px; }
.eb-promo .eb-intro-item h3 { margin:0 0 12px; color:#001f38; font-size:21px; line-height:1.45; letter-spacing:0; }
.eb-promo .eb-intro-item p { margin:0; color:#465f76; font-size:16px; line-height:1.85; }

/* 優惠框 */
.eb-promo .eb-offer-box { gap:48px; align-items:center; margin:26px 0 0; padding:48px 46px; border-radius:14px; background:var(--eb-blue); color:#fff; }
.eb-promo .eb-offer-box > .wp-block-column:first-child { flex:0 0 300px; }
.eb-promo .eb-offer-box__photo { width:min(300px,100%); margin:0 auto; padding:13px 13px 40px; background:#fff; border-radius:3px; box-shadow:0 20px 46px rgba(0,0,0,.3); transform:rotate(-3deg); }
.eb-promo .eb-offer-box__photo img { display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; }
.eb-promo .eb-offer-box h3 { margin:0 0 10px; color:#fff; font-size:27px; letter-spacing:0; }
.eb-promo .eb-offer-box p { margin:0 0 6px; color:rgba(255,255,255,.86); font-size:17px; }
.eb-promo .eb-offer-box p.eb-offer-box__deadline { margin:0 0 24px; color:#f0c87a; font-size:16px; font-weight:800; }
.eb-promo .eb-offer-chips { display:flex; flex-wrap:wrap; gap:16px; }
.eb-promo .eb-offer-chip { position:relative; flex:1 1 280px; margin:0; padding:18px 26px 18px 88px; border-radius:8px; background:linear-gradient(135deg, #fdfbf6 0%, #dde6ec 100%); color:#fff; }
.eb-promo .eb-offer-chip::after { content:""; position:absolute; left:26px; top:50%; width:46px; height:46px; margin-top:-23px; border-radius:50%; background:var(--eb-gold); z-index:0; }
.eb-promo .eb-offer-chip::before { position:absolute; left:37px; top:50%; width:24px; height:24px; margin-top:-12px; z-index:1; }
.eb-promo .eb-offer-chip > p { margin:0; color:#5b7285; font-size:13px; font-weight:800; letter-spacing:.08em; }
.eb-promo .eb-offer-chip > p + p { margin-top:2px; color:var(--eb-blue); font-size:20px; font-weight:850; letter-spacing:0; line-height:1.4; }
.eb-promo .eb-offer-box p.eb-offer-note { margin:20px 0 0; color:rgba(255,255,255,.68); font-size:14px; }

/* 行程卡片區 */
.eb-promo .eb-section { margin:0; padding:62px 0; border-top:1px solid rgba(18,48,68,.12); }
.eb-promo .eb-section h2 { scroll-margin-top:130px; }
.eb-promo .eb-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; align-items:stretch; }
.eb-promo .eb-grid > * { margin:0; }
.eb-promo .eb-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid rgba(18,48,68,.12); border-radius:8px; background:#fff; box-shadow:0 16px 46px rgba(18,48,68,.08); }
.eb-promo .eb-card > * { margin:0; }
.eb-promo .eb-card__media { position:relative; aspect-ratio:4 / 3; overflow:hidden; background:#d9e4e4; }
.eb-promo .eb-card__media a, .eb-promo .eb-card__media img { display:block; width:100%; height:100%; }
.eb-promo .eb-card__media img { object-fit:cover; transition:transform .45s ease; }
.eb-promo .eb-card:hover .eb-card__media img { transform:scale(1.045); }
.eb-promo .eb-card__media figcaption { position:absolute; left:12px; right:12px; bottom:12px; margin:0; padding:9px 10px; border-radius:4px; background:rgba(7,28,43,.72); color:#fff; font-size:13px; font-weight:750; line-height:1.45; text-align:left; backdrop-filter:blur(8px); }
.eb-promo .eb-card__body { display:flex; flex-direction:column; flex:1; padding:20px; }
.eb-promo .eb-card__body > * { margin:0; }
.eb-promo .eb-card h3 { color:var(--eb-blue); font-size:20px; line-height:1.4; letter-spacing:0; }
.eb-promo .eb-card h3 a { color:inherit; }
.eb-promo .eb-card__price { margin:14px 0 18px; padding:14px 16px; border:1px solid rgba(143,102,32,.22); border-radius:6px; background:#fff8ea; color:#8f6620; }
.eb-promo .eb-card__price > p { margin:0; font-size:12px; font-weight:850; letter-spacing:.1em; }
.eb-promo .eb-card__price > p + p { margin-top:3px; color:#7d571a; font-size:20px; line-height:1.25; letter-spacing:0; }
.eb-promo .eb-card__details { margin:0; padding:18px; background:var(--eb-soft); border-radius:6px; }
.eb-promo .eb-card__details > p { margin:0 0 14px; color:var(--eb-blue); font-size:13px; font-weight:850; letter-spacing:.08em; }
.eb-promo .eb-card__details ul { margin:0; padding:0; list-style:none; color:#405c6e; font-size:14px; line-height:1.65; }
.eb-promo .eb-card__details li { display:grid; grid-template-columns:46px minmax(0,1fr); gap:10px; align-items:start; padding:9px 0; border-top:1px solid rgba(8,61,93,.1); }
.eb-promo .eb-card__details li:first-child { border-top:0; padding-top:0; }
.eb-promo .eb-card__details li:last-child { padding-bottom:0; }
/* 清單每行開頭的粗體字（例：<strong>住宿</strong>）顯示成標籤 */
.eb-promo .eb-card__details li > strong:first-child { display:inline-flex; align-items:center; justify-content:center; min-height:24px; padding:2px 8px; border-radius:999px; background:#fff; color:var(--eb-blue); font-size:12px; font-weight:850; }
.eb-promo .eb-card__details li > strong:first-child + * { min-width:0; }

@media (max-width: 980px) {
	.eb-promo .eb-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
	.eb-promo .eb-offer-box { flex-direction:column; gap:36px; }
	.eb-promo .eb-offer-box > .wp-block-column:first-child { flex-basis:auto; width:100%; }
}
@media (max-width: 781px) {
	.eb-promo .eb-intro-strip { flex-direction:column; }
	/* 手機 Header 下方再留 safe-area 與 24px，日期 eyebrow 不貼齊 Header */
	.eb-promo.ss-hero.wp-block-cover .ss-hero__inner { padding-top:calc(var(--header-h) + env(safe-area-inset-top, 0px) + 24px); }
}
@media (max-width: 640px) {
	.eb-promo.ss-hero::after { background:linear-gradient(180deg, rgba(7,24,38,.64) 0%, rgba(7,24,38,.42) 48%, rgba(7,24,38,.72) 100%); }
	.eb-promo.eb-wrap { padding:52px 18px; }
	.eb-promo .ss-anchornav + .eb-overview { padding-top:40px; }
	.eb-promo .eb-grid { grid-template-columns:1fr; }
	.eb-promo .eb-intro-strip { padding:36px 24px; }
	.eb-promo .eb-offer-box { padding:36px 24px; }
}
