/* Santa's Gift Shop page and the "More personalized gifts" strip (pages/js/shop.js).
   Brand: pine #0f2a22, ivory #f6efe0, berry #a3242f, brass #c9a35b. Mobile first. */
.ss-card,.ss-strip{box-sizing:border-box}
.ss-card *,.ss-strip *{box-sizing:border-box}

/* Shop page */
.ss-page{background:#ffffff;color:#16231d;font:400 17px/1.6 "Figtree","Segoe UI",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;color-scheme:light}
.ss-page *{box-sizing:border-box}
.ss-page a{color:inherit}
.ss-page :focus-visible{outline:3px solid #1d5b3d;outline-offset:3px;border-radius:6px}
.ss-page .wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.ss-page h1,.ss-page h2,.ss-page h3{font-family:"Young Serif","Iowan Old Style",Georgia,serif;font-weight:500;text-wrap:balance;margin:0;letter-spacing:-.01em}
.ss-page p{margin:0}
.ss-page .eyebrow{font:600 12px/1.2 "Figtree","Segoe UI",system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#1d5b3d}
.ss-page .skip{position:absolute;left:12px;top:-60px;background:#ffffff;color:#16231d;padding:10px 14px;border-radius:8px;z-index:50;font-weight:600}
.ss-page .skip:focus{top:12px}
.ss-page header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px}
.ss-page .brand{display:flex;align-items:baseline;gap:.45em;text-decoration:none;font-family:"Young Serif","Iowan Old Style",Georgia,serif;font-size:22px;color:#16231d}
.ss-page .brand i{font-family:"Pinyon Script","Snell Roundhand","Apple Chancery",cursive;font-style:normal;font-size:1.25em;color:#1d5b3d}
.ss-page .top-cta{font:600 15px/1 "Figtree","Segoe UI",system-ui,sans-serif;text-decoration:none;border-bottom:1px solid #c6d3cb;padding-bottom:4px;white-space:nowrap}
.ss-hero{background:#ffffff}
.ss-hero .wrap{padding-block:clamp(28px,6vw,80px) clamp(24px,4vw,48px);display:grid;gap:14px}
.ss-hero h1{font-size:clamp(36px,5.4vw,68px);line-height:1.04}
.ss-hero h1 em{font-style:italic;color:#1d5b3d}
.ss-page .lede{font-size:clamp(17px,1.6vw,20px);color:#46544d;max-width:58ch}
.ss-disclosure{max-width:62ch;border:1px solid #6f5d35;background:#f3f6f4;border-radius:10px;padding:10px 14px;font-size:15px;line-height:1.5;color:#16231d}
.ss-disclosure b{font-weight:600}
.ss-list .wrap{padding-block:8px 40px}
.ss-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.ss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.ss-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ss-empty{background:#ffffff;color:#16231d;border-radius:10px;padding:22px;max-width:620px}
.ss-how .wrap{padding-block:8px 56px;display:grid;gap:12px;max-width:820px;margin-left:0}
@media (min-width:1180px){.ss-how .wrap{margin-left:auto}}
.ss-how h2{font-size:clamp(26px,3vw,34px)}
.ss-how ul{margin:0;padding-left:20px;display:grid;gap:6px;color:#46544d}
.ss-own{color:#46544d}
.ss-own a{color:#16231d;text-decoration-color:#1d5b3d;text-underline-offset:3px}
.ss-page footer{border-top:1px solid #dde3df;padding-block:28px 56px;color:#46544d;font-size:13px}
.ss-page footer .wrap{display:grid;gap:10px}
.ss-page footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.ss-page footer nav a{color:#16231d;text-decoration-color:#1d5b3d;text-underline-offset:3px}
.ss-page footer nav a[aria-current]{text-decoration-color:#1d5b3d}
.ss-page .cc-link{background:none;border:0;padding:4px 0;margin:0;font:inherit;color:#16231d;text-decoration:underline;text-decoration-color:#1d5b3d;text-underline-offset:3px;cursor:pointer}

/* Cards (shop page and strip) */
.ss-card{background:#ffffff;color:#16231d;border:1px solid #c6d3cb;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.ss-pic{aspect-ratio:4/3;background:#f3f6f4;overflow:hidden}
.ss-pic img{display:block;width:100%;height:100%;object-fit:cover}
.ss-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.ss-who{font:600 12px/1.2 "Figtree","Segoe UI",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#1d5b3d;margin:0}
.ss-card h3{font-family:"Young Serif","Iowan Old Style",Georgia,serif;font-weight:500;font-size:22px;line-height:1.2;color:#16231d;margin:0}
.ss-card p{margin:0;font-size:15px;line-height:1.55;color:#3d372e}
.ss-card .ss-price{font-weight:600;color:#16231d}
.ss-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.3em;border-radius:999px;background:#b3202b;color:#fff!important;text-decoration:none;font:600 16px/1.1 "Figtree","Segoe UI",system-ui,sans-serif;text-align:center}
.ss-btn:hover{background:#931821}
.ss-btn:focus-visible{outline:3px solid #1d5b3d;outline-offset:3px}

/* Strip: thanks page, Santa page, free letter "Check your email" */
.ss-strip{margin:36px 0 8px;background:#f3f6f4;color:#16231d;border:1px solid #dde3df;border-radius:14px;padding:20px 16px;display:grid;gap:12px;font-family:"Figtree","Segoe UI",system-ui,sans-serif;text-align:left}
@media (min-width:640px){.ss-strip{padding:24px}}
.ss-strip .ss-eyebrow{font:600 12px/1.2 "Figtree","Segoe UI",system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#1d5b3d;margin:0}
.ss-strip h2{font-family:"Young Serif","Iowan Old Style",Georgia,serif;font-weight:500;font-size:clamp(24px,3vw,30px);line-height:1.15;color:#16231d;margin:0}
.ss-strip .ss-disc{font-size:14px;line-height:1.5;color:#46544d;margin:0}
.ss-strip .ss-grid{gap:14px}
@media (min-width:640px){.ss-strip .ss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.ss-strip .ss-grid.n3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ss-strip .ss-card h3{font-size:19px}
.ss-strip .ss-all{color:#16231d;font-size:15px;text-decoration-color:#1d5b3d;text-underline-offset:3px;justify-self:start}
.paper .ss-strip{margin:18px 0 0}

/* /texts: Santa's text reminders (pages/texts.html, pages/js/texts.js) */
.tx-band .wrap{padding-block:8px 56px}
.tx-paper{background:#ffffff;color:#16231d;border-radius:12px;border:1px solid #c6d3cb;padding:clamp(18px,4vw,30px);display:grid;gap:14px;max-width:560px}
.tx-paper label{display:grid;gap:6px;font:600 14px/1.3 "Figtree","Segoe UI",system-ui,sans-serif;color:#46544d}
.tx-paper input[type=tel],.tx-paper input[type=email]{min-height:50px;border:1px solid #dde3df;border-radius:10px;padding:10px 12px;font:500 17px "Figtree",system-ui,sans-serif;background:#fff;color:#16231d;min-width:0;width:100%}
.tx-paper .tx-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13.5px;line-height:1.5;color:#3d372e}
.tx-paper .tx-check input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:#b3202b}
.tx-paper a{color:#b3202b}
.tx-note{margin:0;background:#f3f6f4;border-left:3px solid #c6d3cb;border-radius:6px;padding:10px 12px;font-size:15px;line-height:1.5;color:#16231d}
.tx-btn{border:0;cursor:pointer;width:100%;min-height:54px;font-size:17px}
.tx-btn[disabled]{opacity:.6;cursor:default}
.tx-msg{margin:0;font-size:15px;min-height:1em;color:#16231d}
.tx-msg.err{color:#b3202b;font-weight:600}
.tx-done{display:grid;gap:10px;outline:none}
.tx-done h2{margin:0;font:500 26px/1.2 "Young Serif",Georgia,serif;color:#16231d}
.tx-done h2::before{content:"\2713";display:inline-grid;place-items:center;width:30px;height:30px;margin-right:10px;border-radius:50%;background:#ffffff;color:#16231d;font:700 16px/1 "Figtree",system-ui,sans-serif;vertical-align:4px}
.tx-done p{margin:0;font-size:15px;line-height:1.5;color:#3d372e}
.tx-done .tx-next{display:flex;align-items:center;justify-content:center;min-height:52px;text-align:center;text-decoration:none;color:#fff;margin-top:4px;padding:0 16px}
.tx-small{margin:0;font-size:13px;line-height:1.5;color:#46544d}
.tx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ss-texts{margin:22px 0 0;font:400 15px/1.5 "Figtree","Segoe UI",system-ui,sans-serif;color:#46544d}
.ss-texts a{color:#16231d;text-decoration-color:#1d5b3d;text-underline-offset:3px;font-weight:600}
.paper .ss-texts{color:#46544d}
.paper .ss-texts a{color:#b3202b}

/* "Frame Santa's letter": their letter in a wood frame and mat */
.ss-mock{position:relative;background:#ffffff}
.ss-wood{position:absolute;top:7%;height:86%;left:50%;transform:translateX(-50%);aspect-ratio:612/792;background:#4a3424;padding:3.5%;box-shadow:0 14px 28px -12px rgba(22,35,29,0.22),inset 0 0 0 2px #6e5037;border-radius:2px;box-sizing:border-box}
.ss-mat{background:#fbf7ec;padding:7%;height:100%;box-shadow:inset 0 1px 3px rgba(22,35,29,0.09);box-sizing:border-box}
.ss-mat img{display:block;width:100%;height:100%;object-fit:contain;background:#f7efdc}
.ss-frame .ss-note{font-size:14px;color:#46544d}
.ss-consent{display:grid;gap:10px;margin-top:4px}
.ss-consent label{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;color:#16231d}
.ss-consent input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:#b3202b}
.ss-small{margin:0;font-size:13px;line-height:1.5;color:#46544d}
.ss-btn[disabled]{opacity:.55;cursor:default}
.ss-btn.ss-ghost{background:transparent;color:#b3202b!important;border:1px solid #b3202b}
.ss-dl{font-size:14px;color:#b3202b;text-underline-offset:3px}
button.ss-btn{border:0;cursor:pointer}
