/* Gift selection editorial: scoped, full photographs, native details. */
.gb-main { --gb-ink:#352c22; --gb-muted:#665a4c; --gb-green:#3f593c; color:var(--gb-ink); background:#fffdf9; line-height:1.9; }
body:has(.gb-main) .hibou-breadcrumb { display:flex; flex-wrap:wrap; }
.gb-main header { position:static; inset:auto; z-index:auto; background:transparent; backdrop-filter:none; border:0; box-shadow:none; transition:none; }
.gb-main * { box-sizing:border-box; }
.gb-main [id] { scroll-margin-top:110px; }
.gb-wrap { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.gb-section { padding-block:76px; }
.gb-soft { background:#f5f1e8; }
.gb-kicker { color:var(--gb-green); font-size:.8rem; font-weight:600; letter-spacing:.12em; margin:0 0 15px; }
.gb-main h1,.gb-main h2,.gb-main h3 { font-family:var(--serif,'Noto Serif TC',serif); font-weight:500; text-wrap:balance; }
.gb-main h1 { font-size:clamp(2.25rem,3.65vw,3.5rem); line-height:1.5; margin:0 0 24px; letter-spacing:.01em; }
.gb-main h2 { font-size:clamp(1.65rem,2.5vw,2.15rem); line-height:1.6; margin:0 0 18px; }
.gb-main h3 { font-size:1.22rem; line-height:1.65; margin:0 0 12px; }
.gb-main p { margin:0 0 18px; }
.gb-main strong { font-weight:600; }
.gb-hero { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding-block:54px 66px; }
.gb-lead { max-width:31em; font-size:1.08rem; color:var(--gb-muted); }
.gb-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-top:24px; }
.gb-main a { color:var(--gb-green); text-underline-offset:.22em; }
.gb-links a,.gb-original,.gb-contact a { display:inline-flex; align-items:center; min-height:48px; padding-block:8px; white-space:normal; }
.gb-main .gb-primary { color:#fffdf7; background:var(--gb-green); border-radius:5px; padding:12px 22px; text-decoration:none; font-weight:600; }
.gb-main a:focus-visible,.gb-main summary:focus-visible { outline:3px solid #385436; outline-offset:5px; }
.gb-photo { margin:0; min-width:0; }
.gb-photo picture,.gb-card picture { display:block; }
.gb-photo img,.gb-card img { display:block; width:100%; height:auto; object-fit:contain; border-radius:3px; }
.gb-photo figcaption { color:var(--gb-muted); font-size:.8rem; line-height:1.8; margin-top:12px; }
.gb-heading { max-width:730px; margin-bottom:32px; }
.gb-heading>p:last-child { color:var(--gb-muted); }
.gb-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gb-main .gb-card { display:flex; flex-direction:column; min-width:0; color:var(--gb-ink); text-decoration:none; background:#fffdf9; border:1px solid #ddd4c5; border-radius:5px; }
.gb-card:hover { box-shadow:0 6px 20px #493a2610; border-color:#8b9b7b; }
.gb-card-body { padding:24px; display:flex; flex-direction:column; flex:1; }
.gb-card-body .gb-kicker { font-size:.73rem; letter-spacing:.07em; }
.gb-card-body>p:not(.gb-kicker) { color:var(--gb-muted); font-size:.91rem; }
.gb-card-body .pc-price { margin-top:auto; color:var(--gb-green); font-size:1.2rem; font-family:var(--serif); }
.gb-card-body .pc-price::before { content:none; }
.gb-card-note { font-size:.77rem; color:var(--gb-muted); margin:10px 0 16px; line-height:1.8; }
.gb-card-action { font-weight:600; color:var(--gb-green); min-height:44px; display:flex; align-items:center; border-top:1px solid #e7dfd1; padding-top:12px; }
.gb-main .gb-price-note { font-size:.85rem; color:var(--gb-muted); margin:24px 0 0; }
.gb-editorial-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.gb-editorial-grid p,.gb-pack-layout p { color:var(--gb-muted); }
.gb-people { border-top:1px solid #ded5c5; margin-top:28px; padding-top:28px; }
.gb-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; font-size:.9rem; color:var(--gb-muted); }
.gb-pack-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:55px; align-items:start; }
.gb-pack-photo { margin-top:20px; }
.gb-archive { margin-top:25px; border-block:1px solid #d8cebb; }
.gb-main summary { cursor:pointer; min-height:48px; padding:15px 4px; color:var(--gb-green); font-weight:600; }
.gb-archive .gb-photo { max-width:430px; margin:10px auto 0; }
.gb-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; list-style:none; padding:0; margin:0; }
.gb-step-number { display:block; font-family:var(--serif); font-size:2rem; color:#7a805c; border-top:1px solid #d8cebb; padding-top:15px; margin-bottom:12px; }
.gb-steps p { color:var(--gb-muted); font-size:.95rem; }
.gb-care-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px 44px; color:var(--gb-muted); }
.gb-care-grid strong { display:block; color:var(--gb-ink); margin-bottom:6px; }
.gb-faq { max-width:900px; }
.gb-faq h2 { margin-bottom:26px; }
.gb-faq details { border-top:1px solid #ddd4c5; }
.gb-faq details:last-child { border-bottom:1px solid #ddd4c5; }
.gb-faq details p { color:var(--gb-muted); padding:0 24px 12px; }
.gb-contact { background:#e5ebdf; padding-block:58px; }
.gb-contact .gb-wrap { max-width:850px; }
.gb-contact p:not(.gb-kicker) { max-width:650px; color:var(--gb-muted); }
@media(max-width:850px) {
 .gb-wrap { width:calc(100% - 40px); }
 .gb-hero { gap:28px; }
 .gb-product-grid { gap:16px; }
 .gb-card-body { padding:18px; }
 .gb-pack-layout { gap:30px; }
}
@media(max-width:650px) {
 .gb-wrap { width:calc(100% - 36px); }
 .gb-section { padding-block:48px; }
 .gb-hero { grid-template-columns:1fr; padding-block:22px 42px; gap:25px; }
 .gb-hero-photo { grid-row:1; }
 .gb-main h1 { font-size:2rem; }
 .gb-main h2 { font-size:1.55rem; }
 .gb-lead { font-size:1rem; }
 .gb-kicker { margin-bottom:10px; }
 .gb-product-grid,.gb-editorial-grid,.gb-three,.gb-pack-layout,.gb-steps,.gb-care-grid { grid-template-columns:1fr; gap:26px; }
 .gb-card-body { padding:22px; }
 .gb-heading { margin-bottom:26px; }
 .gb-people { margin-top:15px; }
 .gb-three { gap:8px; }
 .gb-pack-photo { margin:0; }
 .gb-faq details p { padding-inline:4px; }
 .gb-main summary { line-height:1.7; }
 .gb-links { align-items:flex-start; }
}
