/* Theme "warm" (/8/, shoulder massager — matches its landing page): soft stone-grey page, charcoal header, heat coral→amber
   accents, Sora, rounded product panel with photos on the right, packages + form on the left */
body.fn-t-warm{--brand:#e8553a;--brand-dark:#24262b;--accent:#e8553a;--accent-ink:#fff;--tint:#fdf0eb;font-family:Sora,Inter,system-ui,sans-serif;color:#24262b;background:#f2f1ef}
.fn-t-warm h1,.fn-t-warm h2,.fn-t-warm .fn-show-title{font-family:Sora,Inter,sans-serif;font-weight:700;letter-spacing:-.02em;color:#1b1c20}
.fn-t-warm .fn-top{background:linear-gradient(90deg,#e8553a,#f59e3b);color:#fff;font-weight:600}
.fn-t-warm .fn-header{background:#24262b;border-bottom:0}
.fn-t-warm .fn-logo .logo-text,.fn-t-warm .fn-logo .logo-text b,.fn-t-warm .fn-logo .w1{color:#fff}
.fn-t-warm .fn-logo .w2{color:#f59e3b}
.fn-t-warm .fn-logo small{color:#a3a6ad}
.fn-t-warm .fn-secure{color:#f59e3b}
.fn-t-warm .fn-secure small{color:#a3a6ad}
.fn-t-warm .fn-steps{background:#fff;border-bottom:1px solid #e4e2de}
.fn-t-warm .fn-steps li.on b{background:#e8553a;border-color:#e8553a}
.fn-t-warm .fn-intro{display:none}
.fn-t-warm .fn-main{padding-top:24px}
/* form on the left, product on the right */
.fn-t-warm .fn-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);grid-template-areas:"packs show" "details side" "pay side";gap:18px 30px}
.fn-t-warm .fn-showcase{display:block;grid-area:show;background:#fff;border-radius:26px;padding:16px;box-shadow:0 14px 40px rgba(36,38,43,.08)}
.fn-t-warm .fn-show-img{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#fff 0%,#f2f1ef 75%)}
.fn-t-warm .fn-show-img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.fn-t-warm .fn-show-img img.fn-photo{object-fit:cover}
.fn-t-warm .fn-g-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.fn-t-warm .fn-g-thumbs button{padding:0;border:2px solid transparent;border-radius:14px;overflow:hidden;cursor:pointer;background:#f2f1ef;aspect-ratio:1}
.fn-t-warm .fn-g-thumbs button.on{border-color:#e8553a}
.fn-t-warm .fn-g-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.fn-t-warm .fn-g-thumbs button:first-child img{object-fit:contain}
.fn-t-warm .fn-show-title{margin:16px 4px 10px;font-size:1.35rem}
.fn-t-warm .fn-show-points{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fn-t-warm .fn-show-points li{display:flex;gap:8px;align-items:center;background:#f7f6f4;border-radius:12px;padding:10px 12px;font-size:.82rem;color:#4a4d55}
.fn-t-warm .fn-show-points li::before{content:"✓";flex:0 0 20px;height:20px;border-radius:50%;background:#e8553a;color:#fff;display:grid;place-items:center;font-size:.68rem;font-weight:800}
.fn-t-warm .fn-card{background:#fff;border:0;border-radius:24px;box-shadow:0 14px 40px rgba(36,38,43,.06)}
.fn-t-warm .fn-num{border-radius:50%;background:#24262b;color:#f59e3b}
.fn-t-warm .fn-pack{border-radius:18px;border-color:#e4e2de}
.fn-t-warm .fn-pack.on{border-color:#e8553a;background:#fff7f3;box-shadow:0 0 0 4px rgba(232,85,58,.1)}
.fn-t-warm .fn-pack-img{background:#f2f1ef}
.fn-t-warm .fn-pack-price b{font-weight:700;color:#1b1c20}
.fn-t-warm .fn-pack-price em{color:#d24a2f}
.fn-t-warm .fn-per{color:#d24a2f}
.fn-t-warm .fn-badge{border-radius:999px;background:linear-gradient(90deg,#e8553a,#f59e3b)}
.fn-t-warm .fn-badge.alt{background:#24262b}
.fn-t-warm .fn-summary{background:#24262b;color:#c5c7cc}
.fn-t-warm .fn-summary h2,.fn-t-warm .fn-summary dd,.fn-t-warm .fn-summary .fn-sum-name b,.fn-t-warm .fn-summary .fn-total dt{color:#fff}
.fn-t-warm .fn-summary dl div,.fn-t-warm .fn-summary small{color:#a3a6ad}
.fn-t-warm .fn-summary .fn-total{border-top-color:#3a3d44}
.fn-t-warm .fn-summary .fn-total dd{color:#f59e3b!important}
.fn-t-warm .fn-sum-img{background:#fff}
.fn-t-warm .fn-saved{background:linear-gradient(90deg,#e8553a,#f59e3b);border-radius:0 0 24px 24px}.fn-t-warm .fn-saved span{color:#fff}.fn-t-warm .fn-saved b{background:#24262b;color:#fff}
.fn-t-warm .fn-guarantee{background:#fff;box-shadow:none;border:1px solid #e4e2de}
.fn-t-warm .fn-seal{background:#e8553a}
.fn-t-warm input[type=text],.fn-t-warm input[type=email],.fn-t-warm input[type=tel],.fn-t-warm input:not([type]),.fn-t-warm select,.fn-t-warm .cp-btn{border-radius:14px;border-color:#dedcd8;background-color:#fbfbfa}
.fn-t-warm input:focus,.fn-t-warm select:focus{border-color:#e8553a;outline:3px solid rgba(232,85,58,.15);outline-offset:0}
.fn-t-warm .fn-btn{border-radius:16px;background:linear-gradient(90deg,#e8553a,#f59e3b);color:#fff;box-shadow:0 14px 28px -12px rgba(232,85,58,.8)}
.fn-t-warm .fn-extra{border-radius:16px;background:#f7f6f4}
.fn-t-warm .fn-note-box{border-radius:14px;background:#f7f6f4}
.fn-t-warm .fn-footer{background:#24262b;color:#a3a6ad;border-top:0}
.fn-t-warm .fn-footer a{color:#f59e3b}
/* form: fully rounded pill fields on warm stone, big numbered headings, a peach-tinted payment card */
.fn-t-warm :is(.fn-details,.fn-pay-card) h2{font-size:1.3rem}
.fn-t-warm :is(.fn-details,.fn-pay-card) h2 .fn-num{width:36px;height:36px;flex-basis:36px;background:linear-gradient(135deg,#e8553a,#f59e3b);color:#fff}
.fn-t-warm :is(.fn-details,.fn-pay-card) .fn-field>label{font-size:.8rem;font-weight:600;color:#6b6e76;padding-left:18px}
.fn-t-warm :is(.fn-details,.fn-pay-card) :is(input[type=text],input[type=email],input[type=tel],input:not([type]),select,.cp-btn){height:52px;border-radius:999px;border-color:#e4e2de;background-color:#f7f6f4}
.fn-t-warm :is(.fn-details,.fn-pay-card) input{padding-left:20px}
.fn-t-warm :is(.fn-details,.fn-pay-card) :is(input,select):focus{background-color:#fff;border-color:#e8553a;box-shadow:0 0 0 4px rgba(232,85,58,.12)}
.fn-t-warm .fn-pay-card{background:linear-gradient(160deg,#fff 0%,#fff1ea 100%)}
.fn-t-warm .fn-extra{border-radius:999px;padding-left:24px}
.fn-t-warm .fn-note-box{border-radius:18px;background:#fff;border:1px solid #f3d2c6;color:#8a3a26}
/* coupon popup */
.fn-t-warm .fn-pop-box{border-radius:22px}
.fn-t-warm .fn-pop-top{background:linear-gradient(90deg,#e8553a,#f59e3b)}
.fn-t-warm .fn-pop-btn{background:#24262b;color:#fff;border-radius:14px}
/* add-on and thank-you pages */
.fn-t-warm .fn-ty-banner{background:linear-gradient(120deg,#24262b,#e8553a)}
.fn-t-warm .fn-ty-addr,.fn-t-warm .fn-ty-help,.fn-t-warm .fn-up-card{border-radius:22px}
@media (max-width:900px){
  .fn-t-warm .fn-grid{grid-template-columns:1fr;grid-template-areas:"show" "packs" "side" "details" "pay"}
  .fn-t-warm .fn-side{position:static}
  .fn-t-warm .fn-show-img,.fn-t-warm .fn-g-thumbs{max-width:420px;margin-left:auto;margin-right:auto}
}
@media (max-width:560px){.fn-t-warm .fn-showcase{padding:12px}.fn-t-warm .fn-show-points li{font-size:.74rem;padding:8px 9px}}
