/* ═══════════════════════════════════════════════════════════════════
   E Care — Tag Studio · tag styles
   BUILD v2026.09.26-b053
   ═══════════════════════════════════════════════════════════════════
   The approved tag designs. Printing and the dashboard preview both read
   this one file, so a change here changes every tag everywhere.
   ═══════════════════════════════════════════════════════════════════ */
.tag,.printpage,.tagmini{--navy:#0b3a6a;--navy2:#0f4c8c;--gold:#f5b301;--ink:#26313c;--muted:#6b7785;--line:#d8e0e8}
.tag,.tag *,.tag *::before,.tag *::after{box-sizing:border-box}
body.printpage{margin:0;background:#eef2f6;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--ink)}
/* the tags carry the font themselves, so a preview frame without the print page's body class does not fall back to a serif */
.tag{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.printbar{position:sticky;top:0;z-index:20;background:#0b2a44;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;font-size:14px}
.printbar .btn{border:0;border-radius:8px;padding:10px 16px;font-weight:800;background:#f5b301;color:#3a2a00;text-decoration:none;cursor:pointer}
.printbar .btn.ghost{background:rgba(255,255,255,.14);color:#fff}
.sheetwrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:18px}
.printnote{color:var(--muted);padding:40px;text-align:center;width:100%}
.tag .pic img{max-width:100%;max-height:100%;object-fit:contain}
.tag .nopic{font-size:40px;font-weight:900;color:#c7d2dd}
/* no photo, or a photo that failed to load: the logo, faded so it reads as a
   stand-in rather than the product itself; greyed in the ink-saving modes */
.tag .pic img.nopic-logo{width:auto;height:auto;max-width:62%;max-height:58%;object-fit:contain;opacity:.55}
.tag.ink-save .pic img.nopic-logo,.tag.ink-max .pic img.nopic-logo{opacity:.3;filter:grayscale(1)}
.ecarelogo{height:44px;width:auto;display:block}
@media print{
  body.printpage{background:#fff}
  .printbar{display:none}
  .sheetwrap{gap:0;padding:0}
  .tag{box-shadow:none!important;margin:6px;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* product hero */
.hero{display:grid;gap:20px}
@media (min-width:880px){.hero{grid-template-columns:1.1fr .9fr}}
.shot{background:#f4f7fa;border:1px solid var(--line);border-radius:12px;aspect-ratio:4/3;display:grid;place-items:center;position:relative;overflow:hidden}
.shot svg{width:62%}
.pnum{position:absolute;left:10px;bottom:10px;background:var(--navy);color:#fff;font-weight:900;border-radius:999px;padding:6px 14px;font-size:15px;border:2px solid rgba(255,255,255,.85)}
h1{font-size:22px;color:var(--navy);margin:0 0 6px}
.sub{color:var(--muted);font-size:14px;margin:0 0 12px}
.pricebox{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}
.pricebox .top{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:8px 13px;display:flex;justify-content:space-between;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.pricebox .top .pill{background:var(--gold);color:#3a2a00;border-radius:999px;padding:2px 9px;font-size:11px}
.pricebox .in{padding:13px}
.big{font-size:30px;font-weight:900;color:var(--navy)}
.was{color:var(--muted);text-decoration:line-through;font-size:14px;margin-left:8px}
.save{color:var(--green);font-weight:800;font-size:13px;margin-left:6px}
.accept{color:var(--green);font-size:13px;font-weight:600;margin-top:4px}
table.spec{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:12px}
table.spec th,table.spec td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}
table.spec th{color:var(--muted);font-weight:500;width:42%}
.ctas{display:grid;gap:8px}
.btn{border:0;border-radius:10px;padding:13px 16px;font-weight:800;font-size:15px;text-align:center;text-decoration:none;display:block}
.btn.call{background:var(--navy);color:#fff}
.btn.cart{background:var(--gold);color:#3a2a00}
.btn.tag{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.staffline{margin-top:10px;font-size:12.5px;color:var(--muted)}


/* ---------- tags: print-quality, colour ---------- */
.tag{
  --edge:#e4e9ef; --rule:#c9a227;
  background:#fff;color:#16222e;border:1px solid var(--edge);border-radius:14px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  box-shadow:0 6px 18px rgba(15,32,54,.13);
}
.tag .band{background:linear-gradient(180deg,#12year 0%,#0b3a6a 100%);}
.tag .band{background:#fff;color:#0b2a44;display:block;padding:0}
.tag .bandinner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0}
.tag .bandrule{display:block;height:5px;background:linear-gradient(90deg,#0b3a6a 0%,#0f4c8c 45%,var(--rule) 45%,var(--rule) 100%)}
.tag .cat{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#8494a3;text-align:right}
.tag.full .cat{font-size:16px}.tag.hero .cat{font-size:13px}
.tag .band .mark{font-weight:900;letter-spacing:.02em;font-size:15px;color:#0b2a44}
.tag .inner{display:flex;flex-direction:column;gap:9px;padding:16px;flex:1}
.tag .pic{background:#fff;border:1px solid var(--edge);border-radius:10px;display:grid;place-items:center;height:1.9in;padding:8px}
.tag .pic{overflow:hidden}
.tag .pic svg{max-width:100%;max-height:100%;height:86%;width:auto}
.tag .brandline{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#7b8794;font-weight:700}
.tag .name{font-size:16px;font-weight:800;line-height:1.28;color:#0b3a6a}
.tag .specs{font-size:11.5px;line-height:1.65;color:#495a6b}
.tag .specs b{color:#16222e;font-weight:700}
.tag .rule{height:2px;background:linear-gradient(90deg,var(--rule),rgba(201,162,39,0));border-radius:2px}
.tag .pricerow{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.tag .price{font-size:40px;font-weight:900;letter-spacing:-.02em;line-height:.95;color:#0b3a6a;font-variant-numeric:tabular-nums}
.tag .msrp{font-size:12px;color:#7b8794;text-decoration:line-through}
.tag .savetag{background:#e8f6ed;color:#14653a;border:1px solid #bfe3ce;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:800}
.tag .foot{margin-top:auto;display:flex;gap:0;align-items:stretch;border:1px solid var(--edge);border-radius:10px;overflow:hidden;background:#f9fbfd}
.tag .foot .qr{border:0;border-right:1px solid var(--edge);border-radius:0;background:#fff;flex:0 0 auto}
.tag .foot .scan{padding:8px 11px;display:flex;flex-direction:column;justify-content:center}
.tag .flogo{align-self:flex-end;margin-right:-4px}
.tag .flogo svg{height:20px;width:auto;opacity:.85}
.tag.full .flogo svg{height:34px}
.tag.quarter .flogo{display:none}
.tag.hero .hfoot .flogo svg{height:26px}
.tag .qr{width:1.15in;height:1.15in;background:#fff;border:1px solid var(--edge);border-radius:8px;padding:5px}
.tag .scan{font-size:10px;line-height:1.45;color:#5b6a79}
.tag .scanhead{font-weight:700;color:#33475b;font-size:10.5px}
.tag.full .scanhead{font-size:15px}
.tag .scan b{display:block;color:#0b3a6a;font-size:12.5px;letter-spacing:.01em;margin-top:2px}
.tag .msrpline2{font-size:9.5px;color:#9aa5b1;font-weight:700}
.tag.full .msrpline2{font-size:14px}
.tag .idline{display:block;margin-top:5px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;color:#8a95a1;letter-spacing:.04em}
.tag .asof{display:block;margin-top:2px;font-size:9px;color:#9aa5b1}
.tag .hole{position:absolute;top:10px;right:14px;width:15px;height:15px;border-radius:50%;border:2px dashed rgba(255,255,255,.75)}


/* sizes on US Letter */
.tag.full{width:7.5in;min-height:9.6in}
.tag.full .inner{padding:30px;gap:16px}
.tag.full .pic{height:4.1in}
.tag.full .name{font-size:30px}
.tag.full .specs{font-size:16px;line-height:1.8}
.tag.full .price{font-size:104px}
.tag.full .msrp{font-size:20px}.tag.full .savetag{font-size:17px;padding:5px 15px}
.tag.full .qr{width:2in;height:2in}
.tag.full .scan{font-size:14px}.tag.full .scan b{font-size:17px}

.tag.full .idline{font-size:13px}

.tag.half{width:7.5in;min-height:4.7in}
.tag.half .inner{flex-direction:row;gap:16px;align-items:stretch}
.tag.half .pic{height:auto;width:2.7in;flex:0 0 2.7in;align-items:center}
.tag.half .halfmain{flex:1;display:flex;flex-direction:column;gap:7px}
.tag .legal{padding:7px 16px 12px;margin:0}
.tag.full .legal{padding:10px 30px 20px}
.tag.half .price{font-size:52px}
.tag.half .name{font-size:19px}
.tag.half .qr{width:1.4in;height:1.4in}

.tag.quarter{width:3.6in;min-height:4.7in}
.tag.quarter .inner{padding:13px;gap:7px}
.tag.quarter .pic{height:1.35in}
.tag.quarter .name{font-size:13.5px}
.tag.quarter .specs{font-size:10.5px;line-height:1.5}
.tag.quarter .price{font-size:31px}
.tag.quarter .qr{width:1in;height:1in}


.tag.strip{width:7.5in;min-height:2.3in}
.tag.strip .inner{flex-direction:row;align-items:center;gap:16px}
.tag.strip .pic{height:1.7in;width:1.9in;flex:0 0 1.9in}
.tag.strip .stripmain{flex:1;display:flex;flex-direction:column;gap:4px}
.tag.strip .price{font-size:44px}
.tag.strip .name{font-size:16px}
.tag.strip .qr{width:1.35in;height:1.35in}


/* logo, badges, finance, legal */
.tag .logo{display:flex;align-items:center;gap:7px}
.tag .logo svg{height:22px;width:auto}
.ecarelogo{height:44px;width:auto;display:block}
.tag.full .ecarelogo{height:82px}
.tag.half .ecarelogo{height:46px}
.tag.quarter .ecarelogo{height:34px}
.tag.strip .ecarelogo{height:40px}
.tag.specsheet .ecarelogo{height:66px}
.tag.hero .htop .ecarelogo{height:56px}
.tag.hero .hfoot .ecarelogo{height:40px;filter:brightness(0) invert(1);opacity:.95}
.tag .flogo .ecarelogo{height:30px;opacity:1}
.sheet-right .ecarelogo{height:44px}
.tag.full .logo svg{height:36px}
.tag.quarter .logo svg{height:18px}
.tag .badges{display:flex;gap:6px;flex-wrap:wrap}
.tag .chip{border:1px solid #d7e2ec;background:#f4f8fc;color:#2c4a68;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700;letter-spacing:.02em}
.tag .chip.hsa{background:#eaf7ef;border-color:#c5e6d1;color:#14653a}
.tag .chip.match{background:#fff6e2;border-color:#f0dcae;color:#7a5a08}
.tag.full .chip{font-size:15px;padding:5px 14px}
.tag.half .chip{font-size:11px}
.tag .finance{background:#f4f8fc;border:1px solid #d7e2ec;border-radius:8px;padding:6px 10px;font-size:11px;color:#2c4a68}
.tag .finance b{color:#0b3a6a;font-size:13px}
.tag.full .finance{font-size:17px;padding:10px 16px}
.tag.full .finance b{font-size:22px}
.tag.quarter .finance{font-size:10px;padding:5px 8px}
.tag .legal{margin-top:9px;padding-top:7px;border-top:1px solid var(--edge);font-size:8.5px;line-height:1.4;color:#a6b0bb;text-align:center;width:100%}
.tag .legal .store{color:#5b6a79;font-weight:600;font-size:9.5px}
.tag.full .legal{font-size:11px}
.tag.quarter .legal{font-size:7.5px}


/* full spec sheet — the printed sheet you already make by hand */
.tag.specsheet{width:7.5in;min-height:9.8in;border-radius:10px}
.tag.specsheet .inner{padding:0;gap:0}
.sheet-head{text-align:center;padding:20px 26px 12px;border-bottom:3px solid var(--rule)}
.sheet-head h2{margin:0;font-size:27px;font-weight:900;letter-spacing:.01em;color:#16222e;text-transform:uppercase}
.sheet-meta{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:9px;font-size:13px}
.sheet-meta span{color:#7a4a12;font-weight:800}
.sheet-meta b{color:#4f7a12;font-weight:800;margin-left:5px}
.sheet-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:18px 26px}
.sheet-cols h3{margin:0 0 7px;font-size:14px;color:#2f8fd0;font-weight:800}
.sheet-cols p{margin:0;font-size:12.5px;line-height:1.65;color:#3d4a57}
.sheet-cols ul{margin:0;padding-left:16px;font-size:12.5px;line-height:1.75;color:#3d4a57}
.sheet-mid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;padding:4px 26px 14px;align-items:start}
.sheet-pic{border:1px solid var(--edge);border-radius:10px;height:3.1in;display:grid;place-items:center;padding:10px;overflow:hidden}
.sheet-pic svg{max-height:100%;max-width:100%}
.sheet-specs{width:100%;border-collapse:collapse;font-size:11.5px}
.sheet-specs caption{text-align:left;font-size:14px;color:#2f8fd0;font-weight:800;padding-bottom:6px}
.sheet-specs td{padding:5px 8px;border-bottom:1px solid #eef2f6;color:#3d4a57}
.sheet-specs tr:nth-child(even){background:#f7f9fc}
.sheet-specs td:first-child{color:#16222e;width:56%}
.sheet-foot{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:end;padding:10px 26px 16px;border-top:1px solid var(--edge);margin-top:auto}
.sheet-brands{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#7b8794}
.sheet-brands .bmark{border:1px dashed var(--edge);border-radius:8px;padding:8px 10px;text-align:center;font-weight:800;color:#8a95a1;font-size:11px;letter-spacing:.06em}
.sheet-price{text-align:center}
.sheet-price .lbl{color:#2f8fd0;font-weight:800;font-size:15px}
.sheet-price .amt{font-size:42px;font-weight:900;color:#0b3a6a;line-height:1.05;font-variant-numeric:tabular-nums}
.sheet-price .msrpline{font-size:13px;color:#7b8794}
.sheet-price .msrpline s{color:#b3261e}
.sheet-price .colour{font-size:11px;color:#5b6a79;margin-top:3px}
.sheet-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.sheet-right .qr{width:1.25in;height:1.25in}
.sheet-right .logo svg{height:30px}


/* ---------- "Surprise me": one photo, one number, one price ---------- */
.tag.hero{width:7.5in;min-height:9.6in;background:#fff;border:0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(11,34,58,.18)}
.tag.hero .htop{display:flex;align-items:center;justify-content:space-between;padding:26px 34px 10px;border-bottom:4px solid var(--rule);margin-bottom:6px}
.tag.hero .htop .logo svg{height:30px}
.tag.hero .hcat{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#93a1af;font-weight:800}
.tag.hero .hpic{flex:1;display:grid;place-items:center;padding:6px 34px;min-height:3.9in}
.tag.hero .hpic svg{max-height:100%;max-width:92%}
.tag.hero .hname{padding:0 34px;font-size:26px;line-height:1.18;font-weight:800;color:#0b2a44;letter-spacing:-.01em}
.tag.hero .hbrand{padding:0 34px;margin-top:4px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#93a1af;font-weight:700}
.tag.hero .hstat{margin:16px 34px 0;display:flex;align-items:baseline;gap:12px;border-left:5px solid var(--rule);padding-left:14px}
.tag.hero .hstat b{font-size:44px;font-weight:900;color:#0b2a44;line-height:1;letter-spacing:-.02em}
.tag.hero .hstat span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#6b7785;font-weight:800}
.tag.hero .hprice{margin:auto 34px 0;padding:18px 0 6px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tag.hero .hprice .amt{font-size:82px;font-weight:900;color:#0b2a44;line-height:.92;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.tag.hero .hprice .side{text-align:right;font-size:13px;color:#6b7785}
.tag.hero .hprice .side s{display:block;font-size:15px}
.tag.hero .hprice .side em{display:block;font-style:normal;color:#14653a;font-weight:900;font-size:17px;margin-top:2px}
.tag.hero .hmo{margin:0 34px 18px;font-size:19px;color:#0b2a44;font-weight:700}
.tag.hero .hmo b{font-size:26px;font-weight:900}
.tag.hero .hmo small{display:block;font-size:11px;color:#93a1af;font-weight:600;margin-top:2px}
.tag.hero .hfoot{background:linear-gradient(135deg,#0f4c8c 0%,#0b2a44 70%);color:#fff;display:flex;align-items:center;gap:18px;padding:18px 34px}
.tag.hero .hfoot .qr{width:1.35in;height:1.35in;background:#fff;border:0;border-radius:10px;padding:6px}
.tag.hero .hfoot .txt{flex:1}
.tag.hero .hfoot .txt b{display:block;font-size:18px;letter-spacing:-.01em}
.tag.hero .hfoot .txt span{display:block;font-size:12.5px;color:rgba(255,255,255,.78);margin-top:3px}
.tag.hero .hfoot .txt .tiny{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:9.5px;color:rgba(255,255,255,.45);margin-top:8px;letter-spacing:.04em}
.tag.hero .hchips{display:flex;gap:7px;flex-wrap:wrap;margin:0 34px 14px}
.tag.hero .hchips span{border:1px solid #dbe4ec;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700;color:#3d4a57}
.tag.hero .hchips span.hsa{background:#eaf7ef;border-color:#c5e6d1;color:#14653a}
.tag.hero.t-slate .hfoot{background:linear-gradient(135deg,#1f2937,#0b0f14)}


/* hot deal */
.tag .dealflag{display:inline-block;background:#c02418;color:#fff;border-radius:999px;padding:3px 11px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.tag.full .dealflag{font-size:16px;padding:6px 18px}
.tag .price.isdeal{color:#c02418}
.tag.hero .hdeal{margin:14px 34px 0;display:inline-block;align-self:flex-start;background:#c02418;color:#fff;border-radius:999px;padding:5px 15px;font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.tag.hero .amt.isdeal{color:#c02418}
.sheet-price .amt.isdeal{color:#c02418}


/* rental */
.tag .rentflag{display:inline-block;background:#0f766e;color:#fff;border-radius:999px;padding:3px 11px;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.tag .rentgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px;margin-top:6px}
.tag .rentcell{border:1px solid var(--edge);border-radius:8px;padding:6px 8px;text-align:center;background:#f7fafc}
.tag .rentcell span{display:block;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#7b8794;font-weight:700}
.tag .rentcell b{font-size:17px;color:#0b3a6a;font-variant-numeric:tabular-nums}
.tag .rentnote{font-size:9.5px;color:#7b8794;margin-top:5px;line-height:1.45}
.tag .orrent{font-size:11.5px;color:#0f766e;font-weight:700;margin-top:5px}
.tag.full .rentcell b{font-size:30px}.tag.full .rentcell span{font-size:13px}
.tag.full .rentnote{font-size:13px}.tag.full .orrent{font-size:17px}
.tag.hero .hrent{margin:12px 34px 0}
.tag.hero .hrent .rentcell b{font-size:24px}
.tag.hero .hrent .rentnote{font-size:11.5px}


/* monthly-first rental + promo */
.tag .price .per,.tag.hero .amt .per{font-size:.42em;font-weight:800;color:#6b7785;letter-spacing:-.01em}
.tag .rentalt{font-size:11.5px;color:#3d4a57;margin-top:6px;font-weight:600}
.tag.full .rentalt{font-size:16px}
.tag .promo{display:inline-block;background:#fff4d6;border:1px solid #f0d799;color:#7a5a08;border-radius:8px;padding:5px 11px;font-size:11px;font-weight:700;margin:2px 0 6px}
.tag .promo b{color:#5c4206}
.tag.full .promo{font-size:17px;padding:8px 16px}
.tag .promoline{color:#7a5a08;font-weight:800}
.tag.hero .hpromo{margin:10px 34px 0;background:#fff4d6;border:1px solid #f0d799;color:#7a5a08;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:700;align-self:flex-start}
.tag.hero .hpromo b{color:#5c4206}


/* rental rates panel, modelled on the rental card */
.tag .rates{border:1px solid #dbe4ec;border-radius:10px;overflow:hidden;margin:4px 0 8px}
.tag .rates-head{background:linear-gradient(135deg,#0f4c8c,#0b2a44);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 13px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tag .instock{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);border-radius:999px;padding:3px 10px;font-size:10px;letter-spacing:.06em}
.tag .instock i{width:7px;height:7px;border-radius:50%;background:#37d67a}
.tag .rates-body{display:grid;grid-template-columns:1fr 1.15fr}
.tag .rate{padding:11px 13px;display:flex;flex-direction:column;gap:2px;background:#fff}
.tag .rate .lbl{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7b8794;font-weight:800;display:flex;align-items:center;gap:6px}
.tag .rate .amt{font-size:27px;font-weight:900;color:#0b2a44;line-height:1;font-variant-numeric:tabular-nums}
.tag .rate .sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}
.tag .perday{font-size:11px;font-weight:800;color:#5c4206}
.tag .savechip{background:#e8f6ed;border:1px solid #bfe3ce;color:#14653a;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800;white-space:nowrap}
.tag.full .perday{font-size:17px}.tag.full .savechip{font-size:15px;padding:4px 12px}
.tag.hero .hrent .perday{font-size:14px}.tag.hero .hrent .savechip{font-size:12.5px}
.tag .rate.best{background:#fffaef;border-left:4px solid var(--rule)}
.tag .was-amt{color:#8a95a1;text-decoration:line-through;font-weight:800}
.tag .rates-head.deal{background:linear-gradient(135deg,#c02418,#8f1a11)}
.tag .amt.isdeal{color:#c02418}
.tag .dealends{font-size:10.5px;color:#8a4b16;font-weight:700;margin-top:4px}
.tag .rate.best .amt{color:#0b3a6a}
.tag.full .rate .amt{font-size:52px}.tag.full .rate .lbl{font-size:15px}.tag.full .rate .sub{font-size:14px}
.tag.full .rates-head{font-size:18px;padding:12px 20px}
.tag.quarter .rate .amt{font-size:22px}
.tag .buyback{font-size:12px;color:#6b7785;margin-top:6px}
.tag.hero .hrent{margin:14px 34px 0}
.tag.hero .hrent .rate .amt{font-size:44px}
.tag.hero .hrent .rate .lbl{font-size:13px}
.tag.hero .hrent .rate .sub{font-size:12.5px}
.tag.hero .hrent .rates-head{font-size:15px;padding:11px 18px}
.tag.hero .hrent .rentnote{font-size:12px}
.tag.hero .hrent .buyback{font-size:15px}
.tag.hero .hbrand .kick{background:#0f766e;color:#fff;border-radius:4px;padding:2px 7px;letter-spacing:.14em}


/* rental fulfilment */
.tag .ways{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 4px}
.tag .way{border:1px solid #dbe4ec;background:#f7fafc;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;color:#33475b}
.tag .way.day{background:#eaf7ef;border-color:#9fd8b6;color:#14653a}
.tag .way.day b{color:#0f5132}
.tag .way.alert{background:#fff4ec;border-color:#f3cdb0;color:#8a4b16}
.tag.hero .hways{margin:12px 34px 0}
.tag.hero .hways .rentnote{font-size:12px;margin-top:5px}
.tag.full .way{font-size:16px;padding:8px 16px}
.tag.hero .hrent .way{font-size:13px;padding:7px 14px}
.tag.quarter .way{font-size:9.5px;padding:4px 8px}


/* colour themes */
.tag.t-classic{--rule:#c9a227}
.tag.t-slate{--rule:#2f8fd0}
.tag.t-slate .bandrule{background:linear-gradient(90deg,#1f2937 0%,#111827 45%,var(--rule) 45%,var(--rule) 100%)}
.tag.t-slate .price,.tag.t-slate .name{color:#111827}
.tag.t-gold{--rule:#0b3a6a}
.tag.t-gold .bandrule{background:linear-gradient(90deg,#f5b301 0%,#e0a100 55%,#0b3a6a 55%,#0b3a6a 100%);height:7px}
.tag.t-gold .hole{border-color:rgba(58,42,0,.6)}

@media print{
  .bar,.util,.nav,.crumbs,.strip,.page,.tray,.sheet h3,.sheet .note,.sizes,.actions,.close{display:none!important}
  body{background:#fff}
  .ov{position:static;padding:0;background:#fff;display:block;overflow:visible}
  .sheet{width:auto;padding:0;border-radius:0}
  .tagwrap{background:#fff;padding:0;gap:0}
  .tag{box-shadow:none;margin:6px;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}


/* examples gallery */
#examplesView > .page{display:block!important;max-width:1240px}
.exgrid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:14px}
@media (min-width:1000px){.exgrid{grid-template-columns:1fr 1fr}}
.excard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;overflow:hidden}
.excard h3{margin:0 0 2px;font-size:15px;color:var(--navy)}
.excard p{margin:0 0 10px;font-size:13px;color:var(--muted)}
.exstage{height:440px;overflow:hidden;border-radius:10px;background:#f6f8fb;display:flex;justify-content:center;align-items:flex-start;padding:10px}
.exstage .tag{transform:scale(.56);transform-origin:top center;box-shadow:0 4px 14px rgba(15,32,54,.12);flex:0 0 auto}


/* ---- dark QR footer bar, the detail that gave the hero its character ---- */
.tag .footbar{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#0f4c8c 0%,#0b2a44 72%);color:#fff;padding:12px 16px;margin-top:auto}
.tag .footbar .qr{width:1.15in;height:1.15in;background:#fff;border:0;border-radius:9px;padding:6px;flex:0 0 auto}
.tag .footbar .scan{display:flex;flex-direction:column;gap:2px;font-size:11px;color:rgba(255,255,255,.8);padding:0}
.tag .footbar .scan b{font-size:13.5px;color:#fff;letter-spacing:-.01em}
.tag .footbar .idline{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:9.5px;color:rgba(255,255,255,.5);margin-top:4px;display:block}
.tag.full .footbar{padding:22px 30px;gap:22px}
.tag.full .footbar .qr{width:2in;height:2in}
.tag.full .footbar .scan{font-size:16px}.tag.full .footbar .scan b{font-size:22px}
.tag.full .footbar .idline{font-size:13px}
.tag.quarter .footbar{padding:9px 12px;gap:9px}
.tag.quarter .footbar .qr{width:.95in;height:.95in}
.tag.quarter .footbar .scan b{font-size:11.5px}
.tag.t-slate .footbar{background:linear-gradient(135deg,#1f2937,#0b0f14)}
.tag .legal{background:#fff}


/* ---- chips: three families that look different at a glance ---- */
.tag .badges,.tag .ways{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 0}
.tag .chip,.tag .way{display:inline-flex;align-items:center;gap:7px;border-radius:10px;padding:6px 11px;font-size:11px;font-weight:700;line-height:1.25;border:1px solid transparent;text-transform:none}
.tag .chip i,.tag .way i{font-style:normal;font-size:12px;line-height:1}
.tag .way em{font-style:normal;font-weight:600;opacity:.75}
.tag .chip.hsa{background:#0f766e;color:#fff}
.tag .chip.match{background:#fff;border-color:#e6d09a;color:#7a5a08}
.tag .way.day{background:#eaf7ef;border-color:#9fd8b6;color:#14653a}
.tag .way.day b{color:#0f5132}
.tag .way{background:#f4f7fa;border-color:#dbe4ec;color:#33475b}
.tag.full .chip,.tag.full .way{font-size:16px;padding:9px 16px;border-radius:12px}
.tag.quarter .chip,.tag.quarter .way{font-size:9.5px;padding:4px 8px;gap:5px}


/* ---- shelf strip, rebuilt ---- */
.tag.strip{width:7.5in;min-height:2.4in;padding:0;overflow:hidden}
.tag.strip .stripgrid{display:grid;grid-template-columns:1.9in 1fr 1.65in;height:100%;min-height:2.4in}
.tag.strip .pic{border:0;border-right:1px solid var(--edge);border-radius:0;height:auto;padding:12px}
.tag.strip .stripmain{padding:12px 16px;display:flex;flex-direction:column;gap:3px;justify-content:center}
.tag.strip .striptop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}
.tag.strip .striptop .ecarelogo{height:26px}
.tag.strip .striptop .cat{font-size:9.5px;letter-spacing:.14em}
.tag.strip .name{font-size:15px;line-height:1.2}
.tag.strip .brandline{font-size:10px}
.tag.strip .stripprice{display:flex;align-items:baseline;gap:10px;margin-top:5px;flex-wrap:wrap}
.tag.strip .stripprice .big{font-size:34px;font-weight:900;color:#0b2a44;line-height:1;font-variant-numeric:tabular-nums}
.tag.strip .stripprice .big.isdeal{color:#c02418}
.tag.strip .stripprice .big small{font-size:.4em;color:#6b7785;font-weight:800}
.tag.strip .stripprice .side{font-size:11.5px;color:#7b8794;display:flex;align-items:center;gap:8px}
.tag.strip .stripqr{background:linear-gradient(135deg,#0f4c8c,#0b2a44);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px;font-size:10px;text-align:center;line-height:1.4}
.tag.strip .stripqr .qr{width:1.2in;height:1.2in;background:#fff;border:0;border-radius:9px;padding:5px}
.tag.strip .stripqr b{font-size:14px;letter-spacing:.02em}
.tag.strip.t-slate .stripqr{background:linear-gradient(135deg,#1f2937,#0b0f14)}


/* purchase price, in the Surprise-me voice */
.tag .pbig{margin:2px 0 6px}
.tag .pbig-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}
.tag .pbig-kicker{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#7b8794}
.tag .pbig.isdeal .pbig-kicker{color:#c02418}
.tag .instock.light{display:inline-flex;align-items:center;gap:6px;background:#eaf7ef;border:1px solid #bfe3ce;color:#14653a;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.tag .instock.light i{width:7px;height:7px;border-radius:50%;background:#37d67a}
.tag .pbig-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tag .pbig-amt{font-size:48px;font-weight:900;letter-spacing:-.035em;line-height:.95;color:#0b2a44;font-variant-numeric:tabular-nums}
.tag .pbig.isdeal .pbig-amt{color:#c02418}
.tag .pbig-side{text-align:right;font-size:12px;color:#7b8794;display:flex;flex-direction:column;gap:1px}
.tag .pbig-side s{font-size:13px}
.tag .pbig-side em{font-style:normal;color:#14653a;font-weight:900;font-size:14px}
.tag.full .pbig-amt{font-size:104px}
.tag.full .pbig-kicker{font-size:16px}
.tag.full .pbig-side{font-size:18px}.tag.full .pbig-side s{font-size:20px}.tag.full .pbig-side em{font-size:22px}
.tag.quarter .pbig-amt{font-size:34px}
.tag.quarter .pbig-side{font-size:10.5px}.tag.quarter .pbig-side em{font-size:11.5px}


/* the dark bar closes the tag */
.tag .footbar{border-radius:0 0 13px 13px}
.tag .finein{display:block;margin-top:6px;font-size:9px;color:rgba(255,255,255,.45);line-height:1.4}
.tag.full .finein{font-size:12px}


/* promo banner */
.tag .promobar{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0f766e 0%,#115e59 60%,#134e4a 100%);color:#fff;border-radius:10px;padding:9px 12px;margin:8px 0 4px;box-shadow:0 2px 8px rgba(15,118,110,.28)}
.tag .promoicon{font-size:18px;line-height:1}
.tag .promotext{flex:1;display:flex;flex-direction:column;line-height:1.25}
.tag .promotext b{font-size:13px;letter-spacing:.01em}
.tag .promotext span{font-size:10px;color:rgba(255,255,255,.78);font-weight:600}
.tag .promovalue{background:rgba(255,255,255,.16);border-radius:8px;padding:4px 10px;font-size:15px;font-weight:900;text-align:center;line-height:1.05}
.tag .promovalue small{display:block;font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.tag.full .promobar{padding:16px 20px;gap:16px}
.tag.full .promotext b{font-size:22px}.tag.full .promotext span{font-size:14px}
.tag.full .promoicon{font-size:30px}.tag.full .promovalue{font-size:26px;padding:8px 18px}
.tag.quarter .promobar{padding:7px 9px;gap:7px}
.tag.quarter .promotext b{font-size:11px}.tag.quarter .promotext span{font-size:9px}
.tag.quarter .promovalue{font-size:12px;padding:3px 7px}
.tag.hero .hpromo{display:none}


/* phone first in the dark bar */
.tag .callnow{font-size:13px;color:rgba(255,255,255,.72);font-weight:600;letter-spacing:.01em}
.tag .callnow b{display:inline-block;font-size:21px;color:#fff;letter-spacing:-.01em;margin-left:4px}
.tag .scanline{font-size:10.5px;color:rgba(255,255,255,.72);margin-top:3px;display:block}
.tag.full .callnow{font-size:20px}.tag.full .callnow b{font-size:38px}
.tag.full .scanline{font-size:15px}
.tag.quarter .callnow b{font-size:16px}
.tag.quarter .scanline{font-size:9px}
.tag.hero .hfoot .callnow b{font-size:26px}



/* ═══════════════════════════════════════════════════════════════════
   PAGE GEOMETRY — everything above is styling; this is what makes a
   tag an exact fraction of a letter sheet (8.5 × 11in, 0.25in margin,
   so the printable area is 8 × 10.5in). 1in = 96px on screen.
   ═══════════════════════════════════════════════════════════════════ */
.sheet{width:8in;height:10.5in;display:grid;gap:0;background:#fff;margin:0 auto 14px;box-shadow:0 2px 12px rgba(0,0,0,.14);overflow:hidden}
.sheet.s-full,.sheet.s-sheet,.sheet.s-hero{grid-template-columns:1fr;grid-template-rows:1fr}
.sheet.s-half{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
.sheet.s-quarter{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.sheet.s-strip{grid-template-columns:1fr;grid-template-rows:repeat(4,1fr)}
.sheet .cell{overflow:hidden;display:flex;padding:.12in}
.sheet .cell.cut{border-right:1px dashed #d8e0e8;border-bottom:1px dashed #d8e0e8}

/* a tag fills whatever cell it is given, and never spills out of it */
.sheet .tag{width:100%;height:100%;max-width:none;margin:0;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;box-shadow:none;border:1px solid var(--line)}
.sheet .tag .inner{flex:1;min-height:0;overflow:hidden}
.sheet .tag .footbar{margin-top:auto}

/* pictures scale to the space left over instead of forcing the tag taller */
.tag .pic{min-height:0}
.tag .pic img{width:100%;height:100%;max-height:100%;object-fit:contain}
.sheet.s-quarter .tag .pic{max-height:1.5in}
.sheet.s-half .tag .pic{max-height:2.6in}
.sheet.s-full .tag .pic{max-height:4.6in}
.sheet.s-hero .tag .hpic{flex:1;min-height:0;max-height:4.2in}
.sheet.s-hero .tag .hpic .pic{height:100%}
.sheet.s-strip .tag .pic{max-height:1.9in;max-width:1.9in}

/* the spec sheet is a document, so it uses the whole page */
.sheet.s-sheet .tag{border:0;border-radius:0}
.sheet.s-sheet .tag .inner{display:flex;flex-direction:column;gap:.12in}
.sheet.s-sheet .sheet-mid{flex:1;min-height:0}
.sheet.s-sheet .sheet-mid .pic{max-height:3.4in}

@media print{
  @page{size:letter portrait;margin:.25in}
  html,body{margin:0;padding:0;background:#fff}
  .sheet{box-shadow:none;margin:0;page-break-after:always;break-after:page}
  .sheet:last-child{page-break-after:auto;break-after:auto}
  .sheet .cell.cut{border-color:#e8eef4}
  .printbar,.sheetnote{display:none!important}
}


/* the showroom card is read from across a room: centre it and let the photo breathe */
.sheet.s-hero .tag{text-align:center;padding:.3in .35in;gap:.1in}
.sheet.s-hero .htop{display:flex;align-items:center;justify-content:space-between;margin-bottom:.06in}
.sheet.s-hero .hpic{display:flex;align-items:center;justify-content:center;flex:1;min-height:2.6in}
.sheet.s-hero .hpic .pic{width:100%;height:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:center}
.sheet.s-hero .hbrand{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sheet.s-hero .hname{font-size:34px;line-height:1.1;margin:.04in 0 .08in}
.sheet.s-hero .hstat{display:flex;align-items:baseline;justify-content:center;gap:10px}
.sheet.s-hero .hstat b{font-size:40px}
.sheet.s-hero .hprice{justify-content:center;gap:18px}
.sheet.s-hero .hprice .amt{font-size:76px}
.sheet.s-hero .hmo{justify-content:center}
.sheet.s-hero .hways{margin-top:auto}
.sheet.s-hero .ways,.sheet.s-hero .badges{justify-content:center}
.sheet.s-hero .rentnote{text-align:center}
.sheet.s-hero .rates{text-align:left}
.sheet.s-hero .footbar{margin:.16in -.35in -.3in;border-radius:0}

/* the spec sheet is a document: two columns of copy, then photo and table */
.sheet.s-sheet .tag{padding:0}
.sheet.s-sheet .inner{padding:.22in .3in}
.sheet.s-sheet .sheet-head h2{font-size:24px;line-height:1.15}
.sheet.s-sheet .sheet-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:.25in}
.sheet.s-sheet .sheet-mid{display:grid;grid-template-columns:1fr 1.1fr;gap:.25in;align-items:start}
.sheet.s-sheet .sheet-specs{width:100%;border-collapse:collapse;font-size:12px}
.sheet.s-sheet .sheet-specs td{border-bottom:1px solid var(--line);padding:5px 6px}
.sheet.s-sheet .sheet-specs td:first-child{color:var(--muted);width:45%}
.sheet.s-sheet .sheet-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.14in;border-top:2px solid var(--line)}
.sheet.s-sheet .sheet-price .amt{font-size:40px;font-weight:900;color:var(--navy);line-height:1}
.sheet.s-sheet .sheet-price .amt.isdeal{color:#c02418}
.sheet.s-sheet .footbar{border-radius:0}

/* full page: bigger everything, photo on the left of the facts */
.sheet.s-full .tag .inner{display:flex;flex-direction:column;gap:.08in;padding:.22in .28in;min-height:0;overflow:hidden}
.sheet.s-full .tag .name{font-size:27px;line-height:1.16}


/* quarter page: a shelf tag. Keep the photo, the name, two specs, the price and the bar. */
.sheet.s-quarter .tag{font-size:11px}
.sheet.s-quarter .tag .inner{display:flex;flex-direction:column;gap:3px;padding:8px 10px;min-height:0;overflow:hidden}
.sheet.s-quarter .tag .pic{height:1.15in;flex:0 0 auto}
.sheet.s-quarter .tag .name{font-size:14px;line-height:1.2}
.sheet.s-quarter .tag .specs{font-size:10px}
.sheet.s-quarter .tag .rentnote,.sheet.s-quarter .tag .finance,.sheet.s-quarter .tag .badges{display:none}
.sheet.s-quarter .tag .ways{gap:4px;margin-top:2px}
.sheet.s-quarter .tag .way{font-size:9px;padding:3px 7px}
.sheet.s-quarter .tag .pbig-amt{font-size:30px}
.sheet.s-quarter .tag .footbar{padding:7px 9px;gap:8px}
.sheet.s-quarter .tag .qr{width:.62in;height:.62in}
.sheet.s-quarter .tag .callnow b{font-size:14px}
.sheet.s-quarter .tag .scanline,.sheet.s-quarter .tag .finein{font-size:8px}
.sheet.s-quarter .tag .idline{font-size:8px}

/* shelf strip: name, one spec, price, code. Nothing else. */
.sheet.s-strip .tag{font-size:11px;border-radius:8px}
.sheet.s-strip .tag .stripgrid{display:grid;grid-template-columns:1.6in 1fr 1.1in;gap:10px;align-items:center;height:100%;padding:8px 10px}
.sheet.s-strip .tag .pic{height:100%;max-height:1.6in}
.sheet.s-strip .tag .name{font-size:15px;line-height:1.15}
.sheet.s-strip .tag .stripprice .big{font-size:30px}
.sheet.s-strip .tag .stripqr{text-align:center;font-size:8.5px}
.sheet.s-strip .tag .stripqr .qr{width:.78in;height:.78in;margin:0 auto 3px}

/* half page: the everyday tag, photo beside the facts */
.sheet.s-half .tag .inner{display:grid;grid-template-columns:2.7in 1fr;gap:.18in;padding:.16in .2in;min-height:0}
.sheet.s-half .tag .pic{height:2.4in}
.sheet.s-half .tag .halfmain{display:flex;flex-direction:column;min-height:0;overflow:hidden}
/* A busy half tag (sale price, savings badge, HSA, delivery and pickup) ran its last line, the
   delivery note, under the dark bar. Slightly tighter rows and a one-line note give it room. */
.sheet.s-half .tag .halfmain{gap:5px}
.sheet.s-half .tag .rentnote{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet.s-half .tag .name{font-size:19px;line-height:1.2}
.sheet.s-half .tag .pbig-amt{font-size:42px}

/* the QR tile keeps its shape at every size */
.tag .footbar .qr{background:#fff;border-radius:6px;padding:4px;display:block}
.tag .footbar .qr svg{width:100%;height:100%;display:block}


/* full page: the facts column can be long, so give it room and let the photo shrink */
.sheet.s-full .tag .pic{height:3.5in;flex:0 1 auto}
.sheet.s-full .tag .specs{font-size:14px}
.sheet.s-full .tag .specs div{margin-bottom:2px}
.sheet.s-full .tag .pbig-amt{font-size:58px}
.sheet.s-full .tag .ways{gap:6px}
.sheet.s-full .tag .way{font-size:12px}
.sheet.s-full .tag .finance{font-size:13px}

/* strips sit inside their cell exactly */
.sheet.s-strip .cell{padding:.08in}
.sheet.s-strip .tag{height:100%}


/* the phone cue on the scan line */
.tag .scanemoji{font-size:1.05em}
.tag.full .scanline,.sheet.s-full .tag .scanline{font-size:14px}

/* shelf strip: the code is a reference, not a headline */
.sheet.s-strip .tag .stripqr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff;padding:6px}
.sheet.s-strip .tag .stripqr .scanhere{display:block;font-size:10.5px;font-weight:800;color:#fff;letter-spacing:.02em}
.sheet.s-strip .tag .stripqr .scanwhat{display:block;font-size:8.5px;color:rgba(255,255,255,.78);line-height:1.2}
.sheet.s-strip .tag .stripqr .stripid{display:block;margin-top:2px;font-style:normal;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:8.5px;color:rgba(255,255,255,.7);font-weight:600}
.sheet.s-strip .tag .stripqr .qr{background:#fff;border-radius:5px;padding:3px}
.sheet.s-strip .tag .brandline{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:9.5px}
.sheet.s-strip .tag .stripmain{min-width:0}

/* quarter page: the photo gets a real, centred box */
.sheet.s-quarter .tag .pic{height:1.35in;width:100%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px;overflow:hidden}
.sheet.s-quarter .tag .pic img{width:100%;height:100%;object-fit:contain}
.sheet.s-quarter .tag .brandline{font-size:9px;letter-spacing:.14em}
.sheet.s-quarter .tag .rule{margin:3px 0}

/* showroom card: photo first and large, then the facts */
.sheet.s-hero .tag .hpic{min-height:3.4in;max-height:4.6in;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.12in;margin-bottom:.08in}
.sheet.s-hero .tag .hpic .pic{border:0;padding:0;background:transparent}
.sheet.s-hero .tag .hpic .pic img{width:100%;height:100%;object-fit:contain}
.sheet.s-hero .tag .hstat{margin:.02in 0 .06in;border-left:0;padding-left:0;justify-content:center}
.sheet.s-hero .tag .footbar .scan{text-align:left}
.sheet.s-hero .tag .hstat b{font-size:30px;line-height:1}
.sheet.s-hero .tag .hstat span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sheet.s-hero .tag .hname{font-size:27px;margin:.02in 0 .04in}
.sheet.s-hero .tag .hprice .amt{font-size:64px}
.sheet.s-hero .tag .hprice .side{font-size:15px}
.sheet.s-hero .tag .hmo{font-size:14px;margin-top:.03in}
.sheet.s-hero .tag .footbar .callnow b{font-size:22px}


/* quarter page has room for the essentials only */
.sheet.s-quarter .tag .ways{display:none}
.sheet.s-quarter .tag .scanline{display:none}
.sheet.s-quarter .tag .badges{display:flex;margin-top:3px}
.sheet.s-quarter .tag .chip{font-size:9px;padding:3px 8px}
.sheet.s-quarter .tag .footbar .scan{gap:1px}
.sheet.s-quarter .tag .callnow{font-size:10px}
.tag .qrhint{display:none}
.sheet.s-quarter .tag .qrhint{display:block;font-size:8.5px;color:rgba(255,255,255,.8);font-weight:700;margin-top:2px}


/* Photos: the frame owns the space, the picture fits inside it. Applies at every size,
   and last in the file so nothing earlier can undo it. */
.sheet .tag .pic{display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.sheet .tag .pic img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block}
.sheet.s-full .tag .pic{height:3in;flex:0 1 3in;min-height:1.8in;width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.08in}
.sheet.s-half .tag .pic{height:2.4in;flex:0 0 2.4in}
.sheet.s-strip .tag .pic{height:100%;flex:1 1 auto;max-height:2.2in}
.sheet.s-sheet .tag .sheet-mid .pic{height:2.9in;flex:0 0 2.9in;width:100%}
.sheet.s-hero .tag .hpic .pic{height:100%;flex:1 1 auto;width:100%}


/* A long title or an extra spec must not push a full page over the edge:
   the photo gives up space first, then the title clamps. */
.sheet.s-full .tag .pic{min-height:1.2in}
.sheet.s-full .tag .name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-half .tag .name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-quarter .tag .name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-half .tag .pic{flex:0 1 2.4in;min-height:1.1in}


/* Only the photo may shrink. Everything else keeps its natural height, or flexbox
   squashes the name and the rates panel to nothing on a crowded page. */
.sheet .tag .inner > *{flex:0 0 auto}
.sheet .tag .inner > .pic{flex:0 1 auto}
.sheet .tag .halfmain{flex:1 1 auto;min-height:0}
.sheet .tag .halfmain > *{flex:0 0 auto}
.sheet .tag .rates,.sheet .tag .rates-body,.sheet .tag .promobar{flex:0 0 auto}
.sheet .tag .name{overflow-wrap:anywhere}


/* A rental full page carries the most furniture: rates, promo, chips and a note.
   Tighten those blocks at this size so it still lands inside the page. */
.sheet.s-full .tag .pic{min-height:.9in}
.sheet.s-full .tag .rates-head{padding:7px 12px}
.sheet.s-full .tag .rates-body .rate{padding:9px 12px}
.sheet.s-full .tag .rates .amt{font-size:34px}
.sheet.s-full .tag .promobar{padding:10px 14px;margin:6px 0 4px}
.sheet.s-full .tag .promotext b{font-size:16px}
.sheet.s-full .tag .promovalue{font-size:18px;padding:5px 12px}
.sheet.s-full .tag .rentnote{font-size:11px;line-height:1.35}
.sheet.s-full .tag .ways{margin-top:4px}
.sheet.s-full .tag .badges{margin-top:4px}
.sheet.s-full .tag .footbar{padding:12px 16px}


/* last of the slack on a crowded full page */
.sheet.s-full .tag .pic{min-height:.7in}
.sheet.s-full .tag .inner{gap:.05in;padding:.18in .26in}
.sheet.s-full .tag .specs{font-size:13px}
.sheet.s-full .tag .rule{margin:4px 0}
.sheet.s-full .tag .rates .amt{font-size:30px}
.sheet.s-full .tag .rates-body .rate{padding:7px 11px}


/* The photo takes the slack when the page has room, down to a floor when it doesn't. */
.sheet.s-full .tag .pic{flex:1 1 auto;height:auto;min-height:.7in;max-height:3.6in}
.sheet.s-half .tag .pic{flex:1 1 auto;height:auto;min-height:1.1in;max-height:2.6in;align-self:stretch}


/* ── FULL PAGE: a poster, photo-led ───────────────────────────────── */
.sheet.s-full .tag .inner{display:flex;flex-direction:column;gap:.1in;padding:.2in .28in;min-height:0;overflow:hidden}
.sheet.s-full .tag .fullpic{flex:1 1 auto;min-height:1.5in;max-height:5.4in;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:.1in;overflow:hidden}
.sheet.s-full .tag .fullpic .pic{width:100%;height:100%;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:center}
.sheet.s-full .tag .fullpic .pic img{width:100%;height:100%;object-fit:contain}
.sheet.s-full .tag .fullpic .nopic{font-size:90px}
.sheet.s-full .tag .fullfacts{flex:0 0 auto;display:flex;flex-direction:column;gap:.04in}
.sheet.s-full .tag .brandline{font-size:12px;letter-spacing:.16em}
.sheet.s-full .tag .name{font-size:28px;line-height:1.14;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-full .tag .specs{font-size:14px}
.sheet.s-full .tag .pbig-amt{font-size:62px}
.sheet.s-full .tag .pbig-side{font-size:16px}
.sheet.s-full .tag .pbig-side em{font-size:19px}


/* The facts on a full page are a caption, not a document: keep them compact so the
   photo gets the rest of the sheet. */
.sheet.s-full .tag .name{font-size:24px;-webkit-line-clamp:2}
.sheet.s-full .tag .specs{font-size:12.5px}
.sheet.s-full .tag .specs div{margin-bottom:1px}
.sheet.s-full .tag .pbig-amt{font-size:52px}
.sheet.s-full .tag .pbig-kicker{font-size:12px}
.sheet.s-full .tag .pbig-side{font-size:14px}
.sheet.s-full .tag .pbig-side em{font-size:16px}
.sheet.s-full .tag .finance{font-size:11.5px;padding:7px 10px}
.sheet.s-full .tag .way{font-size:10.5px;padding:4px 9px}
.sheet.s-full .tag .chip{font-size:10.5px;padding:4px 10px}
.sheet.s-full .tag .rentnote{font-size:9.5px;line-height:1.3}
.sheet.s-full .tag .footbar{padding:10px 14px}
.sheet.s-full .tag .callnow b{font-size:26px}
.sheet.s-full .tag .scanline{font-size:11px}
.sheet.s-full .tag .footbar .qr{width:1.15in;height:1.15in}
.sheet.s-full .tag .fullfacts{gap:.03in}


/* the PDF reminder */
.printbtns{display:flex;gap:8px;align-items:center}
.pdfhow{position:fixed;inset:0;background:rgba(9,17,24,.6);display:grid;place-items:center;z-index:60;padding:18px}
.pdfhow[hidden]{display:none}
.pdfhow-box{background:#fff;border-radius:14px;max-width:520px;width:100%;padding:22px 24px;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.pdfhow-box h3{margin:0 0 8px;font-size:19px;color:#0b3a6a}
.pdfhow-box p{margin:0 0 10px;font-size:14px;color:#26313c}
.pdfhow-box ol{margin:0 0 12px 18px;font-size:14px;color:#26313c;line-height:1.7}
.pdfhow-box .note{font-size:12.5px;color:#6b7785}
.pdfskip{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7785;margin:10px 0 14px}
.pdfskip input{width:18px;height:18px}
.pdfhow-box .btn-row{display:flex;gap:10px;justify-content:flex-end}
.pdfhow-box .btn{border:0;border-radius:9px;padding:11px 18px;font-weight:800;font-size:14px;cursor:pointer;background:#f5b301;color:#3a2a00}
.pdfhow-box .btn.ghost{background:#eef2f6;color:#26313c}
.pdfhow-box .btn.green{background:#2f9e44;color:#fff}
@media print{.pdfhow{display:none!important}}


/* ── the rental promo: cream and gold, not green ───────────────────── */
.tag .promobar{background:linear-gradient(135deg,#fffaf0 0%,#fff3d6 100%);color:#4a3510;
  border:1px solid #f0d79a;border-left:5px solid var(--gold);box-shadow:none}
.tag .promotext b{color:#7a5400}
.tag .promotext span{color:#8a6f3d}
.tag .promoicon{filter:none}
.tag .promovalue{background:var(--gold);color:#3a2a00}
.tag .promovalue small{opacity:.75;color:#3a2a00}

/* ── shelf strip without a QR: no empty dark panel ─────────────────── */
.sheet.s-strip .tag.noqr .stripgrid{grid-template-columns:1.6in 1fr auto}
.sheet.s-strip .tag .stripcode{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
  padding:0 6px;border-left:1px solid var(--line);min-width:.9in}
.sheet.s-strip .tag .stripcode-l{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sheet.s-strip .tag .stripcode-n{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:800;color:var(--navy)}
.sheet.s-strip .tag.noqr .name{font-size:17px}


.sheet.s-strip .tag .stripcode-tel{font-size:12px;font-weight:800;color:var(--navy);white-space:nowrap}
.sheet.s-strip .tag .stripcode{gap:1px;text-align:right}


/* a preview shows one cell of the sheet, at the cell's real proportions */
.sheet.onecell{box-shadow:none;margin:0;background:transparent;height:auto;
  grid-template-columns:1fr;grid-template-rows:1fr}
.sheet.onecell.s-full,.sheet.onecell.s-sheet,.sheet.onecell.s-hero{height:10.5in}
.sheet.onecell.s-half{height:5.25in}
.sheet.onecell.s-quarter{width:4in;height:5.25in}
.sheet.onecell.s-strip{height:2.6in}
.sheet.onecell .cell{padding:0}
.manstage{min-height:360px;align-items:flex-start}


/* A quarter-page rental has no room for the promo banner, and the photo must never
   be squeezed to nothing to make space. */
.sheet.s-quarter .tag .promobar{display:none}
.sheet.s-quarter .tag .pic{min-height:1in}
.sheet.s-quarter .tag .rates{margin:2px 0}
.sheet.s-quarter .tag .rates-head{padding:4px 8px;font-size:9.5px}
.sheet.s-quarter .tag .rates-body .rate{padding:5px 8px}
.sheet.s-quarter .tag .rates .amt{font-size:21px}
.sheet.s-quarter .tag .rates .lbl{font-size:8.5px}
.sheet.s-quarter .tag .perday{font-size:9px}
.sheet.s-quarter .tag .savechip{font-size:8.5px;padding:2px 6px}
.sheet.s-quarter .tag .instock{font-size:8px;padding:2px 7px}


/* ── showroom card: the photo flexes, nothing else is allowed to clip ── */
.sheet.s-hero .tag > *{flex:0 0 auto}
.sheet.s-hero .tag .hpic{flex:1 1 auto;min-height:1.6in;max-height:4.6in}
.sheet.s-hero .tag .htop{padding-bottom:.02in}
.sheet.s-hero .tag .hname{font-size:25px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-hero .tag .hprice .amt{font-size:56px}
.sheet.s-hero .tag .hmo{font-size:13px}
.sheet.s-hero .tag .hways{margin-top:.04in}
.sheet.s-hero .tag .rentnote{font-size:9.5px;line-height:1.3}
.sheet.s-hero .tag .way{font-size:10.5px;padding:4px 9px}
.sheet.s-hero .tag .footbar{padding:11px 14px}

/* a rental showroom card carries the rates table as well */
.sheet.s-hero .tag .hrent{flex:0 0 auto}
.sheet.s-hero .tag .hrent .rates-head{padding:7px 12px}
.sheet.s-hero .tag .hrent .rates-body .rate{padding:9px 12px}
.sheet.s-hero .tag .hrent .amt{font-size:32px}
.sheet.s-hero .tag .hrent .promobar{padding:9px 12px;margin:6px 0 0}
.sheet.s-hero .tag .hrent .promotext b{font-size:14px}
.sheet.s-hero .tag .hrent .promovalue{font-size:15px;padding:4px 10px}


/* ── the dark bar, balanced across the width ──────────────────────── */
.tag .footbar{display:flex;align-items:center;gap:14px}
.tag .footbar .scan{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.tag .footbar .fb-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;text-align:right;
  padding-left:14px;border-left:1px solid rgba(255,255,255,.18);max-width:32%}
.tag .fb-right-lab{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.tag .fb-right-id{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;font-weight:800;color:#fff;line-height:1.2}
.tag .fb-right-model{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10px;color:rgba(255,255,255,.7)}
.tag .fb-right-cat{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:4px}
.tag .idline{display:none}
.sheet.s-full .tag .fb-right-id{font-size:16px}
.sheet.s-quarter .tag .fb-right{padding-left:9px;max-width:38%}
.sheet.s-quarter .tag .fb-right-id{font-size:11px}
.sheet.s-quarter .tag .fb-right-model,.sheet.s-quarter .tag .fb-right-cat{display:none}

/* ── shelf strip: four lanes, vertically centred ───────────────────── */
.sheet.s-strip .tag .stripgrid{display:grid;grid-template-columns:1.75in minmax(0,1fr) auto auto;gap:.14in;
  align-items:center;height:100%;padding:.09in .12in}
.sheet.s-strip .tag.noqr .stripgrid{grid-template-columns:1.75in minmax(0,1fr) auto auto}
.sheet.s-strip .tag .strippic{height:100%;display:flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px;overflow:hidden}
.sheet.s-strip .tag .strippic .pic{width:100%;height:100%;border:0;padding:0;background:transparent}
.sheet.s-strip .tag .strippic .pic img{width:100%;height:100%;object-fit:contain}
.sheet.s-strip .tag .stripmain{min-width:0;display:flex;flex-direction:column;gap:2px}
.sheet.s-strip .tag .stripcat{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sheet.s-strip .tag .name{font-size:15px;line-height:1.16;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-strip .tag .brandline{font-size:9.5px;letter-spacing:.1em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-strip .tag .stripprice{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding:0 .08in;
  border-left:1px solid var(--line);min-width:1.5in;justify-content:center;height:100%}
.sheet.s-strip .tag .stripprice .big{font-size:30px;font-weight:900;color:var(--navy);line-height:1;letter-spacing:-.02em}
.sheet.s-strip .tag .stripprice .big small{font-size:13px;font-weight:800;color:var(--muted)}
.sheet.s-strip .tag .stripprice .side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-top:3px;font-size:10.5px;color:var(--muted)}
.sheet.s-strip .tag .stripqr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:var(--navy);border-radius:8px;padding:6px 8px;color:#fff;height:100%;min-width:1.05in}
.sheet.s-strip .tag .stripqr .qr{width:.72in;height:.72in;background:#fff;border-radius:5px;padding:3px}
.sheet.s-strip .tag .stripqr-t{display:flex;flex-direction:column;align-items:center;font-size:8px;color:rgba(255,255,255,.78);line-height:1.2}
.sheet.s-strip .tag .stripqr-t b{font-size:10px;color:#fff}
.sheet.s-strip .tag .stripqr .stripid{font-style:normal;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:8px;color:rgba(255,255,255,.7)}
.sheet.s-strip .tag .ecarelogo{display:none}


/* ── the header band: compact by default, so the content gets the room ── */

/* a long alias name wraps rather than pushing the band wider */
.tag .cat{text-align:right;max-width:58%;line-height:1.25}


/* ── HEADER BAND: one margin system for every size ──────────────────
   The logo sits on the same left edge as the product name below it, the
   category on the matching right edge, and the band's height is set per
   size rather than inherited. Side padding here matches the body padding
   of the same size, so nothing looks shifted.
   ─────────────────────────────────────────────────────────────────── */
.tag .band{width:100%}
.tag .bandinner{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.tag .band .logo{display:flex;align-items:center;flex:0 0 auto}
.tag .cat{flex:0 1 auto;text-align:right;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.tag .bandrule{display:block;width:100%}

/* full page — body padding is .22in .28in */
.sheet.s-full .tag .bandinner{padding:.16in .28in .12in}
.sheet.s-full .tag .ecarelogo{height:46px}
.sheet.s-full .tag .cat{font-size:13px;max-width:52%}
.sheet.s-full .tag .bandrule{height:5px}

/* half page — body padding is .16in .2in */
.sheet.s-half .tag .bandinner{padding:.12in .2in .09in}
.sheet.s-half .tag .ecarelogo{height:34px}
.sheet.s-half .tag .cat{font-size:11px;max-width:50%}
.sheet.s-half .tag .bandrule{height:4px}

/* quarter page — body padding is 8px 10px */
.sheet.s-quarter .tag .bandinner{padding:7px 10px 6px}
.sheet.s-quarter .tag .ecarelogo{height:24px}
.sheet.s-quarter .tag .cat{font-size:8.5px;max-width:48%;letter-spacing:.1em}
.sheet.s-quarter .tag .bandrule{height:3px}

/* spec sheet — body padding is .22in .3in */
.sheet.s-sheet .tag .bandinner{padding:.16in .3in .12in}
.sheet.s-sheet .tag .ecarelogo{height:50px}
.sheet.s-sheet .tag .cat{font-size:13px;max-width:50%}
.sheet.s-sheet .tag .bandrule{height:5px}

/* showroom card — its own top row, same edges as the body (.35in) */
.sheet.s-hero .tag .htop{padding:.06in 0 .1in;margin:0;align-items:center}
.sheet.s-hero .tag .ecarelogo{height:48px}
.sheet.s-hero .tag .hcat{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800;text-align:right;max-width:50%}

/* the standard (taller) header keeps the same margins, only a bigger logo */
.sheet.s-full .tag.h-standard .ecarelogo{height:62px}
.sheet.s-half .tag.h-standard .ecarelogo{height:46px}
.sheet.s-quarter .tag.h-standard .ecarelogo{height:32px}
.sheet.s-sheet .tag.h-standard .ecarelogo{height:66px}
.sheet.s-hero .tag.h-standard .ecarelogo{height:64px}


/* spec sheet: a single column of prose fills the width rather than leaving a gap */
.sheet.s-sheet .sheet-cols.one{grid-template-columns:1fr}
.sheet.s-sheet .sheet-meta{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.sheet.s-sheet .sheet-meta span{font-size:12.5px;color:var(--muted)}
.sheet.s-sheet .sheet-meta b{color:var(--navy);margin-left:5px}
.sheet.s-sheet .sheet-mid{align-items:start}


/* the single-tag page: name on the left, the two actions on the right */
.printbar.tagonly{justify-content:space-between;gap:16px}
.tagonly-name{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.printbar .btn.ghost{background:rgba(255,255,255,.14);color:#fff}


/* the card shown inside the product page's overlay */
body.printpage.embedded{background:#fff;margin:0}
body.printpage.embedded .sheetwrap{padding:0;gap:0}
body.printpage.embedded .sheet{box-shadow:none;margin:0}


/* ── HALF PAGE: the facts column must fit, not be cut ────────────────
   The photo column gives up width when the facts need it, and the
   rental furniture is sized for a 5.25in cell.
   ─────────────────────────────────────────────────────────────────── */
.sheet.s-half .tag .inner{grid-template-columns:2.35in minmax(0,1fr);gap:.16in;padding:.14in .2in}
.sheet.s-half .tag .halfmain{overflow:visible}
.sheet.s-half .tag .name{font-size:17px;-webkit-line-clamp:2}
.sheet.s-half .tag .specs{font-size:11px}
.sheet.s-half .tag .specs div{margin-bottom:1px}
.sheet.s-half .tag .rule{margin:4px 0}
.sheet.s-half .tag .pbig-amt{font-size:38px}
.sheet.s-half .tag .finance{font-size:10.5px;padding:6px 9px}
.sheet.s-half .tag .badges,.sheet.s-half .tag .ways{margin-top:4px;gap:5px}
.sheet.s-half .tag .chip,.sheet.s-half .tag .way{font-size:9.5px;padding:3px 8px}
.sheet.s-half .tag .rentnote{font-size:9px;line-height:1.3}

/* rental: rates, promo and chips all inside the same 5.25in */
.sheet.s-half .tag .rates{margin:3px 0}
.sheet.s-half .tag .rates-head{padding:5px 10px;font-size:10px}
.sheet.s-half .tag .rates-body .rate{padding:6px 10px}
.sheet.s-half .tag .rates .amt{font-size:24px}
.sheet.s-half .tag .rates .lbl{font-size:9px}
.sheet.s-half .tag .perday{font-size:9.5px}
.sheet.s-half .tag .savechip{font-size:9px;padding:2px 7px}
.sheet.s-half .tag .promobar{padding:6px 9px;margin:4px 0 0;gap:7px}
.sheet.s-half .tag .promoicon{font-size:14px}
.sheet.s-half .tag .promotext b{font-size:11px}
.sheet.s-half .tag .promotext span{font-size:8.5px}
.sheet.s-half .tag .promovalue{font-size:12px;padding:3px 8px}
.sheet.s-half .tag .promovalue small{font-size:7px}

/* ── SHELF STRIP: two lines of name, one of brand, nothing cut ─────── */
.sheet.s-strip .tag .stripmain{justify-content:center;gap:1px}
.sheet.s-strip .tag .name{font-size:13.5px;line-height:1.18;max-height:2.4em}
.sheet.s-strip .tag .brandline{font-size:9px;line-height:1.3;max-height:1.3em}
.sheet.s-strip .tag .stripcat{font-size:8px}


/* the half rental still needs a little: the photo yields, the note shortens */
.sheet.s-half .tag .inner{grid-template-columns:2.1in minmax(0,1fr)}
.sheet.s-half .tag .pic{flex:0 1 auto;min-height:1in;max-height:2.2in;align-self:start}
.sheet.s-half .tag .rentnote{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-half .tag .pbig-amt{font-size:34px}
.sheet.s-half .tag .rates .amt{font-size:22px}

/* the strip's own text boxes clamp rather than clip */
.sheet.s-strip .tag .name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:none}
.sheet.s-strip .tag .brandline{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;max-height:none}


/* the last of the half-page rental: the photo yields, the type tightens */
.sheet.s-half .tag .pic{max-height:1.5in}
.sheet.s-half .tag .specs{font-size:10px}
.sheet.s-half .tag .name{font-size:15.5px}
.sheet.s-half .tag .rates-head{padding:4px 9px;font-size:9.5px}
.sheet.s-half .tag .rates-body .rate{padding:5px 9px}
.sheet.s-half .tag .rates .amt{font-size:20px}
.sheet.s-half .tag .promobar{padding:5px 8px}
.sheet.s-half .tag .promotext b{font-size:10.5px}
.sheet.s-half .tag .badges{margin-top:3px}
.sheet.s-half .tag .rentnote{margin-top:3px}


/* a half-page rental carries the most furniture of any tag: two specs, and the
   promo on one line */
.sheet.s-half .tag.m-rent .specs div:nth-child(n+3),
.sheet.s-half .tag.m-both .specs div:nth-child(n+3){display:none}
.sheet.s-half .tag.m-rent .promotext span,
.sheet.s-half .tag.m-both .promotext span{display:none}
.sheet.s-half .tag.m-rent .promobar,
.sheet.s-half .tag.m-both .promobar{padding:5px 8px;margin-top:3px}
.sheet.s-half .tag.m-rent .pic,
.sheet.s-half .tag.m-both .pic{max-height:1.3in}
.sheet.s-half .tag.m-rent .rentnote,
.sheet.s-half .tag.m-both .rentnote{-webkit-line-clamp:1}


/* and the rest: one spec line, a tighter rates table */
.sheet.s-half .tag.m-rent .specs div:nth-child(n+2),
.sheet.s-half .tag.m-both .specs div:nth-child(n+2){display:none}
.sheet.s-half .tag.m-rent .rates-body .rate,
.sheet.s-half .tag.m-both .rates-body .rate{padding:4px 9px}
.sheet.s-half .tag.m-rent .rates .amt,
.sheet.s-half .tag.m-both .rates .amt{font-size:18px}
.sheet.s-half .tag.m-rent .perday,
.sheet.s-half .tag.m-both .perday{font-size:9px}
.sheet.s-half .tag.m-rent .name,
.sheet.s-half .tag.m-both .name{font-size:15px;-webkit-line-clamp:2}


/* a contained photo letterboxes rather than overflowing its frame */
.sheet .tag .pic img{height:auto;width:auto;max-width:100%;max-height:100%}
.sheet.s-half .tag.m-rent .promobar,
.sheet.s-half .tag.m-both .promobar{padding:4px 8px}
.sheet.s-half .tag.m-rent .promovalue,
.sheet.s-half .tag.m-both .promovalue{font-size:11px;padding:2px 7px}


/* ═══════════════════════════════════════════════════════════════════
   THEMES — three looks, each consistent from the band to the bar.
   The dark bar stays dark in all three: it carries white type, the QR
   and the phone number, and it is the anchor of the design.
   ═══════════════════════════════════════════════════════════════════ */

/* White & navy — the default */
.tag.t-classic{--rule:#c9a227;--barA:#0b3a6a;--barB:#0a2540;--accent:#0b3a6a}
.tag.t-classic .bandinner{background:#fff}
.tag.t-classic .bandrule{background:linear-gradient(90deg,#0b3a6a 0%,#0b3a6a 45%,#f5b301 45%,#f5b301 100%)}

/* Charcoal — quieter, for showrooms with warm lighting */
.tag.t-slate{--rule:#2f8fd0;--barA:#1f2937;--barB:#0b0f14;--accent:#1f2937}
.tag.t-slate .bandinner{background:#fff}
.tag.t-slate .bandrule{background:linear-gradient(90deg,#1f2937 0%,#111827 45%,#2f8fd0 45%,#2f8fd0 100%)}
.tag.t-slate .name,.tag.t-slate .hname,.tag.t-slate .pbig-amt,.tag.t-slate .rates .amt{color:#111827}
.tag.t-slate .rates-head{background:linear-gradient(135deg,#1f2937,#0b0f14)}
.tag.t-slate .rate.best{border-left-color:#2f8fd0;background:#f3f7fb}

/* Gold band — a filled gold header, navy everywhere else */
.tag.t-gold{--rule:#0b3a6a;--barA:#0b3a6a;--barB:#0a2540;--accent:#0b3a6a}
.tag.t-gold .bandinner{background:linear-gradient(135deg,#f9d26b,#f5b301);border-radius:0}
.tag.t-gold .cat{color:#5a4200}
.tag.t-gold .bandrule{background:linear-gradient(90deg,#0b3a6a 0%,#0b3a6a 60%,#c9a227 60%,#c9a227 100%);height:5px}
.tag.t-gold .rates-head{background:linear-gradient(135deg,#0b3a6a,#0a2540)}

/* the dark bar reads from the theme, so it is never a surprise */
.tag .footbar{background:linear-gradient(135deg,var(--barA,#0b3a6a),var(--barB,#0a2540));color:#fff}
.tag .footbar .scan{color:rgba(255,255,255,.78)}
.tag .footbar .callnow b{color:#fff}
.sheet.s-strip .tag .stripqr{background:var(--barA,#0b3a6a)}
.tag.hero .hfoot{background:linear-gradient(135deg,var(--barA,#0b3a6a),var(--barB,#0a2540))}


/* the photo frame is bounded by its column, and the picture by the frame */
.sheet .tag .pic{width:100%;min-width:0;box-sizing:border-box}
.sheet .tag .pic img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.sheet.s-half .tag .inner{align-items:start}


/* ═══════════════════════════════════════════════════════════════════
   MATCHING HEADER — the band takes the same colour as the bar at the
   foot, so a tag is framed top and bottom. The logo sits on a white
   tile inside it, because the logo artwork is full colour.
   ═══════════════════════════════════════════════════════════════════ */
.tag.band-match .bandinner{background:linear-gradient(135deg,var(--barA,#0b3a6a),var(--barB,#0a2540));color:#fff}
.tag.band-match .cat{color:rgba(255,255,255,.82)}
.tag.band-match .mark{color:#fff}
.tag.band-match .band .logo{background:#fff;border-radius:8px;padding:5px 9px;display:inline-flex;align-items:center}
.tag.band-match .bandrule{height:3px;background:linear-gradient(90deg,var(--rule,#c9a227) 0%,var(--rule,#c9a227) 100%)}

/* gold theme: the band and the bar are gold together, with dark type */
.tag.t-gold.band-match .bandinner{background:linear-gradient(135deg,#f9d26b,#f5b301);color:#3a2a00}
.tag.t-gold.band-match .cat{color:#5a4200}
.tag.t-gold.band-match .band .logo{background:#fff}
.tag.t-gold.band-match .footbar{background:linear-gradient(135deg,#f5b301,#e0a300);color:#3a2a00}
.tag.t-gold.band-match .footbar .scan{color:rgba(58,42,0,.78)}
.tag.t-gold.band-match .footbar .callnow b,.tag.t-gold.band-match .fb-right-id{color:#2a1f00}
.tag.t-gold.band-match .footbar .fb-right{border-left-color:rgba(58,42,0,.22)}
.tag.t-gold.band-match .finein,.tag.t-gold.band-match .fb-right-lab,
.tag.t-gold.band-match .fb-right-cat,.tag.t-gold.band-match .fb-right-model{color:rgba(58,42,0,.6)}
.tag.t-gold.band-match .footbar .qr,.tag.t-gold.band-match .stripqr .qr{background:#fff}
.sheet.s-strip .tag.t-gold.band-match .stripqr{background:linear-gradient(135deg,#f5b301,#e0a300);color:#3a2a00}
.sheet.s-strip .tag.t-gold.band-match .stripqr .scanhere,
.sheet.s-strip .tag.t-gold.band-match .stripqr-t b{color:#2a1f00}
.sheet.s-strip .tag.t-gold.band-match .stripqr-t,
.sheet.s-strip .tag.t-gold.band-match .stripid{color:rgba(58,42,0,.7)}

/* the showroom card's own top row follows the same rule */
.sheet.s-hero .tag.band-match .htop{background:linear-gradient(135deg,var(--barA,#0b3a6a),var(--barB,#0a2540));
  color:#fff;margin:-.3in -.35in 0;padding:.12in .35in}
.sheet.s-hero .tag.band-match .hcat{color:rgba(255,255,255,.82)}
.sheet.s-hero .tag.band-match .htop .logo{background:#fff;border-radius:8px;padding:5px 9px}
.sheet.s-hero .tag.t-gold.band-match .htop{background:linear-gradient(135deg,#f9d26b,#f5b301);color:#3a2a00}
.sheet.s-hero .tag.t-gold.band-match .hcat{color:#5a4200}


/* the single-tag page bar */
.printbar .btn.big{min-height:48px;padding:0 20px;font-size:15px;display:inline-flex;align-items:center;gap:8px;border-radius:11px}
.printbar .btn.ghost.big{background:#fff;color:#0b2a44}
.tagonly-head{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.tagonly-kicker{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.tagonly-name{font-weight:800;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* ═══════════════════════════════════════════════════════════════════
   RESERVATION CARD (older layout) — travels with equipment left at a hotel or an Airbnb.
   Read from across a lobby: the name is the biggest thing on it, the
   details sit in a quiet block, and one line sells to everyone else.
   ═══════════════════════════════════════════════════════════════════ */
.sheet.s-full .tag.delivery,.sheet.s-half .tag.delivery{display:flex;flex-direction:column}
.tag.delivery .dbody{flex:1;min-height:0;display:flex;flex-direction:column;padding:.26in .3in;gap:.1in;overflow:hidden}
.tag.delivery .dkicker{font-size:13px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.tag.delivery .dname{font-size:78px;font-weight:900;line-height:.98;letter-spacing:-.02em;color:var(--navy);
  overflow-wrap:anywhere;text-transform:uppercase}
.tag.delivery .dlines{display:grid;gap:5px;margin-top:.06in;border-top:2px solid var(--line);padding-top:.1in}
.tag.delivery .dl{display:flex;gap:12px;align-items:baseline}
.tag.delivery .dl-k{flex:0 0 1.15in;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tag.delivery .dl-v{font-size:19px;font-weight:700;color:var(--ink)}
.tag.delivery .dhold{margin-top:auto;font-size:13px;color:var(--muted);background:#f8fafc;border-left:4px solid var(--gold);
  border-radius:0 10px 10px 0;padding:10px 14px;line-height:1.45}

.tag.delivery .dpromo{display:flex;align-items:center;gap:16px;margin-top:.12in;
  background:linear-gradient(135deg,var(--barA,#0b3a6a),var(--barB,#0a2540));color:#fff;border-radius:12px;padding:14px 16px}
.tag.delivery .dpromo-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.tag.delivery .dpromo-t b{font-size:19px;line-height:1.2}
.tag.delivery .dpromo-t span{font-size:12.5px;color:rgba(255,255,255,.78)}
.tag.delivery .dpromo-qr{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 auto}
.tag.delivery .dpromo-qr .qr{width:1.05in;height:1.05in;background:#fff;border-radius:8px;padding:5px;display:block}
.tag.delivery .dpromo-qr .qr svg{width:100%;height:100%;display:block}
.tag.delivery .dpromo-qr em{font-style:normal;font-size:9px;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.75);max-width:1.2in;text-align:center;line-height:1.25}

.tag.delivery .dfoot{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:.1in;
  border-top:1px solid var(--line);padding-top:.09in}
.tag.delivery .dfoot-l{font-size:12px;color:var(--muted)}
.tag.delivery .dfoot-tel{font-size:22px;font-weight:900;color:var(--navy)}
.tag.delivery .dfoot-a{font-size:11.5px;color:var(--muted)}

/* half page: the same card, sized for two on a sheet */
.sheet.s-half .tag.delivery .dbody{padding:.16in .2in;gap:.06in}
.sheet.s-half .tag.delivery .dname{font-size:46px}
.sheet.s-half .tag.delivery .dkicker{font-size:11px}
.sheet.s-half .tag.delivery .dl-k{flex-basis:.95in;font-size:9.5px}
.sheet.s-half .tag.delivery .dl-v{font-size:14px}
.sheet.s-half .tag.delivery .dhold{font-size:10.5px;padding:7px 10px}
.sheet.s-half .tag.delivery .dpromo{padding:9px 12px;gap:11px;margin-top:.07in}
.sheet.s-half .tag.delivery .dpromo-t b{font-size:13.5px}
.sheet.s-half .tag.delivery .dpromo-t span{font-size:9.5px}
.sheet.s-half .tag.delivery .dpromo-qr .qr{width:.72in;height:.72in}
.sheet.s-half .tag.delivery .dpromo-qr em{font-size:7.5px;max-width:.85in}
.sheet.s-half .tag.delivery .dfoot-tel{font-size:16px}
.sheet.s-half .tag.delivery .dfoot-l,.sheet.s-half .tag.delivery .dfoot-a{font-size:9.5px}


/* the name owns the space a delivery card has spare */
.tag.delivery .dname{margin-bottom:.02in}
.tag.delivery .dlines{margin-bottom:auto}
.tag.delivery .dhold{margin-top:.12in}
.sheet.s-full .tag.delivery .dname{font-size:96px}
.sheet.s-full .tag.delivery .dl-v{font-size:21px}
.sheet.s-full .tag.delivery .dkicker{font-size:15px}


/* ═══════════════════════════════════════════════════════════════════
   RESERVATION CARDS — drop-off, store hold, pickup
   A card that travels with equipment left at a hotel, an Airbnb or a
   front desk. Three ink settings: the layout never changes, only what
   is filled in, because a card that costs a nickel does not get printed.
   ═══════════════════════════════════════════════════════════════════ */
.tag.dcard{display:flex;flex-direction:column;background:#fff;height:100%}
.tag.dcard .dc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:.15in .28in;
  background:linear-gradient(135deg,var(--barA,#0b3a6a),var(--barB,#0a2540));color:#fff}
.tag.dcard .dc-logo{background:#fff;border-radius:10px;padding:8px 14px;display:flex}
.tag.dcard .dc-logo img{height:.5in;width:auto;display:block}
.tag.dcard .dc-logo.dc-word{font-weight:900;font-size:22px;color:var(--navy);align-items:center}
.tag.dcard .dc-stamp{border:2px solid rgba(255,255,255,.55);border-radius:999px;padding:6px 16px;
  font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.tag.dcard .dc-svc{display:flex;background:linear-gradient(90deg,#f5b301,#e0a300);color:#3a2a00}
.tag.dcard .dc-svc span.wide{flex:1.9}
.dc-svc span{flex:1;text-align:center;padding:7px 4px;font-size:11.5px;font-weight:900;
  letter-spacing:.11em;text-transform:uppercase;border-right:1px solid rgba(58,42,0,.22)}
.tag.dcard .dc-svc span:last-child{border-right:0}
.tag.dcard .dc-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:.17in .28in;gap:.08in;overflow:hidden}
.tag.dcard .dc-mt{margin-top:auto}

.tag.dcard .dc-who{display:flex;align-items:flex-end;gap:.22in;background:#f6f9fc;border:2px solid #dbe6f0;
  border-radius:14px;padding:.14in .2in;flex:0 0 auto}
.tag.dcard .dc-whoL{min-width:0}
.tag.dcard .dc-k{font-size:11.5px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.tag.dcard .dc-n{font-size:58px;font-weight:900;color:var(--navy);line-height:.95;letter-spacing:-.03em;
  text-transform:uppercase;overflow-wrap:anywhere}
.tag.dcard .dc-from{font-size:12.5px;color:#4a5560;margin-top:3px;line-height:1.25}
.tag.dcard .dc-from b{color:var(--navy);font-weight:800}
.tag.dcard .dc-inv{margin-left:auto;text-align:right;flex:0 0 auto}
.tag.dcard .dc-inv b{display:block;font-size:29px;font-weight:900;color:var(--navy);line-height:1.05}
.tag.dcard .dc-inv span{font-size:10.5px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

.tag.dcard .dc-piece{display:flex;align-items:center;gap:14px;background:var(--navy);color:#fff;border-radius:12px;
  padding:.11in .18in;flex:0 0 auto}
.tag.dcard .dc-num{background:var(--gold);color:#3a2a00;border-radius:9px;padding:6px 13px;font-size:15px;font-weight:900;white-space:nowrap}
.tag.dcard .dc-nm{font-size:26px;font-weight:900;line-height:1.1;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag.dcard .dc-mark{margin-left:auto;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;opacity:.72;white-space:nowrap}

.tag.dcard .dc-man{border:2px solid #dbe6f0;border-radius:12px;overflow:hidden;background:#fff;flex:0 0 auto}
.tag.dcard .dc-mh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;background:#f6f9fc;
  padding:6px 13px;border-bottom:2px solid #dbe6f0}
.tag.dcard .dc-mh b{font-size:11.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.tag.dcard .dc-mh span{font-size:11px;color:var(--muted)}
.tag.dcard .dc-man ul{list-style:none;margin:0;padding:5px 8px;display:grid;gap:1px}
.tag.dcard .dc-man li{display:flex;align-items:center;gap:10px;padding:4px 7px;border-radius:7px;font-size:13px}
.tag.dcard .dc-box{width:16px;height:16px;border:2px solid var(--navy);border-radius:4px;flex:0 0 auto}
.tag.dcard .dc-iname{font-weight:700}
.tag.dcard .dc-q{margin-left:auto;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tag.dcard .dc-man li.this{background:#eaf2fb}
.tag.dcard .dc-man li.this .dc-box{background:var(--navy);position:relative}
.tag.dcard .dc-man li.this .dc-box::after{content:'';position:absolute;left:4px;top:0;width:5px;height:10px;
  border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.tag.dcard .dc-man.tight li{padding:0 7px;font-size:10.5px;line-height:1.5}
.tag.dcard .dc-man.tight .dc-box{width:12px;height:12px}
.tag.dcard .dc-man.tight .dc-mh{padding:3px 13px}

.tag.dcard .dc-sum{display:flex;align-items:center;gap:10px;border:2px solid #dbe6f0;border-radius:11px;padding:6px 12px;flex:0 0 auto}
.tag.dcard .dc-sum b{font-size:13px;color:var(--navy);white-space:nowrap}
.tag.dcard .dc-sum span{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}

.tag.dcard .dc-ask{background:#fbf7ef;border:1px solid #efe2c6;border-left:5px solid var(--gold);border-radius:0 10px 10px 0;
  padding:9px 14px;color:#4a4437;flex:0 0 auto;display:grid;gap:4px}
.tag.dcard .dc-en{font-size:12.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tag.dcard .dc-en b{color:var(--navy)}
.tag.dcard .dc-es{font-size:11.5px;line-height:1.4;color:#7a6f57;border-top:1px solid #eadfc4;padding-top:5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tag.dcard .dc-es b{color:#8a6414}

.tag.dcard .dc-area{background:#0f766e;color:#fff;border-radius:11px;padding:8px 16px;text-align:center;flex:0 0 auto;
  font-size:15px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}

.tag.dcard .dc-offer{display:grid;grid-template-columns:1.35in minmax(1.9in,1fr) 2.2in;gap:14px;align-items:center;
  border:3px solid var(--navy);border-radius:14px;padding:12px 15px;background:#fff;flex:0 0 auto}
.tag.dcard .dc-qrbox{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.tag.dcard .dc-qrbox .qr{width:1.35in;height:1.35in;background:#fff;border:2px solid var(--navy);border-radius:9px;padding:5px;display:block}
.tag.dcard .dc-qrbox .qr svg{width:100%;height:100%;display:block}
.tag.dcard .dc-qrurl{font-size:10px;font-weight:900;color:var(--navy);text-align:center;line-height:1.15;max-width:1.6in}
.tag.dcard .dc-t{min-width:0}
.tag.dcard .dc-t b{display:block;font-size:19px;color:var(--navy);line-height:1.2;margin-bottom:4px}
.tag.dcard .dc-t span{display:block;font-size:12px;color:#4a4437;line-height:1.4;margin-top:3px}
.tag.dcard .dc-fee{font-size:10.5px;color:#8a7f6d;margin-top:5px}
.tag.dcard .dc-telbox{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;text-align:center}
.tag.dcard .dc-lab{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tag.dcard .dc-tel{font-size:30px;font-weight:900;color:var(--navy);line-height:1.05;white-space:nowrap;letter-spacing:-.03em}
.tag.dcard .dc-tel2{font-size:13px;font-weight:800;color:#8a6414;white-space:nowrap}

.tag.dcard .dc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:3px solid var(--navy);
  padding-top:.1in;flex:0 0 auto;min-width:0}
.tag.dcard .dc-site{font-size:15px;font-weight:900;color:var(--navy);white-space:nowrap}
.tag.dcard .dc-addr{font-size:11.5px;color:var(--muted);text-align:right;min-width:0}

.tag.dcard .dc-tear{border-top:2px dashed #b9c6d3;margin-top:.08in;padding-top:.08in;display:flex;align-items:center;
  justify-content:space-between;gap:14px;flex:0 0 auto}
.tag.dcard .dc-tearL{display:flex;align-items:center;gap:12px}
.tag.dcard .dc-minilogo{height:.3in;width:auto;display:block}
.tag.dcard .dc-teartxt{font-size:12px;color:#4a4437;line-height:1.35}
.tag.dcard .dc-teartxt b{display:block;font-size:14px;color:var(--navy)}
.tag.dcard .dc-teartel{font-size:21px;font-weight:900;color:var(--navy);white-space:nowrap;letter-spacing:-.02em}

/* ── half page ── */
.tag.dcard.d-half .dc-body{padding:.12in .2in;gap:.04in}
.tag.dcard.d-half .dc-logo img{height:.34in}
.tag.dcard.d-half .dc-stamp{font-size:8.5px;padding:3px 10px}
.tag.dcard.d-half .dc-svc span{font-size:8.5px;padding:4px 3px}
.tag.dcard.d-half .dc-who{padding:.08in .13in}
.tag.dcard.d-half .dc-n{font-size:32px}
.tag.dcard.d-half .dc-from{font-size:9.5px;margin-top:2px}
.tag.dcard.d-half .dc-inv b{font-size:18px}
.tag.dcard.d-half .dc-piece{padding:.05in .13in}
.tag.dcard.d-half .dc-nm{font-size:16px}
.tag.dcard.d-half .dc-num{font-size:11px;padding:4px 9px}
.tag.dcard.d-half .dc-mark{font-size:8.5px}
.tag.dcard.d-half .dc-sum{padding:5px 11px}
.tag.dcard.d-half .dc-ask{padding:5px 10px;gap:2px}
.tag.dcard.d-half .dc-en{font-size:9.5px;line-height:1.35;-webkit-line-clamp:2}
.tag.dcard.d-half .dc-es{font-size:8px;-webkit-line-clamp:1;padding-top:3px}
.tag.dcard.d-half .dc-area{display:none}
.tag.dcard.d-half .dc-offer{grid-template-columns:.95in minmax(1.5in,1fr) 1.45in;gap:10px;padding:8px 10px}
.tag.dcard.d-half .dc-qrbox .qr{width:.88in;height:.88in}
.tag.dcard.d-half .dc-qrurl{font-size:7.5px;max-width:1.05in}
.tag.dcard.d-half .dc-t b{font-size:13px}
.tag.dcard.d-half .dc-t span{font-size:9.5px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.tag.dcard.d-half .dc-fee{display:none}
.tag.dcard.d-half .dc-tel{font-size:21px}
.tag.dcard.d-half .dc-tel2{font-size:10px}
.tag.dcard.d-half .dc-lab{font-size:8px}
.tag.dcard.d-half .dc-site{font-size:10.5px}
.tag.dcard.d-half .dc-addr{font-size:8.5px;line-height:1.3;max-width:3.4in}

/* ── ink saver: outlines instead of fills, same layout ── */
.tag.dcard.ink-save .dc-head{background:#fff;color:var(--navy);border-bottom:3px solid var(--navy)}
.tag.dcard.ink-save .dc-logo{padding:0;border-radius:0}
.tag.dcard.ink-save .dc-stamp{border-color:var(--navy);color:var(--navy)}
.tag.dcard.ink-save .dc-svc{background:#fff;color:var(--navy);border-bottom:2px solid var(--gold)}
.tag.dcard.ink-save .dc-svc span{border-right-color:#dbe6f0}
.tag.dcard.ink-save .dc-who{background:#fff;border-color:var(--navy)}
.tag.dcard.ink-save .dc-piece{background:#fff;color:var(--navy);border:3px solid var(--navy)}
.tag.dcard.ink-save .dc-num{background:#fff;color:var(--navy);border:2px solid var(--gold)}
.tag.dcard.ink-save .dc-mh{background:#fff}
.tag.dcard.ink-save .dc-man li.this{background:#fff;outline:2px solid var(--navy);outline-offset:-2px}
.tag.dcard.ink-save .dc-ask{background:#fff}
.tag.dcard.ink-save .dc-area{background:#fff;color:#0f766e;border:3px solid #0f766e}

/* ── bare bones: for a card that gets taped to a box and thrown away ── */
.tag.dcard.ink-max .dc-head{background:#fff;color:var(--navy);border-bottom:2px solid var(--navy);padding:.1in .28in}
.tag.dcard.ink-max .dc-logo{padding:0;background:none}
.tag.dcard.ink-max .dc-logo img{height:.38in;filter:grayscale(1)}
.tag.dcard.ink-max .dc-stamp{border:0;color:var(--navy);padding:0;font-size:13px}
.tag.dcard.ink-max .dc-svc{display:none}
.tag.dcard.ink-max .dc-who{background:#fff;border:0;border-bottom:2px solid var(--navy);border-radius:0;padding:.07in 0}
.tag.dcard.ink-max .dc-piece{background:#fff;color:var(--navy);border:0;border-bottom:2px solid var(--navy);border-radius:0;padding:.05in 0}
.tag.dcard.ink-max .dc-num{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.tag.dcard.ink-max .dc-man{border-width:1px}
.tag.dcard.ink-max .dc-mh{background:#fff;border-bottom-width:1px}
.tag.dcard.ink-max .dc-man li.this{background:#fff;font-weight:900}
.tag.dcard.ink-max .dc-man li.this .dc-box{background:#fff}
.tag.dcard.ink-max .dc-man li.this .dc-box::after{border-color:var(--navy)}
.tag.dcard.ink-max .dc-ask{background:#fff;border:0;border-left:3px solid var(--navy)}
.tag.dcard.ink-max .dc-area{background:#fff;color:var(--navy);border:0;border-top:2px solid var(--navy);border-radius:0;padding:6px 0}
.tag.dcard.ink-max .dc-offer{border-width:2px}
.tag.dcard.ink-max .dc-qrbox .qr{border-width:1px}
.tag.dcard.ink-max .dc-foot{border-top-width:2px}


/* a store hold carries a date, because a shelf is not storage */
.tag.dcard .dc-hold{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;background:#fbf7ef;border:2px solid #f0dfb8;
  border-radius:12px;padding:.1in .18in;flex:0 0 auto}
.tag.dcard .dc-hold-k{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#8a6414}
.tag.dcard .dc-hold-v{font-size:24px;font-weight:900;color:var(--navy);line-height:1.1}
.tag.dcard .dc-hold-n{font-size:11.5px;color:#7a6f57;margin-left:auto;text-align:right;max-width:3.4in}
.tag.dcard.d-half .dc-hold{padding:.06in .13in}
.tag.dcard.d-half .dc-hold-v{font-size:15px}
.tag.dcard.d-half .dc-hold-k{font-size:8.5px}
.tag.dcard.d-half .dc-hold-n{font-size:8.5px;max-width:2.4in}
.tag.dcard.ink-save .dc-hold,.tag.dcard.ink-max .dc-hold{background:#fff;border-color:var(--gold)}


/* a store hold, when the pitch is off: the three things a customer needs */
.tag.dcard .dc-visit{display:grid;grid-template-columns:1.6fr 1.2fr auto;gap:14px;align-items:center;
  border:3px solid var(--navy);border-radius:14px;padding:13px 16px;flex:0 0 auto}
.tag.dcard .dc-visit-c{min-width:0;display:flex;flex-direction:column;gap:2px}
.tag.dcard .dc-visit-k{font-size:10.5px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tag.dcard .dc-visit-v{font-size:16px;font-weight:800;color:var(--navy);line-height:1.25}
.tag.dcard .dc-visit-tel{font-size:30px;font-weight:900;color:var(--navy);line-height:1.05;white-space:nowrap;letter-spacing:-.03em}
.tag.dcard.d-half .dc-visit{padding:8px 11px;gap:10px}
.tag.dcard.d-half .dc-visit-v{font-size:11px}
.tag.dcard.d-half .dc-visit-tel{font-size:19px}
.tag.dcard.d-half .dc-visit-k{font-size:8px}


/* ═══════════════════════════════════════════════════════════════════
   FAMILIES — colour means one thing: this item is discounted, and why.
   Everything at its normal price is navy, rentals included. The colours
   arrive as variables on the tag itself, so no layout changes.
   ═══════════════════════════════════════════════════════════════════ */
.tag .cat{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.tag .kindword{display:inline-flex;align-items:center;background:var(--rule,#c9a227);color:#2a1f00;
  border-radius:999px;padding:4px 14px;font-size:12px;font-weight:900;letter-spacing:.16em;
  text-transform:uppercase;white-space:nowrap}
.tag .catword{opacity:.88}
.sheet.s-quarter .tag .kindword{font-size:8.5px;padding:3px 9px;letter-spacing:.1em}
.sheet.s-strip .tag .kindword{font-size:8px;padding:2px 8px;letter-spacing:.08em}

/* the reason ribbon: what kind of discount this is */
.tag .reasonbar{display:flex;align-items:center;gap:10px;background:var(--barA,#0b3a6a);color:#fff;
  padding:6px 14px;font-size:14px;font-weight:900}
.tag .reasonbar .grade{margin-left:auto;border:2px solid rgba(255,255,255,.5);border-radius:999px;
  padding:2px 10px;font-size:11px;font-weight:900;white-space:nowrap}
.sheet.s-quarter .tag .reasonbar{font-size:10px;padding:4px 10px}
.sheet.s-quarter .tag .reasonbar .grade{font-size:8px;padding:1px 7px;border-width:1.5px}
.sheet.s-strip .tag .reasonbar{display:none}

/* why it is this price */
.tag .whybox{background:#f6f9fc;border:2px solid #dbe6f0;border-radius:11px;padding:9px 13px;
  font-size:12.5px;line-height:1.45;color:var(--ink);flex:0 0 auto}
.tag .whybox b{color:var(--navy)}
.tag .gradenote{display:block;margin-top:3px;font-size:11.5px;color:var(--muted)}
.sheet.s-quarter .tag .whybox{font-size:9.5px;padding:6px 9px;line-height:1.35}
.sheet.s-quarter .tag .gradenote{font-size:8.5px}
.sheet.s-strip .tag .whybox{display:none}

/* one only */
.tag .onlyone{display:flex;align-items:center;gap:9px;background:#fbf7ef;border:2px solid var(--gold);
  border-radius:10px;padding:7px 13px;font-size:13.5px;font-weight:800;color:#7a5200;flex:0 0 auto}
.tag .onlyone.few{border-color:#dbe6f0;background:#f6f9fc;color:var(--muted);font-weight:700}
.sheet.s-quarter .tag .onlyone{font-size:10px;padding:5px 9px}
.sheet.s-strip .tag .onlyone{display:none}

/* trust */
.tag .tchips{display:flex;gap:7px;flex-wrap:wrap;flex:0 0 auto}
.tag .tchip{border:2px solid var(--teal,#0f766e);color:var(--teal,#0f766e);border-radius:999px;
  padding:4px 11px;font-size:11.5px;font-weight:800}
.tag .tchip.on{background:var(--teal,#0f766e);color:#fff}
.tag .tchip.warn{border-color:#9a3412;color:#9a3412}
.sheet.s-quarter .tag .tchip{font-size:8.5px;padding:2px 8px;border-width:1.5px}
.sheet.s-strip .tag .tchips{display:none}

/* the percent-off flag, beside the saving */
.tag .offflag{display:inline-flex;align-items:baseline;gap:6px;background:var(--barA,#0b3a6a);color:#fff;
  border-radius:10px;padding:6px 12px;margin-left:12px;align-self:center}
.tag .offflag b{font-size:26px;font-weight:900;line-height:1}
.tag .offflag span{font-size:11px;font-weight:800;letter-spacing:.08em}
.tag.fam-deal .offflag,.tag.fam-buy .offflag{background:#b91c1c}
.sheet.s-quarter .tag .offflag{padding:4px 9px;margin-left:8px}
.sheet.s-quarter .tag .offflag b{font-size:16px}
.sheet.s-quarter .tag .offflag span{font-size:8.5px}
.sheet.s-strip .tag .offflag{display:none}
.tag .pbig-row{flex-wrap:wrap}

/* ── ink saver on tags: the fills come out, the layout does not move ── */
.tag.ink-save .bandinner,.tag.ink-max .bandinner{background:#fff!important;color:var(--barA)!important}
.tag.ink-save .band,.tag.ink-max .band{border-bottom:3px solid var(--barA)}
.tag.ink-save .cat,.tag.ink-max .cat{color:var(--barA)!important}
.tag.ink-save .band .logo,.tag.ink-max .band .logo{background:transparent;padding:0}
.tag.ink-save .kindword,.tag.ink-max .kindword{background:#fff;color:var(--barA);border:2px solid var(--barA)}
.tag.ink-save .reasonbar,.tag.ink-max .reasonbar{background:#fff;color:var(--barA);border-bottom:2px solid var(--barA)}
.tag.ink-save .reasonbar .grade,.tag.ink-max .reasonbar .grade{border-color:var(--barA)}
.tag.ink-save .footbar,.tag.ink-max .footbar{background:#fff!important;color:var(--barA)!important;border-top:3px solid var(--barA)}
.tag.ink-save .footbar .scan,.tag.ink-max .footbar .scan,
.tag.ink-save .finein,.tag.ink-max .finein,
.tag.ink-save .fb-right-lab,.tag.ink-max .fb-right-lab,
.tag.ink-save .fb-right-cat,.tag.ink-max .fb-right-cat,
.tag.ink-save .fb-right-model,.tag.ink-max .fb-right-model{color:#5b6774!important}
.tag.ink-save .callnow b,.tag.ink-max .callnow b,
.tag.ink-save .fb-right-id,.tag.ink-max .fb-right-id{color:var(--barA)!important}
.tag.ink-save .footbar .qr,.tag.ink-max .footbar .qr{background:#fff;border:2px solid var(--barA)}
.tag.ink-save .footbar .fb-right,.tag.ink-max .footbar .fb-right{border-left-color:rgba(0,0,0,.18)}
.tag.ink-save .rates-head,.tag.ink-max .rates-head{background:#fff!important;color:var(--barA)!important;border:2px solid var(--barA)}
.tag.ink-save .stripqr,.tag.ink-max .stripqr{background:#fff!important;color:var(--barA)!important;border:2px solid var(--barA)}
.tag.ink-save .offflag,.tag.ink-max .offflag{background:#fff;color:#b91c1c;border:2px solid currentColor}
.tag.ink-save .tchip.on,.tag.ink-max .tchip.on{background:#fff;color:var(--teal)}
.tag.ink-save .chip,.tag.ink-max .chip{background:#fff!important;color:var(--teal)!important;border:2px solid var(--teal)}

/* bare bones goes further: hairlines only */
.tag.ink-max .band{border-bottom-width:2px}
.tag.ink-max .bandrule{height:2px;background:var(--barA)!important}
.tag.ink-max .whybox,.tag.ink-max .onlyone{background:#fff;border-width:1px}
.tag.ink-max .pic{border-width:1px}
.tag.ink-max .rates-body .rate.best{background:#fff}
.tag.ink-max .promobar{background:#fff!important;border:1px solid var(--barA)}

/* coloured stock: the sheet is tinted, the ink stays mono */
.tag.on-paper,.sheet .cell:has(.tag.on-paper){background:var(--paper,#fff)!important}
.tag.on-paper .whybox,.tag.on-paper .onlyone{background:rgba(255,255,255,.55)}


/* A discounted tag carries four blocks a full-price one does not, so those blocks
   are sized for the space rather than the page being allowed to overflow. */
.sheet.s-half .tag .whybox{font-size:11px;padding:7px 11px;line-height:1.35}
.sheet.s-half .tag .gradenote{font-size:10px;margin-top:2px}
.sheet.s-half .tag .onlyone{font-size:11.5px;padding:5px 11px}
.sheet.s-half .tag .tchip{font-size:10px;padding:3px 9px}
.sheet.s-half .tag .reasonbar{font-size:12.5px;padding:5px 12px}
.sheet.s-half .tag .reasonbar .grade{font-size:10px;padding:1px 8px}
.sheet.s-half .tag[class*="fam-clear"] .pic,
.sheet.s-half .tag[class*="fam-last"] .pic,
.sheet.s-half .tag[class*="fam-second"] .pic{max-height:1.55in}
.sheet.s-half .tag[class*="fam-clear"] .specs div:nth-child(n+2),
.sheet.s-half .tag[class*="fam-last"] .specs div:nth-child(n+2),
.sheet.s-half .tag[class*="fam-second"] .specs div:nth-child(n+2){display:none}
.sheet.s-half .tag[class*="fam-clear"] .name,
.sheet.s-half .tag[class*="fam-last"] .name,
.sheet.s-half .tag[class*="fam-second"] .name{font-size:16px;-webkit-line-clamp:2}
.sheet.s-half .tag[class*="fam-clear"] .pbig-amt,
.sheet.s-half .tag[class*="fam-last"] .pbig-amt,
.sheet.s-half .tag[class*="fam-second"] .pbig-amt{font-size:30px}
.sheet.s-half .tag[class*="fam-clear"] .ways,
.sheet.s-half .tag[class*="fam-last"] .ways,
.sheet.s-half .tag[class*="fam-second"] .ways{display:none}
.sheet.s-half .tag[class*="fam-clear"] .rentnote,
.sheet.s-half .tag[class*="fam-last"] .rentnote,
.sheet.s-half .tag[class*="fam-second"] .rentnote{display:none}

/* quarter: the why line clamps and the chips drop to one */
.sheet.s-quarter .tag .whybox{-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-quarter .tag .tchip:nth-child(n+2){display:none}
.sheet.s-quarter .tag .gradenote{display:none}


/* the last of it: on a half page a discounted tag hides the financing line,
   which is the block that matters least when the argument is the discount */
.sheet.s-half .tag[class*="fam-clear"] .finance,
.sheet.s-half .tag[class*="fam-last"] .finance,
.sheet.s-half .tag[class*="fam-second"] .finance{display:none}
.sheet.s-half .tag[class*="fam-clear"] .badges,
.sheet.s-half .tag[class*="fam-last"] .badges,
.sheet.s-half .tag[class*="fam-second"] .badges{margin-top:2px}
.sheet.s-half .tag[class*="fam-clear"] .whybox,
.sheet.s-half .tag[class*="fam-last"] .whybox,
.sheet.s-half .tag[class*="fam-second"] .whybox{-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.sheet.s-quarter .tag[class*="fam-second"] .whybox{-webkit-line-clamp:2}
.sheet.s-quarter .tag[class*="fam-second"] .onlyone{font-size:9px;padding:4px 8px}


/* the photo gives way on a discounted half page — the argument is the words */
.sheet.s-half .tag[class*="fam-clear"] .inner,
.sheet.s-half .tag[class*="fam-last"] .inner,
.sheet.s-half .tag[class*="fam-second"] .inner{grid-template-columns:1.55in minmax(0,1fr);align-items:start}
.sheet.s-half .tag[class*="fam-clear"] .pic,
.sheet.s-half .tag[class*="fam-last"] .pic,
.sheet.s-half .tag[class*="fam-second"] .pic{max-height:1.25in}
.sheet.s-half .tag[class*="fam-clear"] .halfmain,
.sheet.s-half .tag[class*="fam-last"] .halfmain,
.sheet.s-half .tag[class*="fam-second"] .halfmain{gap:2px}
.sheet.s-half .tag[class*="fam-clear"] .whybox,
.sheet.s-half .tag[class*="fam-last"] .whybox,
.sheet.s-half .tag[class*="fam-second"] .whybox{-webkit-line-clamp:2;font-size:10.5px;padding:6px 10px}
.sheet.s-half .tag[class*="fam-clear"] .onlyone,
.sheet.s-half .tag[class*="fam-last"] .onlyone,
.sheet.s-half .tag[class*="fam-second"] .onlyone{font-size:10.5px;padding:4px 10px}
.sheet.s-half .tag[class*="fam-clear"] .badges,
.sheet.s-half .tag[class*="fam-last"] .badges,
.sheet.s-half .tag[class*="fam-second"] .badges{display:none}
.sheet.s-quarter .tag[class*="fam-second"] .whybox{-webkit-line-clamp:2;font-size:9px}
.sheet.s-quarter .tag[class*="fam-second"] .tchips{display:none}


/* the rent line under a buy price: plainly a rental, not a payment plan */
.orrent .rentnote{display:block;font-size:.78em;color:#6b7785;line-height:1.35;margin-top:2px}
.orrent .promoline{display:block;margin-top:3px}

/* ═══════════════════════════════════════════════════════════════════
   MARKETING — flyer, rack card, postcard, business card.
   The tag look carried onto the pieces that leave the store: logo band,
   navy-and-accent rule, services strip, and the dark bar with the phone.
   One accent changes (gold, green, blue); navy never does.
   ═══════════════════════════════════════════════════════════════════ */
.tag.mk{--acc:#f5b301;--accInk:#3a2a00;--accOnDark:#f5b301;background:#fff;color:var(--ink);display:flex;flex-direction:column;overflow:hidden}
.tag.mk.a-green{--acc:#8dc63f;--accInk:#1f3300;--accOnDark:#b5e07a}
.tag.mk.a-blue{--acc:#3f8fd2;--accInk:#fff;--accOnDark:#a9d4ff}
.tag.mk *{box-sizing:border-box}
.tag.mk .mk-h{margin:0;font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--navy);text-wrap:balance}
.tag.mk .mk-sub{margin:0;color:#3d4b59;line-height:1.35}
.tag.mk .mk-lab{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85)}

/* logo band */
.tag.mk .mk-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:.22in .36in .16in}
.tag.mk .mk-brand{display:flex;flex-direction:column;gap:4px}
.tag.mk .mk-logo{display:flex}
.tag.mk .mk-logo img{height:.62in;width:auto;display:block}
.tag.mk .mk-word{font-size:28px;font-weight:900;color:var(--navy)}
.tag.mk .mk-tagline{font-size:13px;font-style:italic;color:var(--muted)}
.tag.mk .mk-rate{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 14px;flex:0 0 auto}
.tag.mk .mk-rate b{font-size:36px;font-weight:900;color:var(--navy);line-height:1}
.tag.mk .mk-rate-r{display:flex;flex-direction:column;gap:2px}
.tag.mk .mk-stars{color:#c99100;font-size:16px;letter-spacing:2px;line-height:1}
.tag.mk .mk-rate-l{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#33475b}

/* the rule and the services strip */
.tag.mk .mk-rule{height:6px;flex:0 0 auto;background:linear-gradient(90deg,var(--navy) 0%,var(--navy2) 45%,var(--acc) 45%,var(--acc) 100%)}
.tag.mk .mk-svc{display:flex;background:var(--acc);color:var(--accInk);flex:0 0 auto}
.tag.mk .mk-svc span{flex:1;text-align:center;padding:10px 4px;font-size:13px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border-right:1px solid rgba(0,0,0,.18)}
.tag.mk .mk-svc span:last-child{border-right:0}

/* body */
.tag.mk .mk-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:.16in;padding:.26in .36in .22in;overflow:hidden}
.tag.mk .mk-lead{display:flex;flex-direction:column;gap:8px}
.tag.mk .mk-eyebrow{font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy2)}
.tag.mk-flyer .mk-h{font-size:58px}
.tag.mk-flyer .mk-sub{font-size:19px}
.tag.mk .mk-photo{flex:1 1 auto;min-height:1.2in;border-radius:12px;overflow:hidden;background:#eef2f6}
.tag.mk .mk-photo img{width:100%;height:100%;object-fit:cover;display:block}
.tag.mk .mk-items{display:grid;gap:7px}
.tag.mk .mk-items span{border:1px solid var(--line);border-radius:8px;padding:8px 6px;text-align:center;font-size:14.5px;font-weight:700;color:var(--navy)}
.tag.mk .mk-items .mk-more{background:var(--navy);border-color:var(--navy);color:#fff}
/* no photo: the list takes the room instead, and nothing is left looking empty */
.tag.mk.nophoto .mk-items{flex:1;align-content:center}
.tag.mk.nophoto .mk-items span{font-size:16px;padding:14px 6px}
.tag.mk.nophoto .mk-lead{flex:1;justify-content:center}
.tag.mk-flyer.nophoto .mk-h{font-size:74px}
.tag.mk-flyer.nophoto .mk-sub{font-size:22px}
.tag.mk-rack.nophoto .mk-h{font-size:40px}
.tag.mk-postcard.nophoto .mk-frontT .mk-tel{font-size:40px}

/* the dark bar */
.tag.mk .mk-bar{display:flex;align-items:center;gap:22px;padding:.2in .36in;background:linear-gradient(135deg,#0f4c8c 0%,#0b2a44 72%);color:#fff;flex:0 0 auto}
.tag.mk .mk-qr{width:1.2in;height:1.2in;background:#fff;border-radius:10px;padding:6px;flex:0 0 auto;border:0}
.tag.mk .mk-call{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.tag.mk .mk-tel{font-size:46px;font-weight:900;letter-spacing:-.03em;line-height:1.05;white-space:nowrap}
.tag.mk .mk-site{font-size:17px;font-weight:800;color:var(--accOnDark)}
.tag.mk .mk-shop{display:flex;flex-direction:column;gap:3px;text-align:right;font-size:14.5px;line-height:1.3;max-width:2.7in;flex:0 1 auto}
.tag.mk .mk-bar{flex-wrap:wrap}
.tag.mk .mk-barfoot{flex:0 0 100%;text-align:center;font-size:11.5px;color:rgba(255,255,255,.85);margin-top:-4px}
.tag.mk .mk-hours{color:rgba(255,255,255,.85)}

/* ── rack card, 4 × 9in ─────────────────────────────────────────── */
.tag.mk-rack .mk-head{padding:.16in .2in .12in}
.tag.mk-rack .mk-logo img{height:.45in}
.tag.mk-rack .mk-rate{border:0;padding:0;flex-direction:column;align-items:flex-end;gap:0}
.tag.mk-rack .mk-rate b{font-size:26px}
.tag.mk-rack .mk-rate-r{align-items:flex-end}
.tag.mk-rack .mk-stars{font-size:12px;letter-spacing:1px}
.tag.mk-rack .mk-rate-l{font-size:10px}
.tag.mk-rack .mk-svc{flex-wrap:wrap}
.tag.mk-rack .mk-svc span{flex:0 0 50%;font-size:11px;padding:6px 3px;border-bottom:1px solid rgba(0,0,0,.18)}
.tag.mk-rack .mk-svc span:nth-child(2n){border-right:0}
.tag.mk-rack .mk-body{padding:.18in .2in;gap:.12in}
.tag.mk-rack .mk-h{font-size:33px}
.tag.mk-rack .mk-sub{font-size:15px}
.tag.mk-rack .mk-items span{font-size:13px;padding:5px 4px}
.tag.mk-rack.nophoto .mk-items span{font-size:15px;padding:10px 6px}
.tag.mk-rack .mk-bar{padding:.14in .18in;gap:12px}
.tag.mk-rack .mk-qr{width:.85in;height:.85in;padding:4px}
.tag.mk-rack .mk-tel{font-size:24px}
.tag.mk-rack .mk-site{font-size:12px}
.tag.mk-rack .mk-lab{font-size:10.5px}

/* ── postcard, 6 × 4in ──────────────────────────────────────────── */
.tag.mk-postcard .mk-frontM{flex:1;min-height:0;display:flex}
.tag.mk-postcard .mk-frontM .mk-photo{flex:0 0 2.5in;min-height:0;border-radius:0}
.tag.mk-postcard .mk-frontT{flex:1;display:flex;flex-direction:column;gap:9px;padding:.22in .26in .16in}
.tag.mk-postcard .mk-logo img{height:.38in}
.tag.mk-postcard .mk-h{font-size:30px}
.tag.mk-postcard.nophoto .mk-h{font-size:40px}
.tag.mk-postcard .mk-sub{font-size:14px}
.tag.mk-postcard .mk-frontT .mk-call{margin-top:auto;flex:0 0 auto}
.tag.mk-postcard .mk-frontT .mk-lab{color:var(--muted)}
.tag.mk-postcard .mk-frontT .mk-tel{font-size:30px;color:var(--navy)}
.tag.mk-postcard .mk-svc span{font-size:11px;padding:7px 3px}
.tag.mk-postcard.mk-back{flex-direction:row}
.tag.mk-postcard .mk-backL{flex:0 0 3.1in;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.tag.mk-postcard .mk-ret{font-size:11.5px;line-height:1.35;color:var(--muted);padding:.18in .2in 0}
.tag.mk-postcard .mk-note{flex:1;font-size:13px;line-height:1.4;padding:.1in .2in;color:var(--ink)}
.tag.mk-postcard .mk-note b{display:block;font-size:19px;font-weight:900;color:var(--navy);margin-bottom:4px}
.tag.mk-postcard.mk-back .mk-bar{padding:.1in .2in;gap:10px}
.tag.mk-postcard.mk-back .mk-qr{width:.7in;height:.7in;padding:3px}
.tag.mk-postcard.mk-back .mk-tel{font-size:21px}
.tag.mk-postcard.mk-back .mk-site{font-size:11.5px}
.tag.mk-postcard.mk-back .mk-lab{display:none}
/* the address side stays clear for the mail house; only the postage box is ours */
.tag.mk-postcard .mk-mail{flex:1;padding:.16in}
.tag.mk-postcard .mk-stamp{float:right;width:.85in;height:.65in;border:1px dashed #9fb0c2;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* ── business card, 3.5 × 2in ───────────────────────────────────── */
.tag.mk-bizcard .mk-bizT{padding:.16in .18in 0}
.tag.mk-bizcard .mk-logo img{height:.36in}
.tag.mk-bizcard .mk-word{font-size:18px}
.tag.mk-bizcard .mk-bizB{flex:1;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 .18in .12in}
.tag.mk-bizcard .mk-who{display:flex;flex-direction:column;gap:1px}
.tag.mk-bizcard .mk-who b{font-size:15px;font-weight:900;color:var(--navy)}
.tag.mk-bizcard .mk-who span{font-size:11.5px;color:var(--muted)}
.tag.mk-bizcard .mk-how{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:1px;font-size:11px;color:#33475b}
.tag.mk-bizcard .mk-how b{font-size:15px;font-weight:900;color:var(--navy);white-space:nowrap}

/* ── sheets: each piece at its real trim size on US Letter ──────── */
.sheet.mk-sheet{align-content:center;justify-content:center}
.sheet.s-mk-flyer{grid-template-columns:1fr;grid-template-rows:1fr}
.sheet.s-mk-rack{grid-template-columns:4in 4in;grid-template-rows:9in}
.sheet.s-mk-postcard{grid-template-columns:6in;grid-template-rows:4in 4in}
.sheet.s-mk-bizcard{grid-template-columns:3.5in 3.5in;grid-template-rows:repeat(5,2in)}
.sheet.mk-sheet:not(.s-mk-flyer) .cell{padding:0}
.sheet.mk-sheet:not(.s-mk-flyer) .cell.cut{border:1px dashed #d8e0e8}
.sheet.mk-sheet:not(.s-mk-flyer) .tag.mk{border:0;border-radius:0}
@media print{.sheet.mk-sheet:not(.s-mk-flyer) .cell.cut{border-color:#e6ebf0}}

/* ── the preview frame: one piece at its trim size, both faces of a postcard ── */
.sheet.mk-pv{width:auto;height:auto;display:flex;flex-direction:column;align-items:center;gap:.3in;padding:.3in;background:#f6f8fb;overflow:visible}
.sheet.mk-pv .tag.mk{border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 14px rgba(15,32,54,.12);margin:0;flex:0 0 auto}
.sheet.mk-pv .tag.mk-flyer{width:7.76in;height:10.26in}
.sheet.mk-pv .tag.mk-rack{width:4in;height:9in}
.sheet.mk-pv .tag.mk-postcard{width:6in;height:4in}
.sheet.mk-pv .tag.mk-bizcard{width:3.5in;height:2in}

/* ═══════════════════════════════════════════════════════════════════
   PHONE LAYOUT — the customer tag page (tag.php, body.tag-reflow) on a
   screen narrower than the sheet. Without it the browser shrank the
   8in sheet to fit, the QR kept its print size, and the phone number
   was crushed into a sliver while the dark bar covered the price.
   Screen only: paper always gets the real sheet. One copy is shown
   (a sheet prints 2–4 of the same tag), at the width of the screen,
   with each size rearranged to read top to bottom.
   ═══════════════════════════════════════════════════════════════════ */
/* anywhere else a sheet is shown, it keeps its true size and scrolls
   sideways on a small screen rather than being crushed */
.sheetwrap > .sheet{flex-shrink:0}

@media screen and (max-width:840px){
  body.tag-reflow .sheetwrap{padding:10px;display:block}
  body.tag-reflow.embedded .sheetwrap{padding:0}
  body.tag-reflow .sheetwrap > .sheet{width:100%;height:auto;min-height:0;display:block;margin:0 auto;box-shadow:none;background:transparent;overflow:visible}
  body.tag-reflow .sheet .cell{display:block;padding:0;border:0!important;overflow:visible}
  body.tag-reflow .sheet .cell + .cell{display:none}
  body.tag-reflow .sheet .tag{width:100%!important;height:auto!important;min-height:0!important;max-width:none;border-radius:14px}
  body.tag-reflow .sheet .tag .inner{overflow:visible!important;min-height:0}
  body.tag-reflow .sheet .tag .pic{height:200px!important;max-height:none!important;width:100%!important}
  /* paper clips long names to fit; a phone has the room to show them whole */
  body.tag-reflow .sheet .tag .name,body.tag-reflow .sheet .tag.hero .hname{font-size:21px!important;line-height:1.2;display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;max-height:none!important}
  body.tag-reflow .sheet .tag .hole{display:none}

  /* half, quarter, full: one column — photo, then the facts */
  body.tag-reflow .sheet .tag .inner{display:flex!important;flex-direction:column!important;gap:12px!important;padding:14px!important}
  body.tag-reflow .sheet .tag .halfmain,
  body.tag-reflow .sheet .tag .fullfacts{overflow:visible!important;display:flex;flex-direction:column;gap:8px}
  body.tag-reflow .sheet .tag .fullpic{width:100%;max-height:none}
  body.tag-reflow .sheet .tag.full .price{font-size:52px!important}
  body.tag-reflow .sheet .tag.full .specs{font-size:15px!important;line-height:1.6!important}

  /* the dark bar: QR beside the call-to-action, the item details below */
  body.tag-reflow .sheet .tag .footbar{display:grid!important;grid-template-columns:92px minmax(0,1fr);gap:10px 14px!important;padding:14px!important;align-items:center}
  body.tag-reflow .sheet .tag .footbar.noqr{grid-template-columns:minmax(0,1fr)}
  body.tag-reflow .sheet .tag .footbar .qr{width:92px!important;height:92px!important;padding:5px}
  body.tag-reflow .sheet .tag .footbar .scan{min-width:0;font-size:12px!important}
  body.tag-reflow .sheet .tag .footbar .callnow{font-size:14px!important}
  body.tag-reflow .sheet .tag .footbar .callnow b{font-size:21px!important;display:block;margin:2px 0 0}
  body.tag-reflow .sheet .tag .footbar .scanline{font-size:12px!important}
  body.tag-reflow .sheet .tag .footbar .fb-right{grid-column:1 / -1;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:baseline!important;gap:4px 10px!important;
    text-align:left!important;border-left:0!important;padding:10px 0 0!important;margin:0!important;max-width:none!important;border-top:1px solid rgba(255,255,255,.18)}

  /* shelf strip: photo and name on top, price and QR below */
  body.tag-reflow .sheet .tag.strip .stripgrid{display:grid!important;grid-template-columns:110px minmax(0,1fr)!important;grid-template-rows:auto auto;height:auto!important;min-height:0!important}
  body.tag-reflow .sheet .tag.strip .strippic .pic{height:110px!important}
  body.tag-reflow .sheet .tag.strip .stripmain{padding:12px 12px 12px 0!important;min-width:0}
  body.tag-reflow .sheet .tag.strip .stripprice{grid-column:1 / -1;padding:10px 14px!important;border-left:0!important;border-top:1px solid var(--edge)}
  body.tag-reflow .sheet .tag.strip .stripqr,
  body.tag-reflow .sheet .tag.strip .stripcode{grid-column:1 / -1;display:flex!important;flex-direction:row!important;align-items:center;gap:12px;padding:12px 14px!important;width:auto!important}
  body.tag-reflow .sheet .tag.strip .stripqr .qr{width:84px!important;height:84px!important}
  body.tag-reflow .sheet .tag.strip .stripqr{justify-content:flex-start!important;text-align:left!important}
  body.tag-reflow .sheet .tag.strip .stripqr-t{display:flex!important;flex-direction:column;gap:2px;font-size:13px!important;text-align:left!important;margin:0!important}
  body.tag-reflow .sheet .tag.strip .stripqr-t b{font-size:16px!important}
  body.tag-reflow .sheet .tag.strip .stripid{margin-left:auto!important;font-size:12px!important;position:static!important}
  body.tag-reflow .sheet .tag.strip .brandline{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block!important;-webkit-line-clamp:unset!important;max-height:none!important}
  body.tag-reflow .sheet .tag.strip .stripprice{justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important}

  /* showroom card */
  body.tag-reflow .sheet .tag.hero .htop,
  body.tag-reflow .sheet .tag.hero .hpic,
  body.tag-reflow .sheet .tag.hero .hname,
  body.tag-reflow .sheet .tag.hero .hbrand{padding-left:16px!important;padding-right:16px!important}
  body.tag-reflow .sheet .tag.hero .hpic{min-height:0!important;max-height:none!important;flex:0 0 auto!important}
  body.tag-reflow .sheet .tag.hero .hname{font-size:22px!important}
  body.tag-reflow .sheet .tag.hero .hstat,
  body.tag-reflow .sheet .tag.hero .hdeal,
  body.tag-reflow .sheet .tag.hero .hrent,
  body.tag-reflow .sheet .tag.hero .hways,
  body.tag-reflow .sheet .tag.hero .hmo{margin-left:16px!important;margin-right:16px!important}
  body.tag-reflow .sheet .tag.hero .hprice{margin:12px 16px 0!important}
  body.tag-reflow .sheet .tag.hero .hprice .amt{font-size:56px!important}
  body.tag-reflow .sheet .tag.hero .hstat b{font-size:32px!important}

  /* spec sheet: every block stacks */
  body.tag-reflow .sheet .tag.specsheet .inner{padding:0!important;gap:0!important}
  body.tag-reflow .sheet .tag.specsheet .sheet-cols,
  body.tag-reflow .sheet .tag.specsheet .sheet-mid,
  body.tag-reflow .sheet .tag.specsheet .sheet-foot{grid-template-columns:minmax(0,1fr)!important;padding-left:14px!important;padding-right:14px!important;gap:12px!important}
  body.tag-reflow .sheet .tag.specsheet .sheet-head{padding-left:14px!important;padding-right:14px!important}
  body.tag-reflow .sheet .tag.specsheet .sheet-head h2{font-size:21px!important}
  body.tag-reflow .sheet .tag.specsheet .sheet-brands,
  body.tag-reflow .sheet .tag.specsheet .sheet-right{display:none}
}

/* ═══════════════════════════════════════════════════════════════════
   COUPONS — ticket, dollar bill, wallet card. The tags' look: navy, the
   accent strip, the dark stub with the QR. One accent changes; navy stays.
   ═══════════════════════════════════════════════════════════════════ */
.tag.cp{--acc:#f5b301;--accInk:#3a2a00;--accOnDark:#f5b301;box-sizing:border-box;position:relative;overflow:hidden;background:#fff;color:var(--ink);box-shadow:none}
.tag.cp.a-green{--acc:#8dc63f;--accInk:#1f3300;--accOnDark:#b5e07a}
.tag.cp.a-blue{--acc:#3f8fd2;--accInk:#fff;--accOnDark:#a9d4ff}
.tag.cp *{box-sizing:border-box}
.tag.cp .cp-logo{display:inline-flex;align-items:center}
.tag.cp .cp-logo img{height:42px;width:auto;max-width:180px;object-fit:contain;display:block}
.tag.cp .cp-logo.on-dark{background:#fff;border-radius:8px;padding:4px 8px}
.tag.cp .cp-logo.on-dark img{height:26px;max-width:110px}
.tag.cp .cp-badge{font-style:normal;font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.tag.cp .cp-amt{font-weight:900;letter-spacing:-.05em;color:var(--navy);line-height:.84}
.tag.cp .cp-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.08em}
.tag.cp .cp-photo{width:100%;height:100%;object-fit:contain;padding:12px;display:block}
.tag.cp .cp-photo.cp-cover{object-fit:cover;padding:0}
.tag.cp img.cp-nopic{width:100%;height:100%;object-fit:contain;padding:22%;opacity:.55;display:block}
.tag.cp .cp-store{width:100%;height:100%;display:block}
.tag.cp .qr{background:#fff;border:0;border-radius:10px;display:block}

/* ── ticket, 8 × 3.5in ─────────────────────────────────────────────── */
.tag.cp-ticket{width:8in;height:3.5in;display:flex;flex-direction:row;border:2px solid var(--navy);border-radius:18px}
.tag.cp-ticket .cp-main{flex:1;min-width:0;display:flex;flex-direction:column}
.tag.cp-ticket .cp-row{flex:1;min-height:0;display:flex}
.tag.cp-ticket .cp-img{width:200px;flex:0 0 200px;overflow:hidden;background:#fff;border-right:1px solid var(--line)}
.tag.cp-ticket .cp-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:18px 22px 12px 24px}
.tag.cp-ticket.noimg .cp-body{padding-left:30px}
.tag.cp-ticket .cp-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tag.cp-ticket .cp-badge{background:var(--acc);color:var(--accInk);padding:6px 14px;border-radius:999px}
.tag.cp-ticket .cp-offer{display:flex;align-items:flex-end;gap:14px;margin-top:12px}
.tag.cp-ticket .cp-amt{font-size:100px}
.tag.cp-ticket.noimg .cp-amt{font-size:116px}
.tag.cp-ticket .cp-offw{display:flex;flex-direction:column;gap:8px;padding-bottom:4px}
.tag.cp-ticket .cp-offw b{font-size:38px;font-weight:900;line-height:.9;color:var(--navy)}
.tag.cp-ticket .cp-offw i{display:block;height:7px;width:70px;background:var(--acc);border-radius:4px}
.tag.cp-ticket .cp-line{font-size:20px;font-weight:700;margin-top:10px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tag.cp-ticket .cp-fine{margin-top:auto;font-size:12px;line-height:1.35;color:#4f5f70}
.tag.cp-ticket .cp-svc{display:flex;background:var(--acc);color:var(--accInk)}
.tag.cp-ticket .cp-svc span{flex:1;text-align:center;padding:8px 4px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-right:1px solid rgba(0,0,0,.18)}
.tag.cp-ticket .cp-svc span:last-child{border-right:0}
.tag.cp-ticket .cp-stub{width:238px;flex:0 0 238px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;
  background:linear-gradient(160deg,#0f4c8c 0%,#0b2a44 75%);color:#fff;border-left:2px dashed rgba(255,255,255,.75);text-align:center}
.tag.cp-ticket .cp-scan{font-weight:800;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accOnDark)}
.tag.cp-ticket .cp-qr{width:126px;height:126px;padding:9px}
.tag.cp-ticket .cp-code{font-size:17px}
.tag.cp-ticket .cp-how{font-size:13px;line-height:1.3;color:rgba(255,255,255,.88)}
.tag.cp-ticket .cp-notch{position:absolute;right:222px;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--navy)}
.tag.cp-ticket .cp-notch.t{top:-16px}.tag.cp-ticket .cp-notch.b{bottom:-16px}

/* ── dollar bill, 6.14 × 2.61in ────────────────────────────────────── */
.tag.cp-bill{width:589px;height:251px;background:var(--navy);border-radius:10px}
.tag.cp-bill .cp-frame{position:absolute;inset:0;width:100%;height:100%}
.tag.cp-bill .cp-note{position:absolute;inset:14px;overflow:hidden;background:#fdfbf4;border:2px solid var(--acc);border-radius:6px}
.tag.cp-bill .cp-rosette{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;height:156px}
.tag.cp-bill .cp-rosette svg{width:100%;height:100%;display:block}
.tag.cp-bill .cp-serial{position:absolute;left:12px;top:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:12px;letter-spacing:.06em;color:#9b1c1c}
.tag.cp-bill .cp-corner{position:absolute;font-weight:900;line-height:1;color:var(--navy);letter-spacing:-.02em}
.tag.cp-bill .cp-corner.tr{right:14px;top:6px;font-size:28px}
.tag.cp-bill .cp-corner.bl{left:12px;bottom:6px;font-size:20px}
.tag.cp-bill .cp-billgrid{position:relative;height:100%;display:grid;grid-template-columns:124px minmax(0,1fr) 96px;align-items:center}
.tag.cp-bill .cp-ovalwrap{display:flex;justify-content:center}
.tag.cp-bill .cp-oval{width:100px;height:138px;border-radius:50%;border:3px solid var(--navy);outline:1px solid var(--acc);outline-offset:3px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}
.tag.cp-bill .cp-oval .cp-photo{padding:10px}
.tag.cp-bill .cp-oval .cp-logo img{height:auto;width:80px}
.tag.cp-bill .cp-mid{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:0 6px}
.tag.cp-bill .cp-head{display:flex;align-items:center;gap:8px}
.tag.cp-bill .cp-head .cp-logo img{height:26px;max-width:110px}
.tag.cp-bill .cp-head em{font-style:normal;font-weight:800;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#0f4c8c}
.tag.cp-bill .cp-big{font-weight:900;font-size:28px;line-height:1.02;letter-spacing:-.01em;color:var(--navy);text-transform:uppercase}
.tag.cp-bill .cp-line{font-size:16px;font-weight:700;color:var(--ink)}
.tag.cp-bill .cp-fine{font-size:12px;color:#4f5f70;line-height:1.3}
.tag.cp-bill .cp-qrcol{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;padding:0 10px 10px 0}
.tag.cp-bill .cp-scan{font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.tag.cp-bill .cp-qr{width:76px;height:76px;padding:5px;border:1px solid var(--navy);border-radius:6px}
.tag.cp-bill .cp-code{font-size:10.5px;color:var(--navy);letter-spacing:.04em}

/* ── wallet card, 3.5 × 2in ────────────────────────────────────────── */
.tag.cp-wallet{width:3.5in;height:2in;border-radius:12px}
.tag.cp-wallet.cp-front{background:linear-gradient(150deg,#0f4c8c 0%,#0b2a44 78%);color:#fff;padding:16px 18px 14px}
.tag.cp-wallet .cp-fwrap{display:flex;gap:12px;height:100%}
.tag.cp-wallet .cp-ftxt{flex:1;min-width:0;display:flex;flex-direction:column}
.tag.cp-wallet .cp-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tag.cp-wallet .cp-badge{color:var(--accOnDark)}
.tag.cp-wallet .cp-offer{margin-top:12px;white-space:nowrap;color:var(--accOnDark);line-height:.9}
.tag.cp-wallet .cp-offer .cp-amt{font-size:42px;color:var(--accOnDark)}
.tag.cp-wallet .cp-offer .cp-w{font-size:30px;font-weight:900;letter-spacing:-.02em}
.tag.cp-wallet.noimg .cp-offer .cp-amt{font-size:50px}
.tag.cp-wallet .cp-line{margin-top:6px;font-size:14px;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tag.cp-wallet .cp-foot{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.88)}
.tag.cp-wallet .cp-foot i{display:block;width:26px;height:3px;background:var(--accOnDark);border-radius:2px;flex:0 0 auto}
.tag.cp-wallet .cp-tile{width:90px;height:90px;flex:0 0 90px;align-self:center;overflow:hidden;background:#fff;border-radius:12px;border:2px solid var(--accOnDark)}
.tag.cp-wallet .cp-tile .cp-photo{padding:6px}
.tag.cp-wallet.cp-back{display:flex;flex-direction:row;align-items:center;gap:14px;padding:14px 16px 20px;border:1px solid var(--line)}
.tag.cp-wallet .cp-qrtile{width:104px;height:104px;flex:0 0 104px;border:1px solid var(--line);border-radius:8px;padding:6px}
.tag.cp-wallet .cp-qrtile .qr{width:100%;height:100%;border-radius:0}
.tag.cp-wallet .cp-backtxt{display:flex;flex-direction:column;gap:3px;min-width:0}
.tag.cp-wallet .cp-backtxt b{font-size:14px;font-weight:800;color:var(--navy)}
.tag.cp-wallet .cp-backtxt .cp-code{font-size:15px;color:var(--navy)}
.tag.cp-wallet .cp-backtxt .cp-fine{font-size:12px;color:#4f5f70}
.tag.cp-wallet .cp-backtxt .cp-tel{margin-top:3px;font-size:16px;font-weight:900;color:var(--navy)}
.tag.cp-wallet .cp-rule{position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--navy) 0%,var(--navy2) 45%,var(--acc) 45%,var(--acc) 100%)}

/* ── sheets at true size, and the preview frame ────────────────────── */
.sheet.cp-sheet{align-content:center;justify-content:center}
.sheet.s-cp-ticket{grid-template-columns:8in;grid-template-rows:repeat(3,3.5in)}
.sheet.s-cp-bill{grid-template-columns:589px;grid-template-rows:repeat(4,251px)}
.sheet.s-cp-wallet{grid-template-columns:3.5in 3.5in;grid-template-rows:repeat(5,2in)}
.sheet.cp-sheet .cell{padding:0}
.sheet.cp-sheet .cell.cut{border:1px dashed #d8e0e8}
.sheet.cp-sheet .tag.cp{width:100%!important;height:100%!important;margin:0;max-width:none}
.sheet.cp-sheet .tag.cp-ticket,.sheet.cp-sheet .tag.cp-wallet.cp-back{flex-direction:row}
.sheet.cp-sheet .tag.cp-bill,.sheet.cp-sheet .tag.cp-wallet{border-radius:0}
.sheet.cp-sheet .tag.cp-wallet.cp-back{border:0}
@media print{.sheet.cp-sheet .cell.cut{border-color:#e6ebf0}}
.sheet.cp-pv{width:auto;height:auto;display:flex;flex-direction:column;align-items:center;gap:.3in;padding:.3in;background:#f6f8fb;overflow:visible}
.sheet.cp-pv .tag.cp{flex:0 0 auto;box-shadow:0 4px 14px rgba(15,32,54,.12)}

/* ═══════════════════════════════════════════════════════════════════
   SEND TO A PRINT SHOP — the dialog on print.php, and how a piece is
   captured for a print file (body.tg-export, set only while capturing).
   ═══════════════════════════════════════════════════════════════════ */
/* print files are cut square: no rounded corners, no outline on the cut line */
body.tg-export .sheet .cell > .tag{border-radius:0!important;border:0!important;box-shadow:none!important}
body.tg-export .sheet .cell > .tag > *{border-radius:0!important}
body.tg-export .tag.cp-ticket .cp-notch{display:none!important}
/* the dashed cut line takes a pixel from each side; a print file is cut to the exact size */
body.tg-export .sheet .cell.cut{border:0!important}

.pdfhow-box.ps{max-width:620px;max-height:calc(100vh - 36px);overflow:auto}
.ps-group{margin:0 0 14px}
.ps-group > b{display:block;font-size:13px;color:#0b3a6a;margin:0 0 6px;letter-spacing:.02em}
.ps-row{display:flex;flex-wrap:wrap;gap:8px}
.ps-tile{flex:1 1 150px;display:flex;flex-direction:column;gap:2px;border:1.5px solid #d8e0e8;border-radius:10px;padding:9px 12px;cursor:pointer;background:#fff}
.ps-tile input{position:absolute;opacity:0;pointer-events:none}
.ps-tile span{font-size:14px;font-weight:800;color:#26313c}
.ps-tile em{font-style:normal;font-size:12px;color:#5b6a79}
.ps-tile.on{border-color:#0b3a6a;background:#f3f7fc;box-shadow:0 0 0 2px rgba(11,58,106,.15)}
.ps-off{opacity:.4;pointer-events:none}
.ps-sum{margin:4px 0 12px;padding:11px 13px;border-radius:10px;background:#f6f8fb;border:1px solid #e2e8f0;font-size:13.5px;line-height:1.55;color:#26313c}
.ps-sum b{color:#0b3a6a}
.ps-status{min-height:20px;margin:8px 0 0;font-size:13.5px;color:#0b3a6a;font-weight:700}
.ps-note{font-size:12.5px;color:#5b6a79;margin:10px 0 0}
@media print{.pdfhow{display:none!important}}

/* ═══ END OF FILE — E Care Tag Studio · tag.css · BUILD v2026.09.26-b053 ═══ */

/* ═══ Review cards (app/Review.php) — BUILD v2026.09.26-b053 ═══════════════
   One design, every size. Sizes in em: 1em is a tenth of the card's height, so
   each size only sets its own width, height and font-size. */
.tag.rv{position:relative;overflow:hidden;background:#fff;color:#0a2540;border:0;border-radius:0;padding:0;box-sizing:border-box;box-shadow:none;
  display:grid;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.25;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.tag.rv *{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
/* sizes */
.tag.rv-ticket{width:8in;height:3.5in;font-size:.35in}
.tag.rv-bill{width:6.14in;height:2.61in;font-size:.261in}
.tag.rv-wallet{width:3.5in;height:2in;font-size:.2in}
.tag.rv-post{width:6in;height:4in;font-size:.4in}
.tag.rv-sign{width:8in;height:5.25in;font-size:.525in}
/* wide: picture | words | QR — tall: picture | words over QR */
.tag.rv-ticket,.tag.rv-bill{grid-template-columns:31% 1fr auto}
.tag.rv-wallet{grid-template-columns:24% 1fr auto}
.tag.rv-post,.tag.rv-sign{grid-template-columns:36% 1fr}

/* the picture panel: a photo, or E Care's navy with gold stars */
.tag.rv .rv-side{position:relative;overflow:hidden;background:linear-gradient(160deg,#0f4c8c 0%,#0a2540 100%);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45em;padding:.6em .5em}
.tag.rv .rv-side::after{content:'';position:absolute;top:0;bottom:0;right:0;width:.09em;background:#f5b301}
.tag.rv .rv-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tag.rv.rv-has-photo .rv-side{justify-content:flex-end;padding:.5em}
.tag.rv.rv-has-photo .rv-side::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,37,64,0) 45%,rgba(10,37,64,.78) 100%)}
.tag.rv .rv-chip{position:relative;z-index:1;background:#fff;border-radius:.28em;padding:.22em .38em;display:flex;align-items:center;box-shadow:0 .08em .3em rgba(0,0,0,.25)}
.tag.rv .rv-chip img{display:block;height:1.05em;width:auto}
.tag.rv .rv-bigstars{position:relative;z-index:1;color:#f5b301;font-size:1.05em;letter-spacing:.05em;line-height:1;white-space:nowrap}
.tag.rv .rv-g{position:relative;z-index:1;font-size:.36em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);text-align:center}
.tag.rv.rv-has-photo .rv-bigstars,.tag.rv.rv-has-photo .rv-g{display:none}
.tag.rv-wallet .rv-g{display:none}
.tag.rv-wallet .rv-bigstars{font-size:.62em;letter-spacing:0}

/* the words */
.tag.rv .rv-main{display:flex;flex-direction:column;justify-content:center;padding:.55em .5em .55em .75em;min-width:0}
.tag.rv .rv-eyebrow{font-size:.34em;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#b38200;margin-bottom:.3em}
.tag.rv h2{margin:0;color:#0b3a6a;font-weight:900;line-height:1.02;letter-spacing:-.015em;font-size:1.05em}
.tag.rv .rv-stars{color:#f5b301;font-size:.56em;letter-spacing:.06em;line-height:1;margin:.28em 0 .1em}
.tag.rv .rv-ask{margin:.3em 0 0;color:#334155;font-size:.4em;line-height:1.35}
.tag.rv .rv-by{margin-top:.45em;display:inline-flex;align-items:center;gap:.4em;align-self:flex-start;background:#eef5fd;color:#0b3a6a;
  border-radius:999px;padding:.25em .7em .25em .5em;font-size:.37em;font-weight:600;white-space:nowrap;max-width:100%}
.tag.rv .rv-by b{font-weight:900}
.tag.rv .rv-by svg{width:1.25em;height:1.25em;flex:0 0 auto}
.tag.rv .rv-by.blank{background:none;padding:0;color:#475569;gap:.3em;width:100%}
.tag.rv .rv-by.blank i{flex:1;border-bottom:.06em solid #94a3b8;height:1em;min-width:5em}
.tag.rv-wallet .rv-ask{display:none}
.tag.rv-wallet h2{font-size:.92em}
.tag.rv-wallet .rv-main{padding:.45em .3em .45em .5em}
.tag.rv-wallet .rv-eyebrow{display:none}   /* too small to read at wallet size */
.tag.rv-wallet .rv-by{font-size:.34em}

/* the QR */
.tag.rv .rv-qrbox{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.45em .55em .45em .2em}
.tag.rv .rv-qr{display:block;flex:0 0 auto;width:5.6em;height:5.6em;background:#fff;border:.07em solid #dfe6ee;border-radius:.25em;padding:.2em}
.tag.rv .rv-qr canvas,.tag.rv .rv-qr img,.tag.rv .rv-qr svg{width:100%!important;height:100%!important;display:block}
.tag.rv .rv-scan{margin-top:.28em;font-size:.36em;font-weight:900;color:#0b3a6a;text-align:center;letter-spacing:.02em}
.tag.rv .rv-url{font-size:.25em;color:#5b6b7b;text-align:center;margin-top:.1em;white-space:nowrap}
.tag.rv-wallet .rv-qr{width:5.8em;height:5.8em}
.tag.rv-wallet .rv-url{display:none}
/* tall sizes: the QR sits in the words column, beside its caption */
.tag.rv-post .rv-main,.tag.rv-sign .rv-main{justify-content:space-between;padding:.6em .6em .55em .75em}
.tag.rv-post .rv-qrbox,.tag.rv-sign .rv-qrbox{flex-direction:row;justify-content:flex-start;gap:.5em;padding:0;margin-top:.4em}
.tag.rv-post .rv-qr,.tag.rv-sign .rv-qr{width:4.4em;height:4.4em}
.tag.rv-post .rv-qrtxt,.tag.rv-sign .rv-qrtxt{display:flex;flex-direction:column;align-items:flex-start}
.tag.rv-post .rv-scan,.tag.rv-sign .rv-scan,.tag.rv-post .rv-url,.tag.rv-sign .rv-url{text-align:left;margin-top:0}
.tag.rv-post .rv-scan,.tag.rv-sign .rv-scan{font-size:.4em;margin-bottom:.2em}
.tag.rv-post .rv-url,.tag.rv-sign .rv-url{font-size:.24em}
.tag.rv .rv-url span{white-space:nowrap}
.tag.rv-post .rv-url span,.tag.rv-sign .rv-url span{display:block}   /* the site, then the page, each on its own line */
.tag.rv-post h2,.tag.rv-sign h2{font-size:.95em}
.tag.rv-post .rv-ask,.tag.rv-sign .rv-ask{font-size:.36em}
.tag.rv-post .rv-by,.tag.rv-sign .rv-by{font-size:.34em}
.tag.rv-post .rv-stars,.tag.rv-sign .rv-stars{font-size:.48em}
.tag.rv-post .rv-eyebrow,.tag.rv-sign .rv-eyebrow{font-size:.29em}
.tag.rv .rv-words{display:flex;flex-direction:column;min-width:0}

/* sheets on US letter (8 × 10.5 in printable) */
.sheet.s-rv-ticket{grid-template-columns:8in;grid-template-rows:repeat(3,3.5in)}
.sheet.s-rv-bill{grid-template-columns:6.14in;grid-template-rows:repeat(4,2.61in)}
.sheet.s-rv-wallet{grid-template-columns:3.5in 3.5in;grid-template-rows:repeat(5,2in)}
.sheet.s-rv-post{grid-template-columns:6in;grid-template-rows:4in 4in}
.sheet.s-rv-sign{grid-template-columns:8in;grid-template-rows:5.25in 5.25in}
.sheet[class*="s-rv-"] .cell{padding:0}
.sheet[class*="s-rv-"] .cell.cut{border:1px dashed #d8e0e8}
@media print{.sheet[class*="s-rv-"] .cell.cut{border-color:#e6ebf0}}
.rv-nolink{color:#b91c1c!important}
/* the preview: the card on its own, centred */
.rv-preview{display:flex;justify-content:center;align-items:flex-start;padding:10px}
.rv-preview .tag.rv{box-shadow:0 8px 24px rgba(11,42,68,.2)}

/* ═══ Review cards (b021): a bigger, more prominent logo; the copyright and build ═══ */
.tag.rv .rv-chip{padding:.28em .42em;border-radius:.32em;box-shadow:0 .1em .4em rgba(0,0,0,.28)}
.tag.rv .rv-chip img{height:1.75em;width:auto;max-width:100%}
.tag.rv .rv-side{gap:.5em}
.tag.rv-wallet .rv-side{padding:.4em .25em}
.tag.rv-wallet .rv-chip{padding:.2em .22em;max-width:100%}
.tag.rv-wallet .rv-chip img{height:1.5em}
.tag.rv-post .rv-chip img,.tag.rv-sign .rv-chip img{height:1.9em}
.tag.rv.rv-has-photo .rv-chip img{height:1.55em}
.tag.rv .rv-copy{position:absolute;right:.5em;bottom:.22em;font-size:.17em;color:#94a3b8;letter-spacing:.01em;white-space:nowrap;line-height:1}
.tag.rv-wallet .rv-copy{font-size:.21em;right:.35em;bottom:.18em}
.tag.rv .rv-main{position:relative}
.tag.rv-ticket .rv-copy,.tag.rv-bill .rv-copy,.tag.rv-wallet .rv-copy{right:auto;left:.75em}
.tag.rv-wallet .rv-copy{left:.5em}

/* b027: the print bar's "Where will it go?" note, kept with the print job */
.printbar .placedbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#475569;margin-left:auto}
.printbar .placedbox input{border:1px solid #cbd5e1;border-radius:8px;padding:5px 9px;font:inherit;width:170px}
@media print{.printbar .placedbox{display:none}}

/* ═══ b037: review cards readable for elderly customers ═══════════════════════
   Fixed print sizes in points, as large as each card holds without losing its
   layout (picture panel, words, QR). The request near-black, the thank-you line a
   darker gold, more space between lines. The wallet card shows the headline, the
   technician and the QR only: the request cannot be read at that size. */
.tag.rv .rv-ask{color:#111827;line-height:1.3;font-weight:500}
.tag.rv .rv-eyebrow{color:#8a6400;letter-spacing:.08em;line-height:1.2}
.tag.rv .rv-url{color:#334155}
.tag.rv .rv-by{color:#0a2540}
.tag.rv-ticket .rv-eyebrow{font-size:10pt} .tag.rv-ticket h2{font-size:30pt} .tag.rv-ticket .rv-ask{font-size:14pt}
.tag.rv-ticket .rv-by{font-size:12.5pt} .tag.rv-ticket .rv-scan{font-size:12pt} .tag.rv-ticket .rv-url{font-size:8pt}
.tag.rv-bill .rv-eyebrow{font-size:8pt} .tag.rv-bill h2{font-size:22pt} .tag.rv-bill .rv-ask{font-size:11pt}
.tag.rv-bill .rv-by{font-size:10pt} .tag.rv-bill .rv-scan{font-size:10pt} .tag.rv-bill .rv-url{font-size:7pt}
.tag.rv-wallet h2{font-size:16pt} .tag.rv-wallet .rv-by{font-size:8.5pt} .tag.rv-wallet .rv-scan{font-size:8.5pt}
.tag.rv-post .rv-eyebrow{font-size:10pt} .tag.rv-post h2{font-size:28pt} .tag.rv-post .rv-ask{font-size:13.5pt}
.tag.rv-post .rv-by{font-size:12pt} .tag.rv-post .rv-scan{font-size:12pt} .tag.rv-post .rv-url{font-size:8pt}
.tag.rv-sign .rv-eyebrow{font-size:13pt} .tag.rv-sign h2{font-size:38pt} .tag.rv-sign .rv-ask{font-size:17pt}
.tag.rv-sign .rv-by{font-size:15pt} .tag.rv-sign .rv-scan{font-size:15pt} .tag.rv-sign .rv-url{font-size:10pt}
/* the postcard and the counter sign stack the words and the QR: the QR sized to scan easily and leave the words their room */
.tag.rv-post .rv-qr{width:1.3in;height:1.3in} .tag.rv-sign .rv-qr{width:1.65in;height:1.65in}
.tag.rv-post .rv-qrbox,.tag.rv-sign .rv-qrbox{margin-top:.25em}
/* the dollar bill: "How did I do?" on one line, even beside a picture */
.tag.rv-bill h2{font-size:20pt;white-space:nowrap} .tag.rv-bill .rv-ask{font-size:10.5pt}
.tag.rv-post .rv-ask{font-size:13pt} .tag.rv-post .rv-qr{width:1.25in;height:1.25in}   /* the postcard with a picture also has a row of stars */
/* the technician line wraps inside its column ("Your delivery technician:" / the name) — it ran into the QR */
.tag.rv .rv-by{white-space:normal;max-width:100%;flex-wrap:nowrap;align-items:center;line-height:1.2}
.tag.rv .rv-by span{min-width:0;overflow-wrap:anywhere}
.tag.rv .rv-words,.tag.rv .rv-main{min-width:0}

/* b043: the Google rating with the stars */
.tag.rv .rv-g b{font-size:1.25em;color:#f5b301}

/* b046: the Google rating as one pill, as in the product page hero — the badge, ★★★★★ 4.8, "on Google · 482 reviews" —
   stacked, because the card's panel is tall and narrow where the hero is wide */
.tag.rv .rv-gpill{font-size:.42em;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.35em;width:86%;margin:1em auto 0;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:.6em;padding:.6em .5em;box-sizing:border-box;text-align:center}
.tag.rv .rv-gbadge{display:block;height:3.6em;width:auto;max-width:92%;object-fit:contain}
.tag.rv .rv-gtext{display:flex;flex-direction:column;align-items:center;gap:.15em;line-height:1.15;min-width:0;max-width:100%}
.tag.rv .rv-gstars{font-size:1.3em;font-weight:900;color:#fff;white-space:nowrap}.tag.rv .rv-gstars .s{color:#f5b301;letter-spacing:.02em}
.tag.rv .rv-glabel{font-size:1em;font-weight:600;color:rgba(255,255,255,.88);overflow-wrap:anywhere}
/* with a photo: the pill in the photo's top corner, on a dark backing so it reads over any picture */
.tag.rv.rv-has-photo .rv-gpill{position:absolute;left:7%;top:4%;margin:0;width:86%;background:rgba(10,37,64,.86);border-color:rgba(255,255,255,.3);z-index:3}
.tag.rv-wallet .rv-gpill{font-size:.34em;padding:.45em .3em;width:90%}.tag.rv-wallet .rv-gbadge{height:2.8em}

/* b049: with a photo, nothing sits on the photo — the rating is under the headline, beside the stars */
.tag.rv.rv-has-photo .rv-gpill{display:none}
.tag.rv .rv-srate{font-size:.62em;font-weight:600;color:#334155;letter-spacing:0;white-space:nowrap;vertical-align:.12em}
.tag.rv .rv-srate b{color:#0a2540;font-weight:800}
