/* shared/detail-sheet.css — the "learn more + book" sheet opened from an Experiences tile.
   Side panel from 768px, bottom sheet below. Native <dialog>. */
.p-sheet { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: #fef6ec; font-family: inherit; }
.p-sheet::backdrop { background: rgba(23,20,17,.72); }
.p-sheet[open] { display: block; }
.p-sheet_panel { position: absolute; left: 0; right: 0; bottom: 0; top: auto; height: 92vh; max-height: 92vh; display: flex; flex-direction: column; background: #171411; border-top: 1px solid rgba(254,246,236,.14); border-radius: 16px 16px 0 0; overflow: hidden; transform: translateY(0); }
@media (min-width: 768px) { .p-sheet_panel { top: 0; height: auto; max-height: none; left: auto; width: 520px; border-radius: 0; border-top: 0; border-left: 1px solid rgba(254,246,236,.14); } }
.p-sheet_handle { display: flex; justify-content: center; padding: 10px 0 0; }
.p-sheet_handle span { width: 40px; height: 4px; border-radius: 4px; background: rgba(254,246,236,.25); }
@media (min-width: 768px) { .p-sheet_handle { display: none; } }
.p-sheet_close { position: absolute; top: 14px; right: 14px; z-index: 2; width: 44px; height: 44px; border-radius: 100px; border: 1px solid rgba(254,246,236,.35); background: rgba(23,20,17,.5); color: #fef6ec; display: flex; align-items: center; justify-content: center; cursor: pointer; }
@media (min-width: 768px) { .p-sheet_close { top: 18px; right: 18px; } }
.p-sheet_scroll { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.p-sheet_media { position: relative; height: 200px; margin: 10px 20px 0; border-radius: 10px; overflow: hidden; background: #1e1a16; }
@media (min-width: 768px) { .p-sheet_media { height: 290px; margin: 0; border-radius: 0; } }
.p-sheet_media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.p-sheet_media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,20,17,.1) 0%, rgba(23,20,17,.85) 100%); }
.p-sheet_head { position: absolute; left: 16px; right: 16px; bottom: 14px; z-index: 1; display: flex; flex-direction: column; gap: 6px; }
@media (min-width: 768px) { .p-sheet_head { left: 30px; right: 30px; bottom: 24px; gap: 8px; } }
.p-sheet_eyebrow { margin: 0; color: #efd70d; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.p-sheet_title { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 300; }
@media (min-width: 768px) { .p-sheet_title { font-size: 34px; } }
.p-sheet_body { display: flex; flex-direction: column; gap: 16px; padding: 18px 20px 24px; }
@media (min-width: 768px) { .p-sheet_body { gap: 22px; padding: 26px 30px; } }
.p-sheet_desc { margin: 0; font-size: 14px; line-height: 1.55; opacity: .65; white-space: pre-line; }
@media (min-width: 768px) { .p-sheet_desc { font-size: 15px; } }
.p-sheet_label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; opacity: .5; font-weight: 500; }
.p-sheet_rows { display: flex; flex-direction: column; gap: 8px; }
.p-sheet_row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 12px 14px; background: #1e1a16; border: 1px solid rgba(254,246,236,.1); border-radius: 10px; color: #fef6ec; text-decoration: none; }
.p-sheet_row.is-urgent { border-color: #efd70d; background: rgba(239,215,13,.03); }
.p-sheet_row.is-sold { opacity: .5; }
.p-sheet_row-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.p-sheet_row-when { font-size: 15px; font-weight: 500; }
.p-sheet_row-sub { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; opacity: .55; }
.p-sheet_row-price { font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: -.01em; color: #efd70d; }
.p-sheet_pill { display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; border-radius: 100px; background: #efd70d; color: #171411; font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.p-sheet_addons { display: flex; flex-direction: column; gap: 6px; padding-top: 10px; border-top: 1px dashed rgba(254,246,236,.12); font-size: 12.5px; }
.p-sheet_addon { display: flex; justify-content: space-between; gap: 12px; }
.p-sheet_addon span:last-child { opacity: .55; }
.p-sheet_foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 20px 22px; border-top: 1px solid rgba(254,246,236,.14); background: #171411; }
@media (min-width: 768px) { .p-sheet_foot { padding: 18px 30px; } }
.p-sheet_price { display: flex; flex-direction: column; gap: 4px; }
.p-sheet_price-amount { font-size: 20px; font-weight: 700; line-height: 1; color: #efd70d; }
.p-sheet_price-sub { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; opacity: .45; }
.p-sheet_book { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 12px 21px; border-radius: 100px; background: #efd70d; color: #171411; font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.p-sheet_link { display: inline-flex; align-items: center; gap: 6px; color: #efd70d; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; text-decoration: none; white-space: nowrap; }
.p-sheet :focus-visible { outline: 2px solid #efd70d; outline-offset: 2px; }
@media (prefers-reduced-motion: no-preference) {
  .p-sheet[open] .p-sheet_panel { animation: p-sheet-in .28s cubic-bezier(.4,0,.2,1); }
  @keyframes p-sheet-in { from { transform: translateY(24px); opacity: .6; } to { transform: translateY(0); opacity: 1; } }
  @media (min-width: 768px) { @keyframes p-sheet-in { from { transform: translateX(40px); opacity: .6; } to { transform: translateX(0); opacity: 1; } } }
}
