:root{
  --avg-red:#C62127;
  --avg-red-dark:#A81B20;
  --avg-gold:#C89A3D;
  --avg-text:#4A4A4A;
  --avg-heading:#222222;
  --avg-border:#E8E4DD;
  --avg-cream:#FAF7F2;
  --avg-soft:#FFF9F6;
}

/* BUTTONS */
.avg-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:42px;padding:10px 18px;border-radius:7px;border:1px solid transparent;
  font:700 13px/1.2 "Be Vietnam Pro",sans-serif;text-transform:uppercase;letter-spacing:.01em;
  cursor:pointer;text-decoration:none!important;transition:.2s ease;
}
.avg-btn-primary{background:var(--avg-red);border-color:var(--avg-red);color:#fff!important}
.avg-btn-primary:hover,.avg-btn-primary:focus{background:var(--avg-red-dark);border-color:var(--avg-red-dark);color:#fff!important}
.avg-btn-secondary{background:#fff;border-color:var(--avg-red);color:var(--avg-red)!important}
.avg-btn-secondary:hover{background:var(--avg-red);color:#fff!important}
.avg-single-quote-wrap{margin:16px 0 10px}.avg-single-quote-wrap .avg-btn{min-width:220px}
.products .product .avg-quote-trigger{width:100%;margin-top:8px}

/* PRODUCT SHORTLIST SAVE - overlay, không chiếm hàng CTA */
.avg-shortlist-card-scope{
  position:relative!important;
}
.avg-shortlist-add{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#514b46;
  font:800 9px/1.2 "Be Vietnam Pro",sans-serif;
  cursor:pointer;
  white-space:nowrap;
  transition:.18s ease;
  box-shadow:0 5px 18px rgba(35,22,12,.12);
  backdrop-filter:blur(8px);
}
.avg-shortlist-add b{
  font-size:16px;
  line-height:1;
  color:var(--avg-red);
  font-weight:500;
}
.avg-shortlist-add:hover,
.avg-shortlist-add.is-saved{
  border-color:rgba(198,33,39,.25);
  background:#fff7f5;
  color:var(--avg-red);
}
.avg-shortlist-add.is-saved b{
  font-size:0;
}
.avg-shortlist-add.is-saved b:after{
  content:"✓";
  font-size:12px;
  font-weight:900;
}
.avg-shortlist-overlay{
  position:absolute!important;
  top:10px;
  right:10px;
  z-index:20;
  margin:0!important;
}
.avg-shortlist-overlay.is-saved{
  background:rgba(255,247,245,.96);
}

/* Nếu Product Card đã có nút shortlist thủ công thì không ép overlay */
.avg-shortlist-add:not(.avg-shortlist-overlay){
  position:relative;
}

/* MODAL */
.avg-modal{position:fixed;inset:0;z-index:999999;display:none}
.avg-modal.is-open{display:block}
.avg-modal-backdrop{position:absolute;inset:0;background:rgba(18,18,18,.61);backdrop-filter:blur(3px)}
.avg-modal-dialog{
  position:relative;
  width:min(680px,calc(100% - 30px));
  max-height:calc(100vh - 32px);
  overflow:auto;
  margin:16px auto;
  background:#fff;
  border-radius:18px;
  box-shadow:0 26px 80px rgba(0,0,0,.25);
  padding:27px 29px 25px;
}
.avg-modal-close{
  position:absolute;right:12px;top:10px;width:38px;height:38px;
  border:0;border-radius:50%;background:#f6f2ef;color:#777;
  font-size:25px;line-height:1;cursor:pointer;z-index:2;
}
.avg-modal-kicker{font-size:9px;font-weight:900;color:var(--avg-red);letter-spacing:.12em;margin-bottom:6px}
.avg-modal-head h3,.avg-form-success h3{
  color:var(--avg-heading);font-size:26px;line-height:1.25;
  letter-spacing:-.025em;margin:0 42px 4px 0;
}
.avg-modal-context{margin:6px 0 0;color:#777;font-size:12px;line-height:1.55}
.avg-form-progress{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:10px;margin:20px 0 18px;padding:10px 12px;
  border:1px solid var(--avg-border);border-radius:12px;background:var(--avg-cream);
}
.avg-form-progress>i{height:1px;background:#ded7d0}
.avg-form-progress-item{display:flex;align-items:center;gap:7px;color:#999}
.avg-form-progress-item b{
  width:24px;height:24px;display:grid;place-items:center;border-radius:50%;
  background:#eae5e0;color:#888;font-size:9px;
}
.avg-form-progress-item span{font-size:10px;font-weight:800}
.avg-form-progress-item.is-active{color:var(--avg-red)}
.avg-form-progress-item.is-active b{background:var(--avg-red);color:#fff}

.avg-step-intro{margin-bottom:16px}
.avg-step-intro strong{display:block;color:#292929;font-size:14px}
.avg-step-intro span{display:block;margin-top:3px;color:#888;font-size:10px;line-height:1.55}
.avg-choice-group{margin-bottom:18px}
.avg-choice-group>label,.avg-field label{
  display:block;font-size:12px;font-weight:750;color:#333;margin:0 0 7px;
}
.avg-choice-group>label span,.avg-field label span{color:var(--avg-red)}
.avg-choice-list{display:flex;flex-wrap:wrap;gap:6px}
.avg-choice-list button{
  min-height:36px;padding:7px 10px;border:1px solid var(--avg-border);
  border-radius:9px;background:#fff;color:#5d5d5d;
  font:650 10px/1.2 "Be Vietnam Pro",sans-serif;cursor:pointer;
}
.avg-choice-list button:hover{border-color:#d7c8bf;color:#333}
.avg-choice-list button.is-selected{
  border-color:rgba(198,33,39,.38);background:#fff3f2;color:var(--avg-red);font-weight:850;
}
.avg-inline-custom{
  display:grid;grid-template-columns:auto minmax(0,210px);
  align-items:center;gap:9px;margin-top:8px;
}
.avg-inline-custom>span{font-size:9px;color:#999}
.avg-inline-custom input{height:35px!important;font-size:11px!important}
.avg-selection-summary{
  margin:0 0 16px;padding:11px 12px;border:1px solid #eee5dd;
  border-radius:11px;background:#fffaf6;
}
.avg-selection-summary>span{
  display:block;font-size:8px;font-weight:900;letter-spacing:.09em;color:var(--avg-red);margin-bottom:5px;
}
.avg-selection-summary strong{display:block;font-size:11px;color:#333;line-height:1.45}
.avg-selection-summary small{display:block;color:#888;font-size:9px;margin-top:3px}

.avg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}
.avg-field-full{grid-column:1/-1}
.avg-field input,.avg-field select,.avg-field textarea{
  width:100%;border:1px solid var(--avg-border);border-radius:8px;background:#fff;color:var(--avg-text);
  padding:10px 12px;box-shadow:none!important;outline:none;
  transition:border-color .2s,box-shadow .2s;
  font:400 13px/1.4 "Be Vietnam Pro",sans-serif;
}
.avg-field input,.avg-field select{height:42px}
.avg-field textarea{resize:vertical}
.avg-field input:focus,.avg-field select:focus,.avg-field textarea:focus{
  border-color:var(--avg-red);box-shadow:0 0 0 3px rgba(198,33,39,.07)!important
}
.avg-next-btn{width:100%;min-height:45px;margin-top:17px}
.avg-form-nav{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;margin-top:15px}
.avg-back-btn{
  min-height:45px;padding:9px 12px;border:1px solid var(--avg-border);
  border-radius:7px;background:#fff;color:#777;font:750 9px/1.2 "Be Vietnam Pro",sans-serif;cursor:pointer
}
.avg-submit-btn{width:100%;min-height:45px}
.avg-submit-btn:disabled{opacity:.65;cursor:wait}
.avg-form-message{font-size:11px;margin-top:10px;min-height:0}
.avg-form-message.is-error{color:#B42318}.avg-form-message.is-success{color:#2E7D32}
.avg-form-note{text-align:center;color:#888;font-size:9px;margin-top:9px}
.avg-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* SUCCESS */
.avg-form-success{text-align:center;padding:24px 8px 8px}
.avg-success-icon{
  width:58px;height:58px;margin:0 auto 12px;border-radius:50%;
  display:grid;place-items:center;background:#fff1ef;color:var(--avg-red);
  font-size:27px;font-weight:800
}
.avg-success-kicker{display:block;color:var(--avg-red);font-size:8px;font-weight:900;letter-spacing:.1em}
.avg-form-success h3{margin:5px auto 0;max-width:520px}
.avg-success-text{color:#666;max-width:520px;margin:9px auto 17px;font-size:12px;line-height:1.6}
.avg-success-flow{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px;border-radius:11px;background:var(--avg-cream);margin-bottom:16px
}
.avg-success-flow span{font-size:9px;color:#666;font-weight:700}
.avg-success-flow span b{color:var(--avg-red);margin-right:3px}
.avg-success-flow i{font-style:normal;color:#c3b8af;font-size:11px}
.avg-success-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.avg-success-actions .avg-btn{min-height:40px;font-size:9px}
.avg-success-continue{
  margin-top:12px;border:0;background:transparent;color:#888;
  font:750 9px/1.2 "Be Vietnam Pro",sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px
}
body.avg-modal-open{overflow:hidden}

/* SHORTLIST FAB */
.avg-shortlist-fab{
  position:fixed;right:18px;bottom:20px;z-index:99980;
  min-height:47px;display:flex;align-items:center;gap:8px;
  padding:8px 10px 8px 13px;border:1px solid rgba(198,33,39,.24);
  border-radius:999px;background:#fff;color:#333;
  box-shadow:0 12px 38px rgba(39,24,14,.14);
  font:inherit;cursor:pointer
}
.avg-shortlist-fab[hidden]{display:none!important}
.avg-shortlist-fab-icon{color:var(--avg-red);font-size:19px;line-height:1}
.avg-shortlist-fab strong{font-size:9px;font-weight:900;letter-spacing:.03em}
.avg-shortlist-fab>b{
  min-width:25px;height:25px;display:grid;place-items:center;border-radius:999px;
  background:var(--avg-red);color:#fff;font-size:9px
}

/* SHORTLIST DRAWER */
.avg-shortlist-drawer{position:fixed;inset:0;z-index:999998;display:none}
.avg-shortlist-drawer.is-open{display:block}
.avg-shortlist-backdrop{position:absolute;inset:0;border:0;background:rgba(18,18,18,.52);backdrop-filter:blur(2px)}
.avg-shortlist-panel{
  position:absolute;right:0;top:0;bottom:0;width:min(410px,calc(100% - 30px));
  display:flex;flex-direction:column;background:#fff;box-shadow:-18px 0 60px rgba(0,0,0,.16)
}
.avg-shortlist-head{
  min-height:74px;display:flex;align-items:center;justify-content:space-between;
  gap:15px;padding:15px 17px;border-bottom:1px solid var(--avg-border)
}
.avg-shortlist-head span{display:block;color:var(--avg-red);font-size:8px;font-weight:900;letter-spacing:.1em}
.avg-shortlist-head strong{display:block;font-size:14px;margin-top:2px}
.avg-shortlist-head>button{
  width:34px;height:34px;border:0;border-radius:50%;background:#f5f1ee;color:#777;font-size:21px;cursor:pointer
}
.avg-shortlist-list{overflow:auto;padding:10px 14px;flex:1}
.avg-shortlist-item{
  display:grid;grid-template-columns:62px minmax(0,1fr) 30px;
  gap:11px;align-items:center;padding:9px 0;border-bottom:1px solid #eee9e4
}
.avg-shortlist-item-media{width:62px;height:62px;border-radius:9px;overflow:hidden;background:#f1ece7}
.avg-shortlist-item-media img{width:100%;height:100%;object-fit:cover;display:block}
.avg-shortlist-item-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--avg-red);font-size:8px;font-weight:900}
.avg-shortlist-item strong{display:block;font-size:11px;line-height:1.4;color:#333}
.avg-shortlist-item small{display:block;margin-top:3px;font-size:8px;color:#999}
.avg-shortlist-item-remove{
  width:28px;height:28px;border:0;border-radius:50%;background:#f7f3f0;color:#999;font-size:16px;cursor:pointer
}
.avg-shortlist-empty{padding:34px 24px;text-align:center;color:#777}
.avg-shortlist-empty b{display:block;color:#333;font-size:13px}
.avg-shortlist-empty span{display:block;font-size:10px;line-height:1.6;margin-top:5px}
.avg-shortlist-footer{padding:14px;border-top:1px solid var(--avg-border);background:#fff}
.avg-shortlist-clear{
  width:100%;border:0;background:transparent;color:#999;font:700 9px/1.2 "Be Vietnam Pro",sans-serif;
  cursor:pointer;margin-bottom:7px
}
.avg-shortlist-quote{width:100%;min-height:45px}

/* MOBILE STICKY CTA */
.avg-mobile-sticky{display:none}
@media(max-width:849px){
  body.avg-has-mobile-sticky{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
  .avg-mobile-sticky{
    position:fixed;left:0;right:0;bottom:0;z-index:99990;
    display:flex;align-items:stretch;min-height:58px;
    padding-bottom:env(safe-area-inset-bottom,0px);
    background:#fff;border-top:1px solid var(--avg-border);
    box-shadow:0 -6px 20px rgba(0,0,0,.08);
    transform:translateY(0);opacity:1;visibility:visible;
    transition:transform .2s ease,opacity .2s ease,visibility .2s ease
  }
  body.avg-quote-modal-visible .avg-mobile-sticky,
  body.avg-shortlist-visible .avg-mobile-sticky{
    transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none
  }
  .avg-mobile-sticky-item{
    min-width:0;min-height:58px;margin:0;padding:7px 8px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    border:0;border-radius:0;background:#fff;color:#333!important;
    font:600 11px/1.1 "Be Vietnam Pro",sans-serif;text-transform:none;
    text-decoration:none!important;white-space:nowrap;box-shadow:none;cursor:pointer
  }
  .avg-mobile-sticky-item + .avg-mobile-sticky-item{border-left:1px solid #eee}
  .avg-mobile-sticky.has-call.has-zalo .avg-mobile-call,
  .avg-mobile-sticky.has-call.has-zalo .avg-mobile-zalo{flex:0 0 24%}
  .avg-mobile-sticky.has-call.has-zalo .avg-mobile-quote{flex:1 1 52%}
  .avg-mobile-sticky.has-call:not(.has-zalo) .avg-mobile-call,
  .avg-mobile-sticky.has-zalo:not(.has-call) .avg-mobile-zalo{flex:0 0 34%}
  .avg-mobile-sticky.has-call:not(.has-zalo) .avg-mobile-quote,
  .avg-mobile-sticky.has-zalo:not(.has-call) .avg-mobile-quote{flex:1 1 66%}
  .avg-mobile-sticky.quote-only .avg-mobile-quote{flex:1 1 100%}
  .avg-mobile-sticky-icon{width:20px;height:20px;display:grid;place-items:center;color:var(--avg-red)}
  .avg-mobile-sticky-icon svg{width:19px;height:19px;display:block;fill:currentColor}
  .avg-mobile-zalo-mark{border:1.6px solid currentColor;border-radius:6px;font-size:12px;font-weight:800;line-height:1}
  .avg-mobile-quote{background:var(--avg-red)!important;color:#fff!important;font-size:12px;font-weight:700;text-transform:uppercase}
  .avg-mobile-quote .avg-mobile-sticky-icon{color:#fff}
  .avg-mobile-call:hover,.avg-mobile-zalo:hover{background:var(--avg-cream);color:var(--avg-red)!important}

  .avg-shortlist-fab{right:12px;bottom:70px;min-height:43px;padding:7px 8px 7px 11px}
}

@media(max-width:640px){
  .avg-modal-dialog{
    padding:21px 15px 18px;margin:8px auto;max-height:calc(100vh - 16px);
    width:calc(100% - 16px);border-radius:15px
  }
  .avg-modal-head h3{font-size:22px}
  .avg-form-progress{margin-top:17px}
  .avg-form-grid{grid-template-columns:1fr;gap:11px}
  .avg-field-full{grid-column:auto}
  .avg-choice-list{gap:5px}
  .avg-choice-list button{padding:7px 8px;font-size:9px}
  .avg-inline-custom{grid-template-columns:1fr;gap:5px}
  .avg-inline-custom input{width:100%}
  .avg-form-nav{grid-template-columns:1fr 2fr}
  .avg-btn{min-height:44px}
  .avg-shortlist-overlay{
    top:8px;
    right:8px;
    width:34px;
    height:34px;
    min-height:34px;
    padding:0;
  }
  .avg-shortlist-overlay span{display:none}
  .avg-shortlist-overlay b{font-size:17px}
  .avg-shortlist-panel{
    left:0;right:0;top:auto;bottom:0;width:100%;max-height:82vh;border-radius:19px 19px 0 0
  }
  .avg-shortlist-list{min-height:100px}
  .avg-success-flow{gap:5px;padding:10px 7px}
  .avg-success-flow span{font-size:8px}
}
