/* Theme "cozy" (/5/, chapter book mug — matches its landing page): warm paper page, terracotta + book-spine blue,
   Merriweather serif headings, form on the left, a polaroid-style product card and the summary on the right */
body.fn-t-cozy{--brand:#c4511f;--brand-dark:#3a2a1e;--accent:#c4511f;--accent-ink:#fff;--tint:#fbefe4;font-family:Lato,Inter,system-ui,sans-serif;color:#3a2a1e;
  background:#f7f1e6 radial-gradient(rgba(58,42,30,.035) 1px,transparent 1px) 0 0/6px 6px}
.fn-t-cozy h1,.fn-t-cozy h2,.fn-t-cozy .fn-show-title{font-family:Merriweather,Georgia,serif;font-weight:900;color:#3a2a1e;letter-spacing:-.005em}
.fn-t-cozy .fn-top{background:#3a2a1e;color:#f3dcc4;font-weight:700;letter-spacing:.02em}
.fn-t-cozy .fn-header{background:#fffaf2;border-bottom:1px solid #e8dcc8}
.fn-t-cozy .fn-secure{color:#2c5d7c}
.fn-t-cozy .fn-steps{background:transparent;border-bottom:1px dashed #d9c9b0}
.fn-t-cozy .fn-steps li.on b{background:#c4511f;border-color:#c4511f}
.fn-t-cozy .fn-intro{padding:28px 0 6px}
.fn-t-cozy .fn-intro h1{font-size:clamp(1.6rem,3vw,2.3rem)}
.fn-t-cozy .fn-intro h1::after{content:"";display:block;width:70px;height:3px;background:#c4511f;margin:12px auto 0;border-radius:2px}
.fn-t-cozy .fn-intro p{color:#7a6552;font-style:italic;font-family:Merriweather,Georgia,serif;font-size:.95rem;margin-top:10px}
.fn-t-cozy .fn-grid{grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"packs show" "details side" "pay side";gap:20px 30px}
/* product as a polaroid on the right */
.fn-t-cozy .fn-showcase{display:block;grid-area:show;background:#fff;padding:14px 14px 18px;border-radius:4px;box-shadow:0 14px 34px rgba(58,42,30,.16);transform:rotate(1.2deg)}
.fn-t-cozy .fn-show-img{position:relative;aspect-ratio:1;background:#fffaf2;overflow:hidden}
.fn-t-cozy .fn-show-img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.fn-t-cozy .fn-show-img img.fn-photo{object-fit:cover}
/* more photos under the main picture, inside the polaroid */
.fn-t-cozy .fn-g-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}
.fn-t-cozy .fn-g-thumbs button{padding:0;border:2px solid transparent;border-radius:3px;overflow:hidden;cursor:pointer;background:#fffaf2;aspect-ratio:1}
.fn-t-cozy .fn-g-thumbs button.on{border-color:#c4511f}
.fn-t-cozy .fn-g-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.fn-t-cozy .fn-g-thumbs button:first-child img{object-fit:contain}
.fn-t-cozy .fn-show-title{margin:14px 4px 4px;font-size:1.25rem;text-align:center;font-style:italic;font-weight:700}
.fn-t-cozy .fn-show-points{display:none}
.fn-t-cozy .fn-card{background:#fffdf8;border:1px solid #eadfcd;border-radius:14px;box-shadow:none}
.fn-t-cozy .fn-num{border-radius:50%;background:#2c5d7c;color:#fff;font-family:Merriweather,Georgia,serif}
.fn-t-cozy .fn-pack{border-radius:12px;border-color:#eadfcd;background:#fff}
.fn-t-cozy .fn-pack.on{border-color:#c4511f;background:#fdf3ea;box-shadow:none}
.fn-t-cozy .fn-pack-img{background:#fffaf2}
.fn-t-cozy .fn-pack-price b{font-family:Merriweather,Georgia,serif;font-weight:900;color:#3a2a1e}
.fn-t-cozy .fn-pack-price em{color:#2c7a4b}
.fn-t-cozy .fn-per{color:#c4511f}
.fn-t-cozy .fn-badge{border-radius:4px;background:#c4511f;font-family:Lato,sans-serif}
.fn-t-cozy .fn-badge.alt{background:#2c5d7c}
.fn-t-cozy .fn-side{position:static}
.fn-t-cozy .fn-summary{background:#fffdf8;border:2px dashed #c4511f}
.fn-t-cozy .fn-total dd{color:#c4511f!important;font-family:Merriweather,Georgia,serif}
.fn-t-cozy .fn-saved{background:#2c5d7c;border-radius:0 0 12px 12px}
.fn-t-cozy .fn-guarantee{background:#fbefe4;border-color:#f0d9c4}
.fn-t-cozy .fn-seal{background:#c4511f}
.fn-t-cozy input[type=text],.fn-t-cozy input[type=email],.fn-t-cozy input[type=tel],.fn-t-cozy input:not([type]),.fn-t-cozy select,.fn-t-cozy .cp-btn{border-radius:10px;border-color:#e2d4bd;background-color:#fff}
.fn-t-cozy input:focus,.fn-t-cozy select:focus{border-color:#c4511f;outline:2px solid rgba(196,81,31,.2);outline-offset:0}
.fn-t-cozy .fn-btn{border-radius:12px;background:#c4511f;color:#fff;font-family:Merriweather,Georgia,serif;font-weight:700;box-shadow:0 10px 22px -10px rgba(196,81,31,.7)}
.fn-t-cozy .fn-btn:hover{background:#a8431a}
.fn-t-cozy .fn-extra{border-radius:12px;background:#fbf6ee}
.fn-t-cozy .fn-note-box{border-radius:12px;background:#fbf6ee}
.fn-t-cozy .fn-footer{background:#3a2a1e;color:#c9b8a3;border-top:0}
.fn-t-cozy .fn-footer a{color:#f3b98f}
/* form: like writing on lined notepaper — dotted underline fields, italic serif labels, a dashed "stamp" around payment */
.fn-t-cozy :is(.fn-details,.fn-pay-card){background:repeating-linear-gradient(#fffdf8 0 31px,#f3e9d8 31px 32px)}
.fn-t-cozy :is(.fn-details,.fn-pay-card) h2{font-style:italic;border-bottom:1px solid #eadfcd;padding-bottom:12px}
.fn-t-cozy :is(.fn-details,.fn-pay-card) .fn-field>label{font:italic 400 .92rem Merriweather,Georgia,serif;color:#7a6552;margin-bottom:0}
.fn-t-cozy :is(.fn-details,.fn-pay-card) :is(input[type=text],input[type=email],input[type=tel],input:not([type]),select,.cp-btn){height:44px;border:0;border-bottom:1.5px dotted #b49a7a;border-radius:0;background-color:transparent;font-family:Merriweather,Georgia,serif;font-size:.95rem}
.fn-t-cozy :is(.fn-details,.fn-pay-card) :is(input,select):focus{border-bottom:1.5px solid #c4511f;box-shadow:none}
.fn-t-cozy .fn-pay-card{outline:2px dashed #c4511f;outline-offset:-10px}
.fn-t-cozy .fn-note-box{background:#fbf6ee;border:1px dashed #c9b59b;font-style:italic}
.fn-t-cozy .fn-extra{background:#fff;border-style:dashed}
/* coupon popup */
.fn-t-cozy .fn-pop-box{border-radius:16px}
.fn-t-cozy .fn-pop-top{background:#c4511f}
.fn-t-cozy .fn-pop-btn{background:#2c5d7c;color:#fff;border-radius:12px}
/* add-on and thank-you pages */
.fn-t-cozy .fn-ty-banner{background:linear-gradient(120deg,#c4511f,#e07a3f)}
.fn-t-cozy .fn-ty-addr,.fn-t-cozy .fn-ty-help,.fn-t-cozy .fn-up-card{border-radius:14px}
@media (max-width:900px){
  .fn-t-cozy .fn-grid{grid-template-columns:1fr;grid-template-areas:"show" "packs" "side" "details" "pay"}
  .fn-t-cozy .fn-showcase{max-width:340px;width:100%;margin:0 auto;transform:rotate(0)}
}
@media (max-width:560px){.fn-t-cozy .fn-showcase{max-width:260px}}
