/* Gifts-only composition; approved shared typography and navigation remain authoritative. */
.page-gifts .gifts-hero{overflow:hidden;background:#123b40;min-height:420px}
.page-gifts .about-hero-inner{position:relative}
.page-gifts .about-hero-copy{position:relative;z-index:1;max-width:660px}
.page-gifts .gifts-hero-pattern{position:absolute;width:290px;height:330px;object-fit:contain;right:4%;top:50%;transform:translateY(-50%);opacity:.09;pointer-events:none}
.page-gifts .gifts-goshuin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:38px}
.page-gifts .gifts-goshuin-grid h3{font-size:19px;font-weight:400;line-height:1.7;min-height:3.4em;margin:0 0 12px}
.page-gifts .gifts-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border-radius:5px;background:#766039;color:#fff;font-size:15px;margin:0 0 20px;min-height:32px}
.page-gifts .gifts-photo-slot{min-width:0;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:#dedbd128;border:1px solid #77644538;text-align:center;color:#5b625a;font-size:14px;line-height:1.9}
.page-gifts .gifts-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center}
.page-gifts .gifts-amulet-slot{aspect-ratio:4/3}
.page-gifts .gifts-split figure{margin:0;min-width:0}
.page-gifts .gifts-split figure img{display:block;width:100%;height:auto}
.page-gifts figcaption{font-size:13px;color:#62695f;padding-top:12px}
.page-gifts .gifts-coming-list{padding-left:1.3em;line-height:2.3}
@media(max-width:700px){.page-gifts .gifts-hero{min-height:330px}.page-gifts .gifts-hero-pattern{width:195px;height:230px;right:-15px;opacity:.07}.page-gifts .gifts-goshuin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.page-gifts .gifts-goshuin-grid h3{font-size:16px;min-height:3.4em}.page-gifts .gifts-badge{font-size:13px;padding:5px 9px}.page-gifts .gifts-split{grid-template-columns:minmax(0,1fr);gap:26px}.page-gifts .gifts-photo-slot{font-size:12px}}
@media(max-width:360px){.page-gifts .gifts-goshuin-grid{grid-template-columns:minmax(0,1fr)}.page-gifts .gifts-photo-slot{aspect-ratio:4/3}.page-gifts .gifts-goshuin-grid h3{min-height:0}}

.page-gifts .gifts-goshuin-grid article{border-top:1px solid #77644555;padding:24px 0 12px}.page-gifts .gifts-goshuin-grid h3{min-height:0}.page-gifts .gifts-goshuin-note{font-size:15px;line-height:1.9;margin:0}.page-gifts .gifts-amulet-slot{position:relative;overflow:hidden}.page-gifts .gifts-amulet-slot img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.55}.page-gifts .gifts-amulet-slot span{position:relative;background:#f2eee4e8;padding:18px 25px;color:#24423e;letter-spacing:.12em}
@media(max-width:700px){.page-gifts .gifts-goshuin-grid{grid-template-columns:minmax(0,1fr);gap:10px}.page-gifts .gifts-goshuin-grid h3{font-size:19px;min-height:0}}
.page-gifts .gifts-goshuin-grid,.page-gifts .gifts-split{grid-column:1/-1}.page-gifts .gifts-split{margin-top:34px}.page-gifts .gifts-hero .about-hero-copy>p:not(.about-eyebrow){font-size:17px;line-height:1.9}

/* Edition135: bounded gifts-label hierarchy; original paragraph IDs retained. */
.page-gifts .gifts-hero .about-hero-copy>.gifts-hero-label{display:inline-block;font-size:16px;line-height:1.7;letter-spacing:.12em;border:1px solid #b7a27191;border-radius:4px;padding:8px 17px;background:#d9c48c16;color:#eee2bf;margin:4px 0 24px}
.page-gifts .gifts-goshuin-note{display:flex;flex-direction:column;gap:18px;margin:6px 0 0}
.page-gifts .gifts-opening{display:block;line-height:1.85;color:#304d46;font-size:16px;letter-spacing:.035em;min-height:1.85em}
.page-gifts .gifts-offering{display:flex;align-items:baseline;gap:22px;border-top:1px solid #77644530;padding-top:14px;max-width:300px;color:#65522f}
.page-gifts .gifts-offering-label{font-size:14px;letter-spacing:.1em}.page-gifts .gifts-offering-value{font-size:19px;letter-spacing:.08em;font-weight:400}
@media(max-width:700px){.page-gifts .gifts-hero .about-hero-copy>.gifts-hero-label{font-size:14px;padding:7px 13px;letter-spacing:.07em}.page-gifts .gifts-goshuin-note{gap:12px}.page-gifts .gifts-opening{font-size:15px}.page-gifts .gifts-offering{padding-top:12px;gap:20px;max-width:none}.page-gifts .gifts-offering-value{font-size:18px}}
/* Edition136: desktop-only name/ordinal alignment; mobile unchanged. */
@media(min-width:701px){
 .page-gifts .gifts-goshuin-grid article{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:16px;align-items:start}
 .page-gifts .gifts-goshuin-grid h3{grid-column:1;grid-row:1;margin:0 0 20px;min-width:0}
 .page-gifts .gifts-goshuin-grid .gifts-badge{grid-column:2;grid-row:1;white-space:nowrap;justify-self:end;margin:0 0 20px}
 .page-gifts .gifts-goshuin-grid .gifts-goshuin-note{grid-column:1/-1}
}
@media(min-width:701px) and (max-width:1100px){.page-gifts .gifts-goshuin-grid{grid-template-columns:minmax(0,1fr)}}

/* Edition137: mobile ordinal stays to the right, full names may wrap naturally. */
@media(max-width:700px){
 .page-gifts .gifts-goshuin-grid article{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:10px;align-items:start}
 .page-gifts .gifts-goshuin-grid h3{grid-column:1;grid-row:1;font-size:17px;line-height:1.7;margin:0 0 18px;min-width:0;overflow-wrap:break-word}
 .page-gifts .gifts-goshuin-grid .gifts-badge{grid-column:2;grid-row:1;white-space:nowrap;justify-self:end;margin:0 0 18px;font-size:12px;padding:5px 8px}
 .page-gifts .gifts-goshuin-grid .gifts-goshuin-note{grid-column:1/-1}
}
/* Edition138: badges follow the name instead of the card's far edge. */
.page-gifts .gifts-goshuin-grid article{grid-template-columns:minmax(0,max-content) max-content;justify-content:start;column-gap:12px}
.page-gifts .gifts-goshuin-grid .gifts-badge{justify-self:start}

/* E154: text/pattern hero needs no inherited building-image space on mobile. */
@media(max-width:700px){.page-gifts .gifts-hero{min-height:0;padding-top:38px;padding-bottom:36px}}

/* Gifts: no karma beneath the breadcrumb; alternating chapter colours use karma alone. */
.page-gifts .about-chapter{border-top:0}
