/* Shared Sassiverse Adventure Map cards — review prototype.
   Use .sv-adventure-grid and .sv-adventure-card on any bookshelf map.
   Theme per book via --sv-map-accent, --sv-map-tint, --sv-map-ink. */
.sv-adventure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;width:min(1120px,100%);margin:0 auto}
.sv-adventure-card{--sv-map-accent:var(--sv-map-accent-default,#315a45);--sv-map-tint:var(--sv-map-tint-default,#fff5cb);--sv-map-ink:var(--sv-map-ink-default,#263d32);box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:330px;padding:2rem;text-align:center;text-decoration:none;color:var(--sv-map-ink);background:linear-gradient(145deg,var(--sv-map-tint),#fffdf8);border:1px solid color-mix(in srgb,var(--sv-map-accent) 22%,transparent);border-radius:26px;box-shadow:0 10px 26px rgba(36,49,40,.10);transition:transform 180ms ease,box-shadow 180ms ease}
.sv-adventure-card:hover,.sv-adventure-card:focus-visible{transform:translateY(-5px);box-shadow:0 16px 36px rgba(36,49,40,.17)}
.sv-adventure-card:focus-visible{outline:3px solid var(--sv-map-accent);outline-offset:3px}
.sv-adventure-card__icon{display:block;margin:.25rem 0 1rem;font-size:3rem;line-height:1.2}
.sv-adventure-card h3{margin:0 0 .8rem;color:var(--sv-map-accent);font-size:1.35rem;line-height:1.3}
.sv-adventure-card__thought{margin:0 0 .85rem;font-weight:650;font-style:italic;line-height:1.5;color:var(--sv-map-ink)}
.sv-adventure-card__description{margin:0;color:var(--sv-map-ink);opacity:.85;line-height:1.65}
.sv-adventure-card__action{display:inline-flex;align-self:center;margin-top:auto;padding-top:1.5rem;color:var(--sv-map-accent);font-size:.85rem;font-weight:800}
@media(max-width:900px){.sv-adventure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sv-adventure-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.sv-adventure-card{min-height:260px;padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.sv-adventure-card{transition:none}.sv-adventure-card:hover,.sv-adventure-card:focus-visible{transform:none}}

/* Shared adapters: legacy map markup keeps its original links and wording. */
.sv-adventure-grid:is(.parachute-map-grid,.sunny-adventure-grid,.seats-map-grid,.gate-marker-grid,.fence-book-chapter-grid,.mirror-map__grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;width:min(1120px,100%);margin-left:auto;margin-right:auto}
.sv-adventure-card:is(.parachute-map-card,.sunny-adventure-card,.gate-marker,.fence-book-chapter,.mirror-destination),.seats-map-grid .sv-adventure-card{box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:330px;padding:2rem;text-align:center;text-decoration:none;color:var(--sv-map-ink,#263d32);background:linear-gradient(145deg,var(--sv-map-tint,#fff5cb),#fffdf8);border:1px solid var(--sv-map-border,#dfd5bd);border-radius:26px;box-shadow:0 10px 26px rgba(36,49,40,.10);transition:transform 180ms ease,box-shadow 180ms ease}
.sv-adventure-card:is(.parachute-map-card,.sunny-adventure-card,.gate-marker,.fence-book-chapter,.mirror-destination):hover,.sv-adventure-card:is(.parachute-map-card,.sunny-adventure-card,.gate-marker,.fence-book-chapter,.mirror-destination):focus-within,.seats-map-grid .sv-adventure-card:hover,.seats-map-grid .sv-adventure-card:focus-within{transform:translateY(-5px);box-shadow:0 16px 36px rgba(36,49,40,.17)}
.sv-adventure-card :is(h2,h3,strong){color:var(--sv-map-accent,#315a45);line-height:1.3}
.sv-adventure-card :is(p,small){line-height:1.65}
.sv-adventure-card :is(.parachute-map-link,.sunny-map-link,a,.sv-adventure-card__action){margin-top:auto;padding-top:1.4rem;color:var(--sv-map-accent,#315a45);font-weight:800}
.sv-adventure-card .sv-adventure-card__icon{display:block;flex:none;margin:.15rem 0 1rem;font-size:3rem;line-height:1.2}
.gate-marker.sv-adventure-card>div{display:flex;flex-direction:column;align-items:center;flex:1;gap:.6rem}.gate-marker.sv-adventure-card small{display:block}.gate-marker.sv-adventure-card b{display:block;margin-top:auto;padding-top:1rem}
.sv-adventure-card:is(.parachute-map-card,.sunny-adventure-card) .sv-adventure-card__icon{order:-1}
.seats-map-grid .sv-adventure-card>span:first-child{font-size:3rem}
@media(max-width:900px){.sv-adventure-grid:is(.parachute-map-grid,.sunny-adventure-grid,.seats-map-grid,.gate-marker-grid,.fence-book-chapter-grid,.mirror-map__grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sv-adventure-grid:is(.parachute-map-grid,.sunny-adventure-grid,.seats-map-grid,.gate-marker-grid,.fence-book-chapter-grid,.mirror-map__grid){grid-template-columns:minmax(0,1fr);gap:1rem}.sv-adventure-card:is(.parachute-map-card,.sunny-adventure-card,.gate-marker,.fence-book-chapter,.mirror-destination),.seats-map-grid .sv-adventure-card{min-height:260px;padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.sv-adventure-card{transition:none!important}.sv-adventure-card:hover{transform:none!important}}
