/* IWS-TPL-001 — Templates + Mini Brief — v0.5.3-reference (2026-10-18)
   STATUS: IN PROGRESS / CANDIDATE — not MASTER LOCKED, not IN USE.
   Every rule is scoped to .iws-tpl. No global html/body/header/nav selectors.
   Modals are moved to <body> at runtime but keep the .iws-tpl class, so they stay scoped. */

.iws-tpl{
  --iws-bg:#f5f2ea;--iws-paper:#fff;--iws-ink:#111;--iws-line:#d8d2c8;
  --iws-navy:#121d32;--iws-gold-line:#ca912e;
  --iws-gold-text:#8a5f14;   /* was #b78223 (≈3.0:1) → ≈5.0:1 on --iws-bg */
  --iws-muted:#5b6779;       /* was #738092 / #697384 for 12px text → ≥4.5:1 */
  --iws-cta:#053b34;
  font-family:Arial,Helvetica,sans-serif;color:var(--iws-ink);background:var(--iws-bg);
  -webkit-font-smoothing:antialiased;font-synthesis:none;line-height:normal
}
.iws-tpl *,.iws-tpl *::before,.iws-tpl *::after{box-sizing:border-box}
.iws-tpl button,.iws-tpl a,.iws-tpl input,.iws-tpl select,.iws-tpl textarea{font:inherit}
.iws-tpl button{cursor:pointer}
.iws-tpl button:disabled{cursor:not-allowed;opacity:.6}
.iws-tpl :focus-visible{outline:3px solid #9a6a17;outline-offset:3px}
.iws-tpl [hidden]{display:none!important}
.iws-tpl .iws-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* layout */
.iws-tpl .iws-wrap{max-width:1320px;margin:auto;padding:24px 23px 32px}
.iws-tpl .iws-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:26px;margin:0 0 24px}
.iws-tpl .iws-eyebrow{font-size:12px;color:var(--iws-gold-text);font-weight:800;letter-spacing:.17em}
.iws-tpl h1{font:normal clamp(38px,5vw,60px)/1.08 Georgia,serif;margin:6px 0;color:var(--iws-navy);letter-spacing:-.03em}
.iws-tpl .iws-subtitle{font-size:21px;color:#5d6a7d;margin:4px 0}
.iws-tpl .iws-perks{display:flex;gap:18px}
.iws-tpl .iws-perk{display:flex;gap:11px;align-items:flex-start;flex:1}
.iws-tpl .iws-perk-icon{background:#fbf0df;border-radius:50%;height:45px;width:45px;display:grid;place-items:center;font-size:21px;flex:none;color:#9a6a17}
.iws-tpl .iws-perk b{font-size:13px}
.iws-tpl .iws-perk p{font-size:12px;color:var(--iws-muted);margin:6px 0 0;line-height:1.5}

/* catalog */
.iws-tpl .iws-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.iws-tpl .iws-card{background:#fff;border:1px solid #ece9e3;border-radius:14px;padding:10px;box-shadow:0 6px 28px #1d283b0b;min-width:0}
.iws-tpl .iws-card.is-selected{outline:2px solid #d2a759}
.iws-tpl .iws-thumb-frame{position:relative;border-radius:7px;overflow:hidden;background:#e6e6e6;aspect-ratio:2.72/1}
.iws-tpl .iws-thumb{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.iws-tpl .iws-card h2{font-size:19px;margin:12px 5px 4px;letter-spacing:-.025em}
.iws-tpl .iws-card p{font-size:13px;color:var(--iws-muted);margin:0 5px 12px;min-height:20px}
.iws-tpl .iws-tiers{display:flex;gap:8px;margin:0 5px 12px}
.iws-tpl .iws-tiers button{background:#fff;border:1px solid #848e9c;border-radius:6px;flex:1;padding:8px 3px;font-size:12px;font-weight:650;color:#22304a}
.iws-tpl .iws-tiers button[aria-pressed="true"]{background:#f9eddb;border-color:#9a6a17;color:#6a430c}
.iws-tpl .iws-actions{display:flex;align-items:center;gap:8px;margin:0 5px 3px}
.iws-tpl .iws-choose{border:0;border-radius:7px;min-height:39px;flex:1;background:var(--iws-accent,#06433c);color:var(--iws-accent-ink,#fff);font-weight:700;font-size:13px}
.iws-tpl .iws-preview-btn{border:0;background:transparent;color:#132c52;text-decoration:underline;font-weight:650;font-size:13px;padding:9px}

/* missing-asset placeholder (preview diagnostics; never a substitute design) */
.iws-tpl .is-missing{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#e9e5dc 0 12px,#e1ddd3 12px 24px)}
.iws-tpl .is-missing img{display:none!important}
.iws-tpl .is-missing::after{content:attr(data-missing-label);font:700 12px/1.3 Arial,sans-serif;color:#5a4a2c;text-align:center;padding:8px}

/* pricing */
.iws-tpl .iws-pricing{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:12px;margin-top:19px;align-items:stretch}
.iws-tpl .iws-pricing-intro{padding:14px 10px}
.iws-tpl .iws-pricing-intro h2{font:normal 31px/1.08 Georgia,serif;margin:9px 0;color:#102039}
.iws-tpl .iws-pricing-intro p{color:var(--iws-muted);line-height:1.5;font-size:14px}
.iws-tpl .iws-price-card{border:1px solid #e6e8eb;background:#fff;padding:14px 15px;border-radius:13px;min-height:185px;display:flex;flex-direction:column}
.iws-tpl .iws-price-card.is-recommended{border-color:#e8c68b;background:#fffaf1}
.iws-tpl .iws-price-card.is-selected{outline:2px solid #d6b27a}
.iws-tpl .iws-price-head b{font-size:15px;display:block}
.iws-tpl .iws-price-head small{color:var(--iws-muted);font-size:12px}
.iws-tpl .iws-price{display:block;font:700 31px Georgia,serif;margin:8px 0}
.iws-tpl .iws-price-card ul{padding:0;margin:8px 0 12px;list-style:none;color:var(--iws-muted);font-size:12px;line-height:1.85;flex:1}
.iws-tpl .iws-price-card li::before{content:'✓';color:#9a6a17;font-weight:800;margin-right:9px}
.iws-tpl .iws-seo-gift{font-weight:700;color:#73531f}
.iws-tpl .iws-price-pick{background:#fff;border:1px solid #848e9c;border-radius:7px;padding:9px 12px;font-size:13px;font-weight:700;color:#22304a}
.iws-tpl .iws-price-pick[aria-pressed="true"]{background:#f9eddb;border-color:#9a6a17;color:#6a430c}
.iws-tpl .iws-price-note,.iws-tpl .iws-seo-gift-note{max-width:1050px;margin:8px auto 0;font-size:12px;line-height:1.6;color:#4d4d4d;padding:0 22px}
.iws-tpl .iws-seo-gift-note{margin-bottom:25px}

/* how it works */
.iws-tpl .iws-steps{margin:28px 0 8px}
.iws-tpl .iws-steps h2{font:normal 28px/1.1 Georgia,serif;color:#102039;margin:6px 0 14px}
.iws-tpl .iws-steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:iws-step}
.iws-tpl .iws-steps li{background:#fff;border:1px solid #e6e8eb;border-radius:13px;padding:16px;counter-increment:iws-step}
.iws-tpl .iws-steps li::before{content:counter(iws-step);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fbf0df;color:#6a430c;font-weight:800;margin-bottom:10px}
.iws-tpl .iws-steps b{display:block;font-size:15px;margin-bottom:6px}
.iws-tpl .iws-steps p{margin:0;font-size:13px;line-height:1.55;color:var(--iws-muted)}

/* sticky choice bar (was position:fixed + body padding; sticky stays inside the module) */
.iws-tpl .iws-choicebar{position:sticky;bottom:0;z-index:5;background:#fff;box-shadow:0 -6px 27px #17243e23;padding:12px max(24px,calc((100% - 1320px)/2));display:flex;align-items:center;gap:18px;border-radius:20px 20px 0 0}
.iws-tpl .iws-choicebar-thumb{width:108px;height:55px;border-radius:5px;overflow:hidden;flex:none;background:#e6e6e6}
.iws-tpl .iws-choicebar-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.iws-tpl .iws-selection{flex:1;min-width:0}
.iws-tpl .iws-selection small{color:var(--iws-muted)}
.iws-tpl .iws-selection b{display:block}
.iws-tpl .iws-chosenplan{background:#f8f9fa;border:1px solid #e3e6e9;border-radius:9px;padding:13px 22px;font-weight:700}
.iws-tpl .iws-cta{padding:15px 25px;color:#fff;background:var(--iws-cta);border:0;border-radius:7px;font-weight:800;white-space:nowrap;text-decoration:none;display:inline-block}
.iws-tpl .iws-secondary{background:#fff;border:1px solid #b9c3cd;border-radius:7px;padding:10px 15px;color:#1c2a3a;text-decoration:none;display:inline-block}

/* preview-only readiness banner */
.iws-tpl .iws-readiness{background:#fff4d6;border:1px solid #d9b45a;border-radius:10px;padding:12px 16px;margin:0 0 18px;font-size:13px;line-height:1.5;color:#3d2f10}
.iws-tpl .iws-readiness b{display:block;margin-bottom:4px}
.iws-tpl .iws-readiness ul{margin:4px 0 0;padding-left:18px}

/* toast */
.iws-tpl .iws-toast{position:fixed;top:85px;right:20px;background:#113c34;color:#fff;padding:12px 17px;border-radius:8px;z-index:40}

/* modals (portalled to <body>, element itself carries .iws-tpl) */
.iws-tpl.iws-modal{position:fixed;inset:0;background:#071426d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:18px}
.iws-tpl.iws-modal[hidden]{display:none!important}
.iws-tpl .iws-panel{width:min(100%,1150px);max-height:95vh;overflow:auto;background:#fff;border-radius:15px;padding:16px}
.iws-tpl .iws-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:9px}
.iws-tpl .iws-panel-head h2{margin:0;font-size:18px}
.iws-tpl .iws-close{font-size:24px;line-height:1;background:#eff1f2;border:0;border-radius:50%;width:38px;height:38px;flex:none}
.iws-tpl .iws-fullshot-frame{border-radius:9px;overflow:hidden;min-height:200px;background:#eee}
.iws-tpl .iws-fullshot{display:block;width:100%;height:auto}
.iws-tpl .iws-preview-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}

/* mini brief */
.iws-tpl .iws-mini-panel{max-width:850px;max-height:95vh;max-height:calc(100dvh - 35px)}
.iws-tpl .iws-mini-inner{padding:0 24px 25px}
.iws-tpl .iws-mini-selection{background:#f0e9db;border:1px solid #d8d2c8;border-radius:10px;padding:14px 16px;font-weight:700;margin-bottom:14px}
.iws-tpl .iws-mini-note{line-height:1.6;color:#333;background:#fffaf0;border-left:3px solid #c6a66f;padding:12px 16px;font-size:14px}
.iws-tpl .iws-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.iws-tpl .iws-formgrid label{font-size:13px;display:grid;gap:7px;color:#333;font-weight:600}
.iws-tpl .iws-formgrid input,.iws-tpl .iws-formgrid select,.iws-tpl .iws-formgrid textarea{font-size:14px;width:100%;padding:11px;border:1px solid #8a8275;border-radius:8px;background:#fff;min-width:0;color:#111}
.iws-tpl .iws-formgrid textarea{resize:vertical;min-height:70px}
.iws-tpl .iws-req{color:#a33}
.iws-tpl .iws-upload{margin:20px 0;border:1px dashed #9c8360;background:#fbf8f2;border-radius:12px;padding:16px}
.iws-tpl .iws-upload-label{font-size:15px;font-weight:700;color:#111;display:block}
.iws-tpl .iws-upload p,.iws-tpl .iws-mini-disclaimer{font-size:13px;line-height:1.5;color:#55514a}
.iws-tpl .iws-upload input[type=file]{width:100%;max-width:100%;margin:12px 0}
.iws-tpl .iws-upload small{color:#5f584f;line-height:1.5;display:block}
.iws-tpl .iws-file{display:flex;gap:12px;justify-content:space-between;align-items:center;background:#fff;border-radius:7px;padding:7px 10px;margin:6px 0;font-size:12px;overflow-wrap:anywhere}
.iws-tpl .iws-file button{border:0;background:transparent;color:#8e4522;font-weight:700;padding:4px}
.iws-tpl .iws-file-errors{color:#8a2a1a;font-size:13px;margin:6px 0 0;padding-left:18px}
.iws-tpl .iws-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;font-weight:400}
.iws-tpl .iws-consent input{width:18px;height:18px;flex:0 0 18px;margin-top:1px}
.iws-tpl .iws-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.iws-tpl .iws-status{font-size:13px;color:#2f4a37;min-height:18px;overflow-wrap:anywhere}
.iws-tpl .iws-handoff{margin-top:16px;border:1px solid #c9dccf;background:#f3faf5;border-radius:12px;padding:16px;font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.iws-tpl .iws-handoff h3{margin:0 0 8px;font-size:16px}
.iws-tpl .iws-handoff ol{margin:6px 0 12px;padding-left:20px}
.iws-tpl .iws-handoff .iws-blocked{background:#fff4d6;border:1px solid #d9b45a;border-radius:8px;padding:10px 12px;color:#3d2f10;font-size:13px}
.iws-tpl .iws-mini-disclaimer{border-top:1px solid #ddd5c9;padding-top:14px;margin-top:17px}

/* responsive */
@media (max-width:1090px){
  .iws-tpl .iws-intro{grid-template-columns:1fr}
  .iws-tpl .iws-pricing{grid-template-columns:repeat(3,1fr)}
  .iws-tpl .iws-pricing-intro{grid-column:1/-1}
  .iws-tpl .iws-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:650px){
  .iws-tpl .iws-wrap{padding:20px 13px 24px}
  .iws-tpl .iws-perks{display:none}
  .iws-tpl .iws-catalog,.iws-tpl .iws-pricing,.iws-tpl .iws-steps ol{grid-template-columns:1fr}
  .iws-tpl .iws-pricing-intro{grid-column:auto}
  .iws-tpl .iws-choicebar{padding:8px 12px;gap:8px;flex-wrap:wrap}
  .iws-tpl .iws-choicebar-thumb{display:none}
  .iws-tpl .iws-chosenplan{padding:10px}
  .iws-tpl .iws-choicebar .iws-cta{padding:12px;font-size:12px;min-height:44px}
  .iws-tpl .iws-selection{font-size:12px;max-width:135px}
  .iws-tpl .iws-formgrid{grid-template-columns:1fr}
  .iws-tpl .iws-mini-inner{padding:0 13px 18px}
  .iws-tpl .iws-mini-panel{max-height:calc(100dvh - 18px)}
  .iws-tpl .iws-actions-row > *{width:100%;text-align:center}
}
@media (prefers-reduced-motion:no-preference){.iws-tpl{scroll-behavior:smooth}}

.iws-tpl .iws-slot{border-top:1px dashed #cdc6ba;padding:10px 0 4px}
.iws-tpl .iws-slot:first-of-type{border-top:0}
.iws-tpl .iws-slot-label{display:block;font-weight:600;margin:0 0 6px}
.iws-tpl .iws-slot-label small{font-weight:400;color:#5b6779}
.iws-tpl .iws-back{display:inline-block;margin:4px 0 14px;color:#8a5f14;font-weight:600;text-decoration:none}
.iws-tpl .iws-back:hover,.iws-tpl .iws-back:focus-visible{text-decoration:underline}
.iws-tpl .iws-home-btn{display:inline-block;margin-top:8px;padding:10px 16px;border-radius:12px;background:#111;color:#fff;font-weight:700;text-decoration:none}
