/* The public gift pages use Tuck's existing type and colour system. The private
   page is self-contained and makes no font, analytics, or replay requests. */
.gift-page { --paper:#F4E9D8; --white:#fffaf0; --ink:#2B2A27; --green:#1F4E4A; --clay:#D96F4A; --muted:#665d53; --line:rgb(31 78 74 / 18%); --font-serif:"Literata",Georgia,serif; --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--font-sans); -webkit-font-smoothing:antialiased; }
.gift-page * { box-sizing:border-box; }
.gift-page [hidden] { display:none!important; }
.gift-page h1,.gift-page h2,.gift-page h3 { margin:0; font-family:var(--font-serif); font-weight:500; line-height:1.16; letter-spacing:-.035em; }
.gift-page h1 { font-size:clamp(36px,5vw,62px); }
.gift-page h2 { font-size:clamp(29px,3.5vw,42px); }
.gift-page h3 { font-size:23px; }
.gift-page p { margin:0; color:var(--ink); font-size:16px; line-height:1.6; }
.gift-page a { color:var(--green); text-underline-offset:3px; }
.gift-page img { max-width:100%; height:auto; }
.gift-page button,.gift-page input,.gift-page select,.gift-page textarea { font:inherit; }
.gift-page :focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.gift-skip { position:absolute; top:-100px; left:20px; z-index:10; padding:12px; background:var(--white); }
.gift-skip:focus { top:12px; }
.gift-header { width:min(100% - 40px,1120px); padding:22px 0; gap:20px; }
.gift-header .brand { gap:5px; }
.gift-header .brand-symbol { width:22px; height:22px; }
.gift-header .brand-wordmark { width:55px; height:22px; }
.gift-header .nav { margin-left:auto; width:auto; gap:22px; }
.gift-header .nav a { font-size:13px; }
.gift-main { width:min(100% - 40px,1120px); margin:0 auto; }
.gift-hero { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:55px; padding:62px 0 72px; }
.gift-eyebrow { margin:0 0 18px!important; color:var(--green)!important; font:600 11px/1.4 var(--font-sans)!important; text-transform:uppercase; letter-spacing:.13em; }
.gift-hero-copy>p:not(.gift-eyebrow) { margin-top:24px; max-width:450px; }
.gift-hero-price { display:flex; flex-direction:column; gap:4px; }
.gift-hero-price strong { font-size:29px; line-height:1.2; font-weight:500; }
.gift-hero-price span { color:var(--muted); font-size:13px; }
.gift-hero-copy .gift-button { margin-top:24px; max-width:400px; }
.gift-page .gift-small { font-size:12px; color:var(--muted); line-height:1.6; }
.gift-hero-copy .gift-small { margin-top:12px!important; }
.gift-hero-book,.gift-includes figure { margin:0; }
.gift-hero-book img { display:block; mix-blend-mode:multiply; }
.gift-page figcaption { margin-top:10px; font-size:11px; color:var(--muted); text-align:center; }
.gift-button { display:flex; width:100%; min-height:52px; align-items:center; justify-content:space-between; gap:16px; padding:14px 22px; border:1px solid var(--clay); border-radius:28px; background:var(--clay); color:var(--ink)!important; font:500 14px/1.5 var(--font-sans)!important; text-decoration:none; cursor:pointer; text-align:center; }
.gift-button:hover { background:#e38260; }
.gift-button:disabled { opacity:.55; cursor:not-allowed; }
.gift-text-button { display:inline-block; padding:11px 0; min-height:44px; border:0; background:none; color:var(--green); text-decoration:underline; text-underline-offset:3px; font-size:13px!important; cursor:pointer; }
.gift-section { padding:64px 0; border-top:1px solid var(--line); }
.gift-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; list-style:none; padding:0; margin:36px 0 0; }
.gift-steps li>span { display:block; color:var(--green); font-size:12px; margin-bottom:14px; }
.gift-steps p { margin-top:13px; font-size:14px; }
.gift-includes { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; }
.gift-includes img { display:block; border-radius:10px; }
.gift-checklist { list-style:none; margin:24px 0; padding:0; }
.gift-checklist li { padding:9px 0 9px 27px; position:relative; font-size:14px; }
.gift-checklist li::before { content:"✓"; position:absolute; left:0; color:var(--green); }
.gift-occasions { text-align:center; }
.gift-page .gift-occasions h2 { margin-inline:auto; }
.gift-occasions>p:not(.gift-eyebrow) { max-width:610px; margin:22px auto; }
.gift-occasion-list { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:28px; }
.gift-occasion-list span { padding:9px 18px; border:1px solid var(--line); border-radius:24px; color:var(--green); font-size:12px; }
.gift-purchase { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; scroll-margin-top:24px; }
.gift-purchase-intro>p:not(.gift-eyebrow) { margin-top:20px; }
.gift-privacy-note { border-left:2px solid var(--green); padding-left:20px; margin-top:34px; }
.gift-privacy-note strong { font-size:14px; font-weight:600; }
.gift-privacy-note p { margin-top:6px; font-size:13px; }
.gift-card { border:1px solid var(--line); background:var(--white); border-radius:18px; padding:32px; }
.gift-card label:not(.gift-checkbox) { display:block; margin:19px 0 7px; font-size:13px; font-weight:600; }
.gift-card label:first-child { margin-top:0; }
.gift-card label>span:not(.gift-checkbox span) { display:block; font-size:11px; font-weight:400; color:var(--muted); margin-top:2px; }
.gift-card input:not([type=checkbox]),.gift-card select,.gift-card textarea { width:100%; min-width:0; min-height:48px; padding:11px 12px; color:var(--ink); background:#fffdf7; border:1px solid #a59f92; border-radius:7px; font-size:16px; }
.gift-card textarea { display:block; resize:vertical; line-height:1.5; }
.gift-card .gift-message-count { margin-top:5px; text-align:right; color:var(--muted); font-size:11px; }
.gift-message-preview { padding:22px; background:var(--paper); border-radius:10px; margin:22px 0; }
.gift-message-preview p:last-child { white-space:pre-wrap; overflow-wrap:anywhere; font:400 18px/1.6 var(--font-serif); color:var(--green); }
.gift-page .gift-message-preview .gift-eyebrow { margin-bottom:10px!important; }
.gift-card input[aria-invalid=true] { border-color:#9c311e; }
.gift-card select { padding-right:25px; }
.gift-order-summary { border-block:1px solid var(--line); margin:25px 0 18px; padding:18px 0; }
.gift-order-summary>div { display:flex; justify-content:space-between; gap:15px; font-size:16px; }
.gift-order-summary>div span { white-space:nowrap; }
.gift-order-summary p { font-size:11px; color:var(--muted); margin-top:6px; }
.gift-card .gift-button { margin-top:22px; }
.gift-page .gift-error { margin-top:16px; padding:12px 14px; border:1px solid #d5a18f; background:#fff3ee; border-radius:7px; font-size:13px; color:#862e1b; }
.gift-page .gift-status { font-size:12px; color:var(--muted); margin-top:16px; }
.gift-status:empty { display:none; }
.gift-detail-list { margin:22px 0; padding:0; }
.gift-detail-list>div { display:grid; grid-template-columns:100px 1fr; gap:18px; padding:11px 0; border-bottom:1px solid var(--line); font-size:13px; }
.gift-detail-list dt { color:var(--muted); }
.gift-detail-list dd { margin:0; overflow-wrap:anywhere; }
#giftBuyerReview>.gift-small { margin-top:12px; }
.gift-questions { max-width:720px; margin:auto; }
.gift-questions h2 { margin-bottom:25px; }
.gift-questions details { padding:0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; }
.gift-questions summary { position:relative; padding:20px 36px 20px 0; list-style:none; cursor:pointer; font:500 15px/1.5 var(--font-sans); }
.gift-questions summary::-webkit-details-marker { display:none; }
.gift-questions summary::after { content:"+"; position:absolute; right:3px; top:18px; color:var(--green); font-size:23px; font-weight:400; }
.gift-questions details[open] summary::after { content:"−"; }
.gift-questions details p { margin:0; padding:0 30px 22px 0; font-size:14px; line-height:1.65; max-width:660px; }
.gift-footer { padding:35px 0; }
.gift-footer .footer-links { flex-wrap:wrap; gap:17px; justify-content:center; }
.gift-footer .footer-links a { font-size:12px; }
.gift-private-header { display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(100% - 40px,800px); margin:0 auto; padding:26px 0; }
.gift-private-header>a { font-size:12px; }
.gift-private-header img { display:block; }
.gift-private-main { width:min(100% - 32px,580px); margin:22px auto 60px; }
.gift-private-card { padding:36px; }
.gift-private h1 { font-size:38px; }
.gift-private h2 { font-size:24px; }
.gift-page .gift-private-lead { margin-top:18px; font-size:15px; }
#giftRecipientSetup { border-top:1px solid var(--line); margin-top:25px; padding-top:25px; }
#giftRecipientSetup>p { margin-top:10px; }
.gift-phone-row { display:grid; grid-template-columns:155px 1fr; gap:12px; }
.gift-phone-row label { margin-top:19px!important; }
.gift-card .gift-checkbox { display:flex; align-items:flex-start; gap:11px; margin:20px 0 10px; font-size:12px; font-weight:400; line-height:1.6; }
.gift-checkbox input { flex:0 0 19px; height:19px; margin:2px 0 0; accent-color:var(--green); }
.gift-private-footer { text-align:center; margin-top:24px!important; font-size:11px!important; color:var(--muted)!important; }
.gift-private-footer a { display:inline-block; margin-top:8px; }
.gift-private-summary { margin-top:22px; padding:17px 18px; background:var(--paper); border-radius:10px; }
.gift-private-summary p { font-size:13px; }
.gift-private-summary p+p { margin-top:8px; }
.gift-delivery-state { display:inline-block; padding:5px 10px; border-radius:5px; background:#e4eee7; color:var(--green); font-size:12px; }
/* Small shared placements on the current website. */
.home-book-review .home-gift { width:min(100% - 36px,1120px); display:grid; grid-template-columns:1fr 1fr; gap:45px; align-items:center; margin:auto; padding:45px 0; border-top:1px solid var(--line); }
.home-gift img { width:100%; height:auto; max-height:310px; object-fit:contain; mix-blend-mode:multiply; }
.home-gift p { margin:16px 0!important; font-size:14px!important; }
.home-gift .gift-button { max-width:370px; }
.pricing-gift { padding:28px; border:1px solid var(--line); border-radius:15px; background:var(--white); margin-top:32px; }
.pricing-gift h2 { font-size:29px; }
.pricing-gift p { margin:14px 0; font-size:15px; }
.pricing-gift .gift-button { max-width:330px; }
@media(max-width:760px) {
  .gift-header { padding:17px 0; flex-direction:row; }
  .gift-header .nav { gap:15px; flex-wrap:nowrap; }
  .gift-header .nav a { font-size:12px; }
  .gift-main { width:calc(100% - 36px); }
  .gift-hero { grid-template-columns:1fr; gap:25px; padding:15px 0 40px; }
  .gift-hero-book { grid-row:1; max-width:480px; margin:auto; }
  .gift-hero-book figcaption { font-size:10px; }
  .gift-hero h1 { font-size:38px; }
  .gift-hero-copy>p:not(.gift-eyebrow) { margin-top:18px; }
  .gift-hero-copy .gift-button { max-width:none; }
  .gift-section { padding:38px 0; }
  .gift-steps { grid-template-columns:1fr; gap:26px; margin-top:27px; }
  .gift-steps li { padding-left:42px; position:relative; }
  .gift-steps li>span { position:absolute; left:0; top:4px; }
  .gift-steps h3 { font-size:22px; }
  .gift-steps p { margin-top:8px; }
  .gift-includes { grid-template-columns:1fr; gap:25px; }
  .gift-includes>div { grid-row:1; }
  .gift-checklist { margin:19px 0; }
  .gift-occasions { text-align:left; }
  .gift-occasion-list { justify-content:flex-start; }
  .gift-purchase { grid-template-columns:1fr; gap:25px; }
  .gift-privacy-note { margin-top:22px; }
  .gift-card { padding:23px 20px; }
  .gift-footer { width:calc(100% - 36px); }
  .gift-private-main { margin-top:10px; }
  .gift-private h1 { font-size:32px; }
  .gift-private-header { padding:21px 0; }
  .gift-detail-list>div { grid-template-columns:83px 1fr; gap:10px; }
  .gift-phone-row { grid-template-columns:1fr; gap:0; }
  .home-book-review .home-gift { grid-template-columns:1fr; gap:20px; padding:34px 0; }
  .home-gift img { display:none; }
  .home-book-review .home-header .nav { gap:12px; }
  .home-book-review .home-header .nav a { font-size:11px; }
  .pricing-gift { padding:23px 20px; }
}
@media(prefers-reduced-motion:reduce) { .gift-page { scroll-behavior:auto; } }
