
/* floor plan numbers: a key, not links */
#tpb .hs{pointer-events:none;cursor:default}
#tpb .hs-list,#tpb .s3 .hs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:0;padding:0;list-style:none}
#tpb .hs-item{display:flex;gap:8px;align-items:center;border:0;background:none;padding:0;font-size:14px;line-height:1.3;cursor:default}
#tpb .hs-item b{width:24px;height:24px;font-size:11px}
@media (max-width:560px){#tpb .hs-list,#tpb .s3 .hs-list{gap:4px 10px}#tpb .hs-item{font-size:12.5px}#tpb .hs-item b{width:22px;height:22px;font-size:10px}}
/* qualifying questions in the lead form */
#tpb .lead .qlab{font-size:14px;font-weight:600}
#tpb .lead .choice{margin-top:6px}
/* step 5: one primary action (call), deposit as the secondary one, build tools next to the summary */
#tpb .book .dep{border-top:1px solid rgba(255,255,255,.16);padding-top:16px;display:flex;gap:12px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#tpb .book .dep p{flex:1 1 240px;font-size:14px;line-height:1.45}
#tpb .book .dep b{color:#fff}
#tpb .book .dep .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
#tpb .s5sum{background:var(--stone);border-radius:var(--r);padding:20px;display:grid;gap:14px;align-content:start}
#tpb .s5sum .stage{background:#fff;border-radius:var(--r-s);min-height:0;padding:8px}
#tpb .s5sum .stage svg.cimg{max-height:240px}
#tpb .s5sum h3{font-size:24px}
#tpb .s5sum .meta{font-size:14px;color:var(--ink-2);margin:4px 0 0}
#tpb .s5sum dl.px{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0;font-size:15px}
#tpb .s5sum dl.px dt,#tpb .s5sum dl.px dd{margin:0;padding:9px 0;border-top:1px solid var(--line)}
#tpb .s5sum dl.px dt{padding-right:12px;font-weight:600}
#tpb .s5sum dl.px dd{text-align:right;font-weight:700}
#tpb .s5sum dl.px dt small{display:block;font-weight:400;color:var(--ink-2);font-size:13px;margin-top:1px}
#tpb .s5sum dl.px .tot{border-top:1.5px solid var(--ink);font-size:18px;font-weight:700}
#tpb .s5sum .tools{display:flex;gap:8px 10px;flex-wrap:wrap;align-items:center}
#tpb .s5sum .tools .btn{display:inline-flex;gap:8px;align-items:center;padding:10px 16px}
#tpb .editbar{background:var(--sun-soft);border-radius:var(--r-s);padding:14px 16px;display:flex;gap:12px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#tpb .editbar>div{flex:1 1 220px;display:grid;gap:2px}
#tpb .editbar b{font-size:16px}
#tpb .editbar span{font-size:14px;color:var(--ink-2)}
#tpb .editbar .btn{display:inline-flex;gap:8px;align-items:center;padding:11px 18px;flex:none}
#tpb .s5 .deposit .btn{justify-self:start}
/* mobile: two blocks only (call with deposit, then the summary) */
#tpb .s5 .m-only{display:none}
#tpb .s5sum .btn.edit{gap:8px;align-items:center;justify-content:center;padding:11px 18px;border-color:var(--ink)}
@media (max-width:900px){#tpb .s5 .d-only{display:none!important}#tpb .s5 .m-only{display:flex}}
#tpb .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:560px){#tpb .s5sum{padding:14px}#tpb .s5sum .stage svg.cimg{max-height:180px}#tpb .s5sum h3{font-size:20px}}

/* Typography layer: Tiny Planet Tilda global styles (project 5066508), font Nordeco.
   Scale values are copied from the project's global styles; each var steps up at the Tilda
   breakpoints 480 / 640 / 960 / 1200. Nordeco has weights 300, 400, 600, 700 only
   (the file registered as 500 is "Forum"), so 500 -> 600 and 800 -> 700 here. */
#tpb{
  --f-display:"Nordeco",Arial,sans-serif; --f-body:"Nordeco",Arial,sans-serif;
  --ts-h1:38px; --ts-h2:38px; --ts-h3:22px; --ts-lead:18px; --ts-body:18px; --ts-cta:28px; --ts-cap:12px; --ts-btn:14px;
  font-family:var(--f-body); font-size:var(--ts-body); font-weight:400; line-height:1.4;
}
@media(min-width:480px){#tpb{--ts-h1:40px;--ts-h2:40px;--ts-h3:23px;--ts-lead:19px;--ts-cta:30px;--ts-cap:13px}}
@media(min-width:640px){#tpb{--ts-h1:42px;--ts-h2:42px;--ts-h3:24px;--ts-lead:20px;--ts-cta:32px}}
@media(min-width:960px){#tpb{--ts-h1:52px;--ts-h2:52px;--ts-h3:28px;--ts-lead:22px;--ts-cta:38px;--ts-cap:14px;--ts-btn:16px}}
@media(min-width:1200px){#tpb{--ts-h1:62px;--ts-h2:62px;--ts-h3:32px;--ts-lead:24px;--ts-cta:42px;--ts-body:20px}}

/* every control and field uses the same family (browsers do not inherit it by default) */
#tpb button,#tpb input,#tpb select,#tpb textarea{font-family:var(--f-body)}

/* H2 / Section: the step title */
#tpb .head h1{font-size:var(--ts-h2);font-weight:600;line-height:1.15}
/* H3 / Card: cards and block titles */
#tpb h1,#tpb h2,#tpb h3{font-family:var(--f-display);font-weight:600}
#tpb .van h3,#tpb .pkg h3,#tpb .sec-title,#tpb .book h2,#tpb .deposit h2,#tpb .modal h2,#tpb .gm-body h2,#tpb .saved h2{font-size:var(--ts-h3);line-height:1.3;font-weight:600}
/* CTA / USP: the total price */
#tpb .total b,#tpb .deposit .amt,#tpb .gm-price b{font-size:var(--ts-cta);line-height:1.3;font-weight:600}
/* Subtitle / Lead: text under a title */
#tpb .van .tag,#tpb .gm-sub,#tpb .head p{font-size:var(--ts-lead);line-height:1.4}
/* Card description / long text: item names and readable lines */
#tpb .why b,#tpb .why ul,#tpb .opt b,#tpb .items.opts .nm,#tpb .rad b,#tpb .bundle-h b,#tpb .it.mini .nm,#tpb .specs span,#tpb .pkgline,#tpb .delta,#tpb .items.opts .price,#tpb .rad .rp,#tpb .bundle .price,#tpb .linkcard .code,#tpb .saved .code,#tpb .sheet h3{font-size:var(--ts-body);line-height:1.4}
#tpb .why b,#tpb .opt b,#tpb .items.opts .nm,#tpb .rad b,#tpb .bundle-h b,#tpb .it.mini .nm,#tpb .items.opts .price,#tpb .rad .rp,#tpb .bundle .price,#tpb .delta,#tpb .bar-sum b,#tpb .cmp th,#tpb .logo{font-weight:600}
/* Button / Nav: controls and small headings */
#tpb .btn,#tpb .steps button,#tpb .tabs button,#tpb .choice button,#tpb .secbar button,#tpb .slot,#tpb .toggle,#tpb .pill,#tpb .rm,#tpb .pkg .sleeps,#tpb .kd-h .link,#tpb .items .link.more,#tpb .it .up .link,#tpb .blk-h h3,#tpb .unlock-h b,#tpb .kd-h b,#tpb .eyebrow,#tpb .size-group h2,#tpb .secnav-h,#tpb .sum dt,#tpb .field label,#tpb .cmp th,#tpb .sheet td.sys,#tpb .bar-sum b,#tpb .day b,#tpb .logo{font-size:var(--ts-btn);font-weight:600;line-height:1.2}
#tpb .eyebrow,#tpb .secnav-h,#tpb .sheet td.sys,#tpb .blk-h h3{font-weight:700}
/* Caption / Notes: small and service text */
#tpb .note,#tpb .est,#tpb .it .sub,#tpb .it .up,#tpb .kd-r,#tpb .kd-r.mh,#tpb .specs small,#tpb .specs em,#tpb .opt span,#tpb .cap,#tpb .pkg .tl,#tpb .pkg ul,#tpb .unlock ul,#tpb .unlock li em,#tpb .deposit ul,#tpb .gets,#tpb .gets.cols,#tpb .err,#tpb .linkbox code,#tpb .sheet table,#tpb .rad small,#tpb .rad .rp.inc,#tpb .delta.inc,#tpb .total span,#tpb .bar-sum .vn,#tpb .nudge,#tpb .split,#tpb .splitln,#tpb .pkgline-n,#tpb .blk-h span,#tpb .bundle ul,#tpb .choice.grp small,#tpb .gate .blur div,#tpb .cmp,#tpb .rm.sm,#tpb .rad .rp.inc,#tpb .hs,#tpb .hs-item b,#tpb .badge-soon,#tpb .pkg h3 .badge,#tpb .tabs button .ct,#tpb .demo,#tpb .bar-sum{font-size:var(--ts-cap);line-height:1.3}
#tpb .pkg h3 .badge,#tpb .demo,#tpb .hs{font-weight:700}
#tpb .kd-r.mh,#tpb .est,#tpb .note{font-weight:400}

/* Page chrome: the configurator page has no site footer */
#t-footer{display:none !important}

/* The Tilda form block borrowed into step 4 (see tildaForm() in the app): make it look like the rest of the page */
#tpFormHome{display:none}
#tpb #tpFormSlot .r{padding:0 !important;background:none}
#tpb #tpFormSlot .t-container{max-width:none;width:100%;padding:0;margin:0}
#tpb #tpFormSlot .t-col{float:none;width:100%;max-width:none;margin:0;padding:0}
#tpb #tpFormSlot .t-form__inputsbox_vertical-form .t-input-group{margin-bottom:14px}
#tpb #tpFormSlot .t-input-title{font-family:var(--f-body);font-size:var(--ts-btn);font-weight:700;line-height:1.2;color:var(--ink) !important;padding-bottom:6px}
#tpb #tpFormSlot .t-input{font-family:var(--f-body);font-size:var(--ts-body);height:auto;padding:11px 12px;border:1.5px solid var(--line) !important;border-radius:var(--r-s);background:var(--card);color:var(--ink) !important}
#tpb #tpFormSlot .t-input:focus{border-color:var(--ink) !important;outline:none}
#tpb #tpFormSlot .t-input-error,#tpb #tpFormSlot .t-form__errorbox-text{font-family:var(--f-body);font-size:var(--ts-cap);color:#b3261e}
#tpb #tpFormSlot .t-form__submit{margin-top:18px;text-align:left}
#tpb #tpFormSlot .t-submit{width:100%;height:auto;border:0 !important;border-radius:99px;padding:13px 22px;font-family:var(--f-body);font-size:var(--ts-btn);font-weight:600;background:var(--sun) !important;color:var(--ink) !important}
#tpb #tpFormSlot .t-submit:disabled{opacity:.4;cursor:not-allowed}
#tpb #tpFormSlot .t-submit .t-btnflex__text{color:inherit}
/* Tilda's own "Thank you!" popup: the app shows its own state */
#tildaformsuccesspopup,.t-form-success-popup,.t-form-popup{display:none !important}

/* Embed mode (/build?embed=1 inside the popup iframe of tp-build-loader): the page looks like a separate window.
   html.tp-embed is set by the app script. No Tilda header, footer or menu (the menu script moves #tp-menu-root to the body, outside #t-header); no offset under the menu. */
html.tp-embed #t-header,html.tp-embed #t-footer,html.tp-embed .tp-menu{display:none !important}
html.tp-embed,html.tp-embed body,html.tp-embed #allrecords{background:#fff}
html.tp-embed #tpb{--menu:0px;padding-top:0}
html.tp-embed #tpb main{padding-top:12px}
#tpb .top .tp-close{margin-left:12px;flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:26px;line-height:1;padding:0 0 3px;display:inline-flex;align-items:center;justify-content:center}
#tpb .top .tp-close:hover{background:var(--ink-2)}
#tpb .top .steps+.tp-close{margin-left:12px}
@media(max-width:640px){#tpb .top .tp-close{width:36px;height:36px;font-size:24px}}
