/* A1A Wrap Estimator v1.1 - styled to match a1asigns.ca:
   brand orange #ff6600, charcoal #393836, light grey #f4f4f4,
   Roboto Slab headings, Roboto body, Oswald labels (all loaded by the site). */
.awe{--awe-accent:#ff6600;--awe-navy:#393836;--awe-ink:#2b2b2b;--awe-dim:#6d6a63;--awe-line:#e3e0d8;--awe-bg:#fff;--awe-soft:#f4f4f4;
  font-family:"Roboto",Arial,sans-serif;color:var(--awe-ink);max-width:1020px;margin:0 auto}
.awe *{box-sizing:border-box}
.awe h2,.awe h3{font-family:"Roboto Slab",Georgia,serif}

/* Progress: connected orbs */
.awe-progress{display:flex;list-style:none;margin:0 0 30px;padding:0}
.awe-progress li{flex:1;text-align:center;position:relative;font-family:"Oswald",Arial,sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#a49f93;padding-top:40px}
.awe-progress li::before{content:attr(data-step-dot);position:absolute;top:0;left:50%;transform:translateX(-50%);width:32px;height:32px;border-radius:999px;background:#e8e5dc;color:#8a8578;display:flex;align-items:center;justify-content:center;font-size:.95rem;letter-spacing:0;z-index:2;transition:background .25s,color .25s}
.awe-progress li::after{content:"";position:absolute;top:15px;left:calc(-50% + 18px);right:calc(50% + 18px);height:3px;background:#e8e5dc;z-index:1}
.awe-progress li:first-child::after{display:none}
.awe-progress li.is-current{color:var(--awe-navy);font-weight:600}
.awe-progress li.is-current::before{background:var(--awe-accent);color:#fff;box-shadow:0 0 0 5px rgba(255,102,0,.18)}
.awe-progress li.is-done{color:var(--awe-accent)}
.awe-progress li.is-done::before{background:var(--awe-navy);color:#fff}
.awe-progress li.is-done::after{background:var(--awe-navy)}

/* Steps */
.awe-step{border:1px solid var(--awe-line);border-radius:16px;padding:28px;margin:0 0 20px;background:var(--awe-bg);box-shadow:0 2px 10px rgba(57,56,54,.05)}
.awe-step.is-open{animation:aweIn .38s ease both}
@keyframes aweIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.awe-step-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.awe-step h2{font-size:1.5rem;margin:0;color:var(--awe-navy);display:flex;align-items:center;gap:13px;font-weight:700}
.awe-stepnum{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#e8e5dc;color:#8a8578;font-family:"Oswald",Arial,sans-serif;font-size:1.05rem;flex:none;transition:background .25s,color .25s}
.awe-step.is-open .awe-stepnum{background:var(--awe-accent);color:#fff}
.awe-step:not(.is-open) .awe-stepnum{background:var(--awe-navy);color:#fff}
.awe-step:not(.is-open):not(.has-choice) .awe-cards{display:none}
.awe-step.has-choice .awe-cards{display:grid}
.awe-step.has-choice .awe-card:not(.is-selected){display:none}
.awe-step.has-choice .awe-card.is-selected{pointer-events:none}
.awe-step.has-choice .awe-cards{grid-template-columns:1fr}
.awe-step.has-choice .awe-card{display:grid;grid-template-columns:290px 1fr;column-gap:20px;align-items:center}
.awe-step.has-choice .awe-card-photo{width:100%;margin:0;aspect-ratio:16/10;border-radius:10px;grid-row:1/3}
.awe-step.has-choice .awe-card-icon,.awe-step.has-choice .awe-card-big-icon{grid-row:1/3}
.awe-step.has-choice .awe-card-icon svg{width:100%;height:auto}
.awe-step.has-choice .awe-card-title{align-self:end}
.awe-step.has-choice .awe-card-sub{align-self:start}
@media (max-width:640px){.awe-step.has-choice .awe-card{grid-template-columns:140px 1fr}}
.awe-step.has-choice .awe-chosen{display:none}
.awe-chosen{margin:4px 0 0 47px;color:var(--awe-accent);font-weight:700;font-size:1.02rem}
.awe-change{background:#fff;border:1.5px solid var(--awe-line);border-radius:999px;padding:6px 16px;font-family:"Oswald",Arial,sans-serif;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--awe-navy);transition:border-color .15s,color .15s}
.awe-change:hover{border-color:var(--awe-accent);color:var(--awe-accent)}

/* Cards */
.awe-cards{display:grid;gap:16px;margin-top:20px}
.awe-cards-vehicles{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.awe-cards-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.awe-cards-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.awe-card{position:relative;text-align:left;background:var(--awe-soft);border:2px solid transparent;border-radius:14px;padding:20px;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:7px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;width:100%}
.awe-card:hover{transform:translateY(-4px);border-color:#cfc9ba;box-shadow:0 14px 28px rgba(57,56,54,.13);background:#fff}
.awe-card.is-selected{border-color:var(--awe-accent);background:#fff;box-shadow:0 14px 30px rgba(255,102,0,.16)}
.awe-card.is-selected::after{content:"\2713";position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:999px;background:var(--awe-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.awe-card-icon{color:#55524b;line-height:0;transition:color .18s}
.awe-card-icon svg{width:118px;height:52px;max-width:100%}
.awe-card:hover .awe-card-icon{color:var(--awe-navy)}
.awe-card.is-selected .awe-card-icon{color:var(--awe-accent)}
.awe-card-title{font-family:"Roboto Slab",Georgia,serif;font-weight:700;font-size:1.18rem;color:var(--awe-navy)}
.awe-card-sub{font-size:.9rem;color:var(--awe-dim);line-height:1.45}
.awe-card-big-icon{color:#55524b;line-height:0}
.awe-card-big-icon svg{width:52px;height:52px}
.awe-card.is-selected .awe-card-big-icon{color:var(--awe-accent)}

/* Card photos (the shop's own vehicle images from a1asigns.ca) */
.awe-card-photo{display:block;width:calc(100% + 40px);max-width:none;margin:-20px -20px 12px;aspect-ratio:16/10;object-fit:cover;border-radius:12px 12px 0 0}
.awe-card:hover .awe-card-photo{filter:brightness(1.04)}

/* Coverage: vehicle fill visual */
.awe-covviz{position:relative;height:56px;margin-bottom:2px;display:block}
.awe-covviz svg{position:absolute;inset:0;width:100%;height:56px}
.awe-covviz .cov-base{color:#c9c4b4}
.awe-covviz .cov-fill{color:var(--awe-accent)}
.awe-covviz-photo{height:64px;border-radius:8px;overflow:hidden;background:#e8e5dc}
.awe-covviz-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.awe-covviz-photo .cov-base{filter:grayscale(1);opacity:.45}
.awe-covviz-photo .cov-fill{position:absolute;inset:0}
.awe-covviz-photo .cov-fill img{position:absolute;inset:0}

/* Result */
.awe-result{border:none;background:var(--awe-navy);color:#f2f0ea;overflow:hidden;position:relative}
.awe-result::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,102,0,.28),transparent 55%);pointer-events:none}
.awe-result h2{color:#fff}
.awe-result .awe-stepnum{background:var(--awe-accent);color:#fff}
.awe-summary{position:relative;font-weight:700;color:#fff;margin:8px 0 0 47px;font-size:1.05rem}
.awe-price{position:relative;margin:12px 0 4px 47px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.awe-price-prefix{font-family:"Oswald",Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#cfc9ba;font-size:.9rem}
.awe-price strong{font-family:"Oswald",Arial,sans-serif;font-size:3.2rem;line-height:1;color:var(--awe-accent);letter-spacing:.01em}
.awe-cur{font-family:"Oswald",Arial,sans-serif;font-weight:600;color:#cfc9ba}
.awe-note{position:relative;margin:2px 0 0 47px;color:#cfc9ba;font-size:.93rem;max-width:62ch}
.awe-lead{position:relative;margin:26px 0 0 47px;background:#fff;color:var(--awe-ink);border-radius:14px;padding:22px}
.awe-lead h3{margin:0 0 4px;color:var(--awe-navy);font-size:1.25rem}
.awe-lead p{color:var(--awe-dim);margin:0 0 14px}
.awe-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.awe-form-grid label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.92rem;color:var(--awe-navy)}
.awe-form-grid input,.awe-form-grid textarea{font:inherit;font-weight:400;color:var(--awe-ink);border:1px solid var(--awe-line);border-radius:9px;padding:11px 12px;background:#fff}
.awe-form-grid input:focus,.awe-form-grid textarea:focus{outline:2px solid var(--awe-accent);outline-offset:1px}
.awe-full{grid-column:1/-1}
.awe-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.awe-submit{margin-top:14px;background:var(--awe-accent);color:#fff;border:none;border-radius:10px;padding:14px 28px;font-family:"Oswald",Arial,sans-serif;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:filter .15s,transform .15s}
.awe-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
.awe-form-msg{margin:12px 0 0;font-weight:600}
.awe-ok{color:#23733a}
.awe-err{color:#b00020}
.awe-restart{position:relative;margin:18px 0 0 47px}
.awe-restart .awe-change{background:transparent;border-color:#6b6862;color:#f2f0ea}
.awe-restart .awe-change:hover{border-color:var(--awe-accent);color:var(--awe-accent)}
@media (max-width:640px){
  .awe-step{padding:20px 16px 22px}
  .awe-chosen,.awe-summary,.awe-price,.awe-note,.awe-restart{margin-left:0}
  .awe-lead{margin-left:0;padding:18px 16px}
  .awe-form-grid{grid-template-columns:1fr}
  .awe-progress li{font-size:.62rem;letter-spacing:.05em}
  .awe-price strong{font-size:2.4rem}
  .awe-card-icon svg{width:96px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  .awe-card,.awe-step{animation:none;transition:none}
}

/* Coverage stage: big vehicle visual + snapping slider */
.awe-covviz-big{height:320px;border-radius:12px}
.awe-covviz-big img{object-position:center 60%}
.awe-covctl{margin-top:16px}
.awe-covread{margin:0 0 8px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.awe-covread strong{font-family:"Oswald",Arial,sans-serif;font-size:1.5rem;color:var(--awe-accent);letter-spacing:.03em}
.awe-covread span{color:var(--awe-dim);font-weight:600}
.awe-covctl input[type=range]{width:100%;accent-color:var(--awe-accent);height:32px;cursor:pointer}
.awe-covticks{display:flex;justify-content:space-between;font-family:"Oswald",Arial,sans-serif;font-size:.82rem;letter-spacing:.1em;color:var(--awe-dim);margin:0 2px 12px}
.awe-step.has-choice .awe-covstage{display:grid;grid-template-columns:290px 1fr;gap:20px;align-items:center}
.awe-step.has-choice .awe-covviz-big{height:170px}
.awe-step.has-choice .awe-covctl{margin-top:0}
.awe-step.has-choice [data-cov-slider],.awe-step.has-choice .awe-covticks,.awe-step.has-choice [data-cov-continue]{display:none}
@media (max-width:640px){.awe-covviz-big{height:210px}.awe-step.has-choice .awe-covstage{grid-template-columns:140px 1fr}.awe-step.has-choice .awe-covviz-big{height:100px}}

/* Coverage stage: side-profile illustration with transparent wrap overlay */
.awe-covvizbox{background:linear-gradient(180deg,#fbfaf7,#f1efe8);border:1px solid var(--awe-line);border-radius:12px;padding:18px 14px 8px}
.awe-covvizbox svg{width:100%;height:auto;display:block}
.awe-step.has-choice .awe-covvizbox{padding:10px 8px 2px}

/* Coverage photo mode: tinted copy of the side photo clipped to the percentage */
.awe-covphoto{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:2/1;background:#f2f1ec}
.awe-covphoto .cov-pbase{width:100%;height:100%;object-fit:cover;display:block}
.awe-covphoto .cov-ptint{position:absolute;inset:0}
.awe-covphoto .cov-ptint img{width:100%;height:100%;object-fit:cover;display:block}
.awe-covphoto .cov-ptint.is-filtered img{filter:sepia(.85) saturate(4.2) hue-rotate(-13deg) brightness(1.03)}
.awe-covphoto .cov-pedge{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:var(--awe-accent);box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.awe-step.has-choice .awe-covphoto{aspect-ratio:2/1}
