/* ============================================================
   CarVaidya — Car Accessories | Mobile-App Style Stylesheet
   Namespace: cv-
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@500;700&display=swap');

:root{
  /* ---- Brand tokens (CarVaidya logo palette: red / charcoal / white — no green or teal) ---- */
  --cv-red:#E4241F;
  --cv-red-dark:#B81813;
  --cv-red-darker:#8F1310;
  --cv-red-tint:#FDEBEA;
  --cv-charcoal:#14171F;
  --cv-charcoal-soft:#20242F;
  --cv-teal:#E4241F;       /* accent role — now brand red (was teal) */
  --cv-teal-dark:#14171F;  /* secondary text/icon role — now charcoal (was teal-dark) */
  --cv-mint:#FDEBEA;       /* soft tint role — now red-tint (was mint) */
  --cv-bg:#F7F8FA;
  --cv-white:#FFFFFF;
  --cv-ink:#1F2430;
  --cv-muted:#6B7280;
  --cv-border:#E7E9EE;
  --cv-amber:#E4241F;      /* rating-star role — now brand red (was amber) */
  --cv-success:#B81813;    /* savings/positive role — now deep red (was green) */

  --cv-radius-lg:18px;
  --cv-radius:14px;
  --cv-radius-sm:9px;
  --cv-shadow-sm:0 2px 8px rgba(20,23,31,.06);
  --cv-shadow:0 8px 24px rgba(20,23,31,.10);
  --cv-shadow-lg:0 16px 40px rgba(20,23,31,.16);

  --cv-appbar-h:58px;
  --cv-chipbar-h:52px;
  --cv-bottomnav-h:64px;

  --font-display:'Sora', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'Roboto Mono', monospace;
}

*{box-sizing:border-box;}

html,body{
  background:var(--cv-charcoal);
  font-family:var(--font-body);
  color:var(--cv-ink);
  -webkit-font-smoothing:antialiased;
}
a{
    text-decoration: none;
}

/* ============================================================
   App shell — single fluid layout that serves both the mobile
   app experience and a full desktop storefront at lg+.
   ============================================================ */
.cv-app{
  position:relative;
  width:100%;
  min-height:100vh;
  background:var(--cv-bg);
  overflow-x:hidden;
}
.cv-main {
    width: 100%;
    padding-top: var(--cv-appbar-h);
}

@media (min-width:992px) {
    .cv-main {
        margin: 0 auto;
    }
}

/* ============================================================
   Top App Bar
   ============================================================ */
.cv-appbar{
  position:fixed; top:0; left:0; right:0; width:100%; z-index:40;
  height:var(--cv-appbar-h);
  display:flex; align-items:center; gap:.6rem;
  padding:0 .85rem;
  background:var(--cv-white);
  border-bottom:1px solid var(--cv-border);
}
.cv-appbar__icon-btn{
  width:38px; height:38px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  border:none; background:var(--cv-bg); border-radius:50%;
  color:var(--cv-charcoal); font-size:1.05rem;
  transition:transform .15s ease, background .15s ease;
}
.cv-appbar__icon-btn:active{transform:scale(.9); background:var(--cv-red-tint); color:var(--cv-red);}
.cv-appbar__logo{
  display:flex; align-items:center; flex:0 0 auto; min-width:0;
}
.cv-appbar__logo img{height:28px; width:auto; display:block;}

.cv-appbar__navlinks{display:none; align-items:center; gap:1.6rem; margin:0 1.8rem 0 2.2rem;}
.cv-appbar__navlinks > a, .cv-appbar__navlinks > .cv-navdrop > a{
  font-family:var(--font-body); font-weight:600; font-size:.88rem; color:var(--cv-ink);
  text-decoration:none; padding:.4rem 0; position:relative; white-space:nowrap;
}
.cv-appbar__navlinks > a::after, .cv-appbar__navlinks > .cv-navdrop > a::after{
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--cv-red);
  transform:scaleX(0); transition:transform .18s ease; transform-origin:left;
}
.cv-appbar__navlinks > a:hover::after, .cv-appbar__navlinks > a.is-active::after,
.cv-appbar__navlinks > .cv-navdrop > a:hover::after, .cv-appbar__navlinks > .cv-navdrop > a.is-active::after{transform:scaleX(1);}
.cv-appbar__navlinks > a.is-active, .cv-appbar__navlinks > .cv-navdrop > a.is-active{color:var(--cv-red);}

.cv-appbar__search-desktop{
  display:none; align-items:center; gap:.5rem; flex:1; max-width:380px;
  background:var(--cv-bg); border:1px solid var(--cv-border); border-radius:999px; padding:.5rem 1rem;
}
.cv-appbar__search-desktop input{border:none; background:transparent; outline:none; flex:1; font-size:.85rem;}
.cv-appbar__search-desktop i{color:var(--cv-muted);}

.cv-appbar__actions{display:flex; align-items:center; gap:.4rem; margin-left:auto;}
.cv-appbar__login{
  display:none; align-items:center; gap:.4rem; margin-left:.6rem;
  background:var(--cv-red); color:#fff; text-decoration:none; font-weight:700; font-size:.82rem;
  padding:.5rem 1.1rem; border-radius:999px; white-space:nowrap;
}

/* ---- Desktop dropdown (single-level + flyout) ---- */
.cv-navdrop{position:relative;}
.cv-navdrop > a{display:flex; align-items:center; gap:.3rem;}
.cv-navdrop > a i{font-size:.65rem; transition:transform .18s ease;}
.cv-navdrop:hover > a i, .cv-navdrop:focus-within > a i{transform:rotate(180deg);}
.cv-navdrop:hover > a, .cv-navdrop:focus-within > a{color:var(--cv-red);}
.cv-navdrop:hover > a::after, .cv-navdrop:focus-within > a::after{transform:scaleX(1);}

.cv-navdrop__panel{
  position:absolute; top:calc(100% + 14px); left:0;
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius-sm);
  box-shadow:var(--cv-shadow-lg); padding:.5rem 0;
  min-width:230px;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
  z-index:50;
}
.cv-navdrop:hover .cv-navdrop__panel, .cv-navdrop:focus-within .cv-navdrop__panel{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);
}
.cv-navdrop__panel a{
  display:block; padding:.65rem 1.1rem; font-size:.83rem; font-weight:600; color:var(--cv-ink);
  text-decoration:none; transition:background .12s ease, color .12s ease;
}
.cv-navdrop__panel a:hover, .cv-navdrop__panel a.is-hot{background:var(--cv-red); color:#fff;}

/* Flyout (Car Accessories: parent list -> right-side subcategory panel) */
.cv-navdrop__panel--flyout{padding:.4rem 0; min-width:250px;}
.cv-flyitem{position:relative;}
.cv-flyitem__trigger{
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
}
.cv-flyitem__trigger i{font-size:.7rem; color:var(--cv-muted);}
.cv-flyitem__trigger:hover i, .cv-flyitem__trigger.is-hot i{color:#fff;}
.cv-flyout{
  position:absolute; top:0; left:100%;
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius-sm);
  box-shadow:var(--cv-shadow-lg); padding:.5rem 0; min-width:190px; margin-left:2px;
  opacity:0; visibility:hidden; pointer-events:none; transform:translateX(4px);
  transition:opacity .14s ease, transform .14s ease, visibility .14s;
}
.cv-flyitem:hover .cv-flyout, .cv-flyitem:focus-within .cv-flyout{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(0);
}
.cv-flyout a{
  display:block; padding:.6rem 1rem; font-size:.8rem; font-weight:500; color:var(--cv-ink); text-decoration:none;
}
.cv-flyout a:hover{background:var(--cv-mint); color:var(--cv-teal-dark);}

@media (min-width:992px){
  .cv-appbar{height:80px; padding:0 2.4rem; gap:0;}
  .cv-main{padding-top:80px;}
  .cv-appbar__logo img{height:36px;}
  .cv-appbar__navlinks{display:flex;}
  .cv-appbar__search-desktop{display:flex;}
  .cv-appbar__login{display:inline-flex;}
}

.cv-badge-dot{
  position:absolute; top:-2px; right:-2px;
  min-width:16px; height:16px; padding:0 3px;
  border-radius:50%; background:var(--cv-red); color:#fff;
  font-size:.6rem; font-weight:700; display:flex; align-items:center; justify-content:center;
  border:2px solid var(--cv-white); font-family:var(--font-mono);
}

/* Search reveal */
.cv-search{
  overflow:hidden; max-height:0; opacity:0;
  transition:max-height .28s ease, opacity .22s ease, padding .28s ease;
  background:var(--cv-white); padding:0 .85rem;
  position:fixed; top:var(--cv-appbar-h); left:0; right:0; width:100%; z-index:39;
  border-bottom:1px solid var(--cv-border);
}
.cv-search.is-open{max-height:64px; opacity:1; padding:.55rem .85rem;}
.cv-search__box{
  display:flex; align-items:center; gap:.5rem;
  background:var(--cv-bg); border-radius:999px; padding:.5rem .9rem;
}
.cv-search__box input{
  border:none; background:transparent; flex:1; font-size:.88rem; outline:none; color:var(--cv-ink);
}
.cv-search__box i{color:var(--cv-muted);}

/* ============================================================
   Category chip strip
   ============================================================ */
.cv-chipwrap{
  position:sticky; top:var(--cv-appbar-h); z-index:38;
  display:flex; align-items:center; gap:.15rem;
  background:var(--cv-white); border-bottom:1px solid var(--cv-border);
  padding:0 .4rem;
}
.cv-chipbar{
  flex:1; min-width:0;
  display:flex; gap:.5rem; overflow-x:auto; scroll-behavior:smooth;
  padding:.65rem .35rem; scrollbar-width:none;
}
.cv-chipbar::-webkit-scrollbar{display:none;}
.cv-chipnav{
  flex:0 0 auto; width:28px; height:28px; border-radius:50%; border:none;
  background:var(--cv-bg); color:var(--cv-charcoal); display:flex; align-items:center; justify-content:center;
  font-size:.78rem; transition:background .15s ease, transform .15s ease, opacity .15s ease, visibility .15s ease;
}
.cv-chipnav:active{transform:scale(.9); background:var(--cv-red-tint); color:var(--cv-red);}
.cv-chipnav.is-hidden{visibility:hidden; opacity:0; pointer-events:none;}
.cv-chip{
  flex:0 0 auto; white-space:nowrap;
  font-family:var(--font-body); font-weight:600; font-size:.78rem;
  padding:.42rem .95rem; border-radius:999px;
  background:var(--cv-bg); color:var(--cv-muted);
  border:1px solid var(--cv-border);
  transition:all .18s ease; position:relative;
}
.cv-chip.is-active{
  background:var(--cv-charcoal); color:#fff; border-color:var(--cv-charcoal);
}
.cv-chip.is-active::after{
  content:''; position:absolute; left:50%; bottom:-7px; transform:translateX(-50%);
  width:5px; height:5px; border-radius:50%; background:var(--cv-teal);
  box-shadow:0 0 0 0 rgba(228,36,31,.45);
  animation:cvPulseDot 1.8s ease-out infinite;
}
@media (min-width:992px){
  .cv-chipwrap{position:static; padding:1rem 2.4rem;}
  .cv-chipnav{display:none;}
  .cv-chipbar{flex-wrap:wrap; justify-content:center; overflow:visible; padding:0;}
  .cv-chip{font-size:.83rem; padding:.5rem 1.2rem;}
}

/* ============================================================
   Signature motif — diagnostic pulse line
   ============================================================ */
@keyframes cvPulseDot{
  0%{box-shadow:0 0 0 0 rgba(228,36,31,.45);}
  70%{box-shadow:0 0 0 8px rgba(228,36,31,0);}
  100%{box-shadow:0 0 0 0 rgba(228,36,31,0);}
}
.cv-pulsewrap{padding:.9rem .85rem 0;}
.cv-dealbanner ~ .cv-pulsewrap, .cv-dealbanner + .cv-pulsewrap{padding-left:0; padding-right:0;}
@media (min-width:992px){ .cv-pulsewrap{padding:1.2rem 2.4rem 0;} }
.cv-pulseline{
  width:100%; height:22px; display:block; opacity:.9;
}
.cv-pulseline path{
  fill:none; stroke:var(--cv-teal); stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:240; stroke-dashoffset:240;
  animation:cvDrawPulse 2.6s ease-in-out infinite;
}
@keyframes cvDrawPulse{
  0%{stroke-dashoffset:240;}
  55%{stroke-dashoffset:0;}
  100%{stroke-dashoffset:-240;}
}

/* ============================================================
   Hero carousel
   ============================================================ */
.cv-hero{padding:.9rem .85rem .3rem;}
.cv-hero .carousel-inner{border-radius:var(--cv-radius-lg); overflow:hidden;}
.cv-hero-slide{
  position:relative; min-height:170px; overflow:hidden;
  display:flex; align-items:center;
}
.cv-hero__img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.cv-hero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(20,23,31,.78) 0%, rgba(20,23,31,.42) 48%, rgba(20,23,31,.06) 80%);
}
.cv-hero__scrim--red{
  background:linear-gradient(100deg, rgba(184,24,19,.85) 0%, rgba(20,23,31,.55) 55%, rgba(20,23,31,.1) 85%);
}
.cv-hero__content{
  position:relative; z-index:2; padding:1.1rem 1.15rem;
  display:flex; flex-direction:column; gap:.4rem; max-width:82%;
}
.cv-hero__eyebrow{
  font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; display:inline-flex; align-items:center; gap:.3rem; width:fit-content;
  background:rgba(255,255,255,.18); padding:.2rem .55rem; border-radius:999px;
}
.cv-hero__title{
  font-family:var(--font-display); font-weight:800; font-size:1.28rem; line-height:1.18;
  color:#fff;
}
.cv-hero__cta{
  margin-top:.35rem; align-self:flex-start;
  font-size:.78rem; font-weight:700; padding:.5rem 1.15rem;
  border-radius:999px; background:var(--cv-red); color:#fff; border:none;
}
.cv-hero .carousel-indicators{margin-bottom:.35rem;}
.cv-hero .carousel-indicators [data-bs-target]{
  box-sizing:border-box; border:0; padding:0; flex:0 0 auto;
  width:7px; height:7px; border-radius:50%; background:#fff; opacity:.55;
  margin:0 4px; text-indent:-9999px;
}
.cv-hero .carousel-indicators .active{
  opacity:1; width:18px; height:7px; border-radius:4px;
}
.cv-hero__arrow{
  width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.92);
  display:flex; align-items:center; justify-content:center; color:var(--cv-charcoal); font-size:1.1rem;
}
.carousel-control-prev, .carousel-control-next{width:64px; opacity:1;}

@media (min-width:992px){
  .cv-hero{padding:1.6rem 2.4rem .4rem;}
  .cv-hero-slide{min-height:360px;}
  .cv-hero__content{padding:2.2rem 3rem; max-width:52%;}
  .cv-hero__title{font-size:2.3rem;}
  .cv-hero__eyebrow{font-size:.74rem;}
  .cv-hero__cta{font-size:.88rem; padding:.65rem 1.5rem;}
}

/* ============================================================
   Trust strip
   ============================================================ */
.cv-trustwrap{
  display:flex; align-items:center; gap:.3rem; padding:.8rem .4rem .2rem;
}
.cv-trust{
  flex:1; min-width:0;
  display:flex; gap:.6rem; overflow-x:auto; scroll-behavior:smooth;
  padding:0 .45rem;
  scrollbar-width:none;
}
.cv-trust::-webkit-scrollbar{display:none;}
.cv-trust__item{
  flex:0 0 auto; display:flex; align-items:center; gap:.45rem;
  background:#fff; border:1px solid var(--cv-border); border-radius:999px;
  padding:.4rem .8rem .4rem .5rem;
}
.cv-trust__item i{
  width:26px; height:26px; border-radius:50%; background:var(--cv-mint); color:var(--cv-teal-dark);
  display:flex; align-items:center; justify-content:center; font-size:.75rem;
}
.cv-trust__item span{font-size:.68rem; font-weight:600; color:var(--cv-ink); white-space:nowrap;}
.cv-trustnav{
  flex:0 0 auto; width:28px; height:28px; border-radius:50%; border:none;
  background:var(--cv-bg); color:var(--cv-charcoal); display:flex; align-items:center; justify-content:center;
  font-size:.78rem; transition:background .15s ease, transform .15s ease, opacity .15s ease, visibility .15s ease;
}
.cv-trustnav:active{transform:scale(.9); background:var(--cv-red-tint); color:var(--cv-red);}
.cv-trustnav.is-hidden{visibility:hidden; opacity:0; pointer-events:none;}

@media (min-width:992px){
  .cv-trustwrap{padding:1.4rem 2.4rem .2rem;}
  .cv-trustnav{display:none;}
  .cv-trust{
    display:grid; grid-template-columns:repeat(4,1fr); overflow:visible; padding:0;
  }
  .cv-trust__item{justify-content:center; padding:.65rem 1rem; border-radius:var(--cv-radius-sm);}
  .cv-trust__item span{font-size:.78rem;}
  .cv-trust__item i{width:32px; height:32px; font-size:.9rem;}
}

/* ============================================================
   Section heads
   ============================================================ */
.cv-section{padding:1.1rem .85rem .2rem;}
.cv-section__head{
  display:flex; align-items:baseline; justify-content:space-between; margin-bottom:.75rem;
}
.cv-section__title{
  font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--cv-charcoal);
  display:flex; align-items:center; gap:.4rem;
}
.cv-section__sub{font-size:.72rem; color:var(--cv-muted); margin-top:2px; font-weight:500;}
.cv-section__link{font-size:.76rem; font-weight:700; color:var(--cv-red); text-decoration:none; white-space:nowrap;}

@media (min-width:992px){
  .cv-section{padding:1.8rem 2.4rem .2rem;}
  .cv-section__title{font-size:1.4rem;}
  .cv-section__sub{font-size:.82rem;}
  .cv-section__link{font-size:.85rem;}
}

/* ============================================================
   Category grid tiles
   ============================================================ */
.cv-catgrid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem;
}
.cv-cattile{
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius);
  padding:.7rem .3rem .55rem; text-align:center; cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.cv-cattile:active{transform:scale(.94);}
.cv-cattile:hover{box-shadow:var(--cv-shadow-sm); border-color:#d8dbe2;}
.cv-cattile__icon{
  width:42px; height:42px; margin:0 auto .4rem; border-radius:12px;
  background:var(--cv-mint); color:var(--cv-teal-dark);
  display:flex; align-items:center; justify-content:center; font-size:1.15rem;
}
.cv-cattile__label{font-size:.63rem; font-weight:600; color:var(--cv-ink); line-height:1.2; display:block;}

@media (min-width:768px){
  .cv-catgrid{grid-template-columns:repeat(6,1fr);}
}
@media (min-width:992px){
  .cv-catgrid{grid-template-columns:repeat(8,1fr); gap:1rem;}
  .cv-cattile{padding:1.2rem .5rem;}
  .cv-cattile__icon{width:52px; height:52px; font-size:1.4rem; border-radius:14px;}
  .cv-cattile__label{font-size:.74rem;}
}

/* ============================================================
   Product cards
   ============================================================ */
.cv-prodgrid{display:grid; grid-template-columns:1fr 1fr; gap:.7rem;}
.cv-card{
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius);
  overflow:hidden; position:relative; display:flex; flex-direction:column;
  transition:box-shadow .18s ease, transform .18s ease;
}
.cv-card:hover{box-shadow:var(--cv-shadow); transform:translateY(-2px);}
.cv-card__media{
  aspect-ratio:1/1; position:relative; overflow:hidden; background:#eef0f3;
}
.cv-card__media img{
  width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;
}
.cv-card:hover .cv-card__media img{transform:scale(1.06);}

@media (min-width:768px){
  .cv-prodgrid{grid-template-columns:repeat(3,1fr); gap:1rem;}
}
@media (min-width:992px){
  .cv-prodgrid{grid-template-columns:repeat(4,1fr); gap:1.25rem;}
  .cv-card__name{font-size:.86rem;}
  .cv-card__price-now{font-size:1rem;}
}
.cv-card__badge{
  position:absolute; top:.5rem; left:.5rem; background:var(--cv-red); color:#fff;
  font-size:.62rem; font-weight:700; padding:.18rem .45rem; border-radius:6px; font-family:var(--font-mono);
}
.cv-card__wish{
  position:absolute; top:.4rem; right:.4rem; width:28px; height:28px; border-radius:50%;
  background:rgba(255,255,255,.9); border:none; display:flex; align-items:center; justify-content:center;
  color:var(--cv-muted); font-size:.85rem; transition:color .15s ease, transform .15s ease;
}
.cv-card__wish.is-active{color:var(--cv-red);}
.cv-card__wish:active{transform:scale(.85);}
.cv-card__body{padding:.6rem .65rem .7rem; display:flex; flex-direction:column; gap:.28rem; flex:1;}
.cv-card__cat{font-size:.6rem; font-weight:700; color:var(--cv-teal-dark); text-transform:uppercase; letter-spacing:.03em;}
.cv-card__name{
  font-size:.79rem; font-weight:600; color:var(--cv-ink); line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.05em;
  margin:0;
}
.cv-card__name a{color:inherit; text-decoration:none;}
.cv-card__name a:hover{color:var(--cv-red);}
.cv-card__rating{display:flex; align-items:center; gap:.3rem; font-size:.68rem; color:var(--cv-muted);}
.cv-card__rating i{color:var(--cv-amber); font-size:.68rem;}
.cv-card__price{display:flex; align-items:baseline; gap:.35rem; margin-top:.1rem; flex-wrap:wrap;}
.cv-card__price-now{font-family:var(--font-mono); font-weight:700; font-size:.92rem; color:var(--cv-ink);}
.cv-card__price-old{font-family:var(--font-mono); font-size:.7rem; color:var(--cv-muted); text-decoration:line-through;}
.cv-card__price-off{font-size:.66rem; font-weight:700; color:var(--cv-success);}
.cv-card__footer{margin-top:.45rem;}

/* Add-to-cart control that morphs into a stepper */
.cv-addbtn{
  width:100%; border:1.5px solid var(--cv-red); background:var(--cv-red-tint); color:var(--cv-red);
  font-size:.74rem; font-weight:700; padding:.4rem 0; border-radius:var(--cv-radius-sm);
  display:flex; align-items:center; justify-content:center; gap:.3rem; transition:all .15s ease;
}
.cv-addbtn:active{transform:scale(.96);}
.cv-addbtn.is-added{background:var(--cv-red); color:#fff;}
.cv-stepper{
  display:none; align-items:center; justify-content:space-between;
  border-radius:var(--cv-radius-sm); overflow:hidden; border:1.5px solid var(--cv-red);
}
.cv-stepper.is-visible{display:flex;}
.cv-stepper button{
  width:30px; height:30px; border:none; background:var(--cv-red); color:#fff; font-weight:700; font-size:.9rem;
}
.cv-stepper__qty{
  flex:1; text-align:center; font-family:var(--font-mono); font-weight:700; font-size:.8rem; color:var(--cv-ink);
}

/* ============================================================
   Sticky bottom cart bar
   ============================================================ */
.cv-cartbar{
  position:fixed; left:50%; transform:translate(-50%, 220px);
  bottom:calc(var(--cv-bottomnav-h) + 10px);
  width:calc(100% - 1.7rem); max-width:452px; z-index:45;
  background:var(--cv-charcoal); color:#fff; border-radius:var(--cv-radius);
  padding:.65rem .8rem; display:flex; align-items:center; justify-content:space-between;
  box-shadow:var(--cv-shadow-lg); transition:transform .28s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.cv-cartbar.is-visible{transform:translate(-50%,0); pointer-events:auto;}
.cv-cartbar__info{display:flex; flex-direction:column;}
.cv-cartbar__count{font-size:.66rem; color:#b9bcc6;}
.cv-cartbar__total{font-family:var(--font-mono); font-weight:700; font-size:.95rem;}
.cv-cartbar__cta{
  background:var(--cv-red); color:#fff; border:none; font-weight:700; font-size:.78rem;
  padding:.45rem 1rem; border-radius:999px; display:flex; align-items:center; gap:.3rem;
}

@media (min-width:992px){
  .cv-cartbar{
    left:auto; right:24px; transform:translateY(220px);
    bottom:24px; width:320px; max-width:320px; border-radius:var(--cv-radius);
  }
  .cv-cartbar.is-visible{transform:translateY(0);}
}

/* ============================================================
   Bottom app navigation
   ============================================================ */
.cv-bottomnav{
  position:fixed; bottom:0; left:0; right:0; width:100%; z-index:44;
  height:var(--cv-bottomnav-h); background:#fff; border-top:1px solid var(--cv-border);
  display:flex; align-items:stretch; box-shadow:0 -6px 20px rgba(20,23,31,.06);
}
.cv-bottomnav__item{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.15rem;
  border:none; background:transparent; color:var(--cv-muted); font-size:.62rem; font-weight:600;
  position:relative;
}
.cv-bottomnav__item i{font-size:1.05rem;}
.cv-bottomnav__item.is-active{color:var(--cv-red);}
.cv-bottomnav__item.is-active::before{
  content:''; position:absolute; top:2px; width:4px; height:4px; border-radius:50%;
  background:var(--cv-teal); animation:cvPulseDot 1.8s ease-out infinite;
}
.cv-bottomnav__badge{
  position:absolute; top:0px; right:22%; min-width:14px; height:14px; padding:0 3px;
  border-radius:50%; background:var(--cv-red); color:#fff; font-size:.55rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; font-family:var(--font-mono);
}

/* ============================================================
   Floating WhatsApp
   ============================================================ */
.cv-whatsapp{
  position:fixed; z-index:43; left:50%;
  transform:translateX(calc(-50% + 200px));
  bottom:calc(var(--cv-bottomnav-h) + 14px);
  width:48px; height:48px; border-radius:50%; background:var(--cv-red); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.35rem;
  box-shadow:var(--cv-shadow); transition:bottom .28s cubic-bezier(.2,.8,.2,1);
}
@media (max-width:479px){
  .cv-whatsapp{ left:auto; right:14px; transform:none; }
}
@media (min-width:992px){
  .cv-whatsapp{ left:auto; right:24px; bottom:24px; transform:none; }
}
/* Lift the WhatsApp button clear of the cart bar whenever it's showing */
.cv-cartbar.is-visible ~ .cv-whatsapp{ bottom:calc(var(--cv-bottomnav-h) + 74px); }
@media (min-width:992px){
  .cv-cartbar.is-visible ~ .cv-whatsapp{ bottom:100px; }
}
.cv-mobile-spacer{height:96px;}

/* ============================================================
   Offcanvas menu (header tabs)
   ============================================================ */
.cv-offcanvas{max-width:82vw;}
.cv-offcanvas .offcanvas-header{border-bottom:1px solid var(--cv-border);}
.cv-navlink{
  display:flex; align-items:center; gap:.7rem; padding:.8rem .3rem; font-weight:600; font-size:.92rem;
  color:var(--cv-ink); text-decoration:none; border-bottom:1px solid var(--cv-border);
}
.cv-navlink i{width:20px; text-align:center; color:var(--cv-teal-dark);}
.cv-navlink.cv-navlink--login{color:var(--cv-red);}
.cv-navlink.cv-navlink--login i{color:var(--cv-red);}
.cv-navlink--toggle{width:100%; border:none; background:transparent; text-align:left;}
.cv-navlink__chevron{transition:transform .2s ease; font-size:.72rem; color:var(--cv-muted) !important;}
.cv-navlink--toggle[aria-expanded="true"] .cv-navlink__chevron{transform:rotate(180deg);}
.cv-navaccordion{border-bottom:1px solid var(--cv-border);}
.cv-navaccordion .cv-navlink{border-bottom:none;}
.cv-navsub{padding:0 .3rem .5rem .95rem;}
.cv-navsub__toggle{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  border:none; background:transparent; padding:.55rem 0; font-size:.82rem; font-weight:600; color:var(--cv-ink);
}
.cv-navsub__toggle i{font-size:.65rem; color:var(--cv-muted); transition:transform .2s ease;}
.cv-navsub__toggle[aria-expanded="true"] i{transform:rotate(180deg);}
.cv-navsub__list{display:flex; flex-direction:column; padding:.1rem 0 .5rem .5rem;}
.cv-navsub__list a{font-size:.78rem; color:var(--cv-muted); text-decoration:none; padding:.4rem 0;}
.cv-navsub__list a:hover{color:var(--cv-red);}
.cv-navsub--flat{display:flex; flex-direction:column; padding:.2rem 0 .3rem;}
.cv-navsub--flat a{
  font-size:.85rem; font-weight:600; color:var(--cv-ink); text-decoration:none; padding:.6rem .3rem; border-radius:6px;
}
.cv-navsub--flat a.is-hot, .cv-navsub--flat a:hover{background:var(--cv-red); color:#fff;}

/* ============================================================
   Toast (added to cart confirmation)
   ============================================================ */
.cv-toast{
  position:fixed; left:50%; transform:translate(-50%,-14px); top:14px; z-index:60;
  background:var(--cv-charcoal); color:#fff; font-size:.78rem; font-weight:600;
  padding:.55rem 1rem; border-radius:999px; opacity:0; pointer-events:none;
  display:flex; align-items:center; gap:.4rem; transition:opacity .2s ease, transform .2s ease;
}
.cv-toast.is-visible{opacity:1; transform:translate(-50%,0);}
.cv-toast i{color:var(--cv-teal);}

.cv-hero__eyebrow--dark{color:var(--cv-charcoal); background:var(--cv-mint);}
.cv-hero__cta--ghost{background:transparent; border:1.5px solid var(--cv-charcoal); color:var(--cv-charcoal);}

/* ============================================================
   Deal of the Day banner + countdown
   ============================================================ */
.cv-dealbanner{
  position:relative; overflow:hidden; border-radius:var(--cv-radius-lg);
  background:linear-gradient(120deg,var(--cv-charcoal) 45%, #262b38 100%);
  display:flex; align-items:stretch; min-height:210px;
}
.cv-dealbanner__text{
  position:relative; z-index:2; padding:1.2rem; display:flex; flex-direction:column; gap:.5rem;
  justify-content:center; max-width:62%;
}
.cv-dealbanner__title{font-family:var(--font-display); font-weight:800; font-size:1.15rem; color:#fff; line-height:1.25;}
.cv-dealbanner__sub{font-size:.7rem; color:#b9bcc6; font-weight:600; text-transform:uppercase; letter-spacing:.05em; margin-top:.2rem;}
.cv-dealbanner__img{
  position:absolute; right:-10%; top:0; height:100%; width:60%; object-fit:cover;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 35%);
  mask-image:linear-gradient(90deg, transparent, #000 35%);
  opacity:.85;
}
.cv-countdown{display:flex; gap:.5rem;}
.cv-countdown__unit{
  background:rgba(255,255,255,.1); border-radius:var(--cv-radius-sm); padding:.4rem .6rem; text-align:center; min-width:48px;
}
.cv-countdown__unit span{display:block; font-family:var(--font-mono); font-weight:700; font-size:1.05rem; color:#fff;}
.cv-countdown__unit small{font-size:.58rem; color:#b9bcc6; text-transform:uppercase; letter-spacing:.04em;}

@media (min-width:992px){
  .cv-dealbanner{min-height:280px;}
  .cv-dealbanner__text{padding:2.2rem 2.6rem; max-width:52%;}
  .cv-dealbanner__title{font-size:1.9rem;}
  .cv-countdown__unit{min-width:64px; padding:.6rem .9rem;}
  .cv-countdown__unit span{font-size:1.4rem;}
}

/* ============================================================
   Single product spotlight CTA
   ============================================================ */
.cv-spotlight{
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius-lg);
  overflow:hidden; display:flex; flex-direction:column;
}
.cv-spotlight__img{width:100%; aspect-ratio:1/1; object-fit:cover;}
.cv-spotlight__body{padding:1.1rem 1.15rem 1.3rem; display:flex; flex-direction:column; gap:.55rem;}
.cv-spotlight .cv-hero__eyebrow--dark{width:fit-content;}
.cv-spotlight__title{font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--cv-charcoal);}
.cv-spotlight__desc{font-size:.82rem; color:var(--cv-muted); margin:0; line-height:1.5;}
.cv-spotlight__list{list-style:none; padding:0; margin:.2rem 0; display:flex; flex-direction:column; gap:.4rem;}
.cv-spotlight__list li{font-size:.8rem; color:var(--cv-ink); display:flex; align-items:center; gap:.5rem;}
.cv-spotlight__list i{color:var(--cv-teal);}

@media (min-width:992px){
  .cv-spotlight{flex-direction:row; align-items:stretch;}
  .cv-spotlight__img{width:38%; aspect-ratio:auto;}
  .cv-spotlight__body{flex:1; justify-content:center; padding:2.4rem 2.8rem; gap:.8rem;}
  .cv-spotlight__title{font-size:1.75rem;}
  .cv-spotlight__desc{font-size:.92rem; max-width:520px;}
}

/* ============================================================
   New Arrivals badge variant
   ============================================================ */
.cv-card__badge--new{background:var(--cv-charcoal);}

/* ============================================================
   Shop by brand
   ============================================================ */
.cv-brandstrip{display:flex; flex-wrap:wrap; gap:.6rem;}
.cv-brandchip{
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius-sm);
  padding:.55rem 1.1rem; font-family:var(--font-display); font-weight:700; font-size:.82rem;
  color:var(--cv-charcoal); transition:border-color .15s ease, color .15s ease;
}
.cv-brandchip:hover{border-color:var(--cv-red); color:var(--cv-red);}
@media (min-width:992px){ .cv-brandchip{padding:.75rem 1.6rem; font-size:.92rem;} }

/* ============================================================
   Why CarVaidya — USP grid
   ============================================================ */
.cv-uspgrid{display:grid; grid-template-columns:1fr 1fr; gap:.7rem;}
.cv-usp{background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius); padding:1rem;}
.cv-usp i{font-size:1.3rem; color:var(--cv-teal-dark); margin-bottom:.5rem; display:block;}
.cv-usp h6{font-family:var(--font-display); font-weight:700; font-size:.85rem; color:var(--cv-charcoal); margin-bottom:.3rem;}
.cv-usp p{font-size:.74rem; color:var(--cv-muted); margin:0; line-height:1.4;}
@media (min-width:992px){
  .cv-uspgrid{grid-template-columns:repeat(4,1fr); gap:1.2rem;}
  .cv-usp{padding:1.5rem;}
  .cv-usp i{font-size:1.6rem;}
  .cv-usp h6{font-size:.95rem;}
  .cv-usp p{font-size:.82rem;}
}

/* ============================================================
   Customer reviews
   ============================================================ */
.cv-reviewrow{display:flex; flex-direction:column; gap:.7rem;}
.cv-reviewcard{background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius); padding:1rem;}
.cv-reviewcard p{font-size:.82rem; color:var(--cv-ink); line-height:1.5; margin:0 0 .6rem; font-style:italic;}
.cv-reviewcard__by{font-size:.72rem; font-weight:700; color:var(--cv-muted);}
@media (min-width:992px){
  .cv-reviewrow{flex-direction:row; gap:1.2rem;}
  .cv-reviewcard{flex:1; padding:1.5rem;}
  .cv-reviewcard p{font-size:.88rem;}
}

/* ============================================================
   App download banner
   ============================================================ */
.cv-appbanner{
  background:linear-gradient(120deg,var(--cv-teal-dark),var(--cv-charcoal));
  border-radius:var(--cv-radius-lg); padding:1.3rem 1.2rem; text-align:center;
}
.cv-appbanner__text p{color:#d7f0ec; font-size:.8rem; margin:.4rem 0 1rem; max-width:420px; margin-left:auto; margin-right:auto;}
.cv-appbanner__btns{display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap;}
.cv-storebtn{
  display:inline-flex; align-items:center; gap:.4rem; background:#fff; color:var(--cv-charcoal);
  font-weight:700; font-size:.78rem; padding:.55rem 1.1rem; border-radius:999px;
}
@media (min-width:992px){
  .cv-appbanner{padding:2.4rem; text-align:left; display:flex; align-items:center; justify-content:space-between;}
  .cv-appbanner__text{max-width:640px;}
  .cv-appbanner__text p{margin-left:0; text-align:left;}
  .cv-appbanner__btns{justify-content:flex-start;}
}

/* ============================================================
   Newsletter
   ============================================================ */
.cv-newsletter{
  background:var(--cv-mint); border-radius:var(--cv-radius-lg); padding:1.2rem;
  display:flex; flex-direction:column; gap:.8rem;
}
.cv-newsletter__form{display:flex; gap:.5rem;}
.cv-newsletter__form input{
  flex:1; border:1px solid var(--cv-border); border-radius:999px; padding:.6rem 1rem; font-size:.82rem; outline:none;
}
.cv-newsletter__form button{
  background:var(--cv-red); color:#fff; border:none; font-weight:700; font-size:.8rem;
  padding:.6rem 1.2rem; border-radius:999px; white-space:nowrap;
}
@media (min-width:992px){
  .cv-newsletter{flex-direction:row; align-items:center; justify-content:space-between; padding:1.8rem 2.4rem;}
  .cv-newsletter__form{width:380px;}
}

/* ============================================================
   Product Listing Page (PLP) — breadcrumb, toolbar, filters
   ============================================================ */
.cv-breadcrumb{
  display:flex; align-items:center; gap:.4rem; flex-wrap:wrap;
  padding:.9rem .85rem 0; font-size:.72rem; color:var(--cv-muted);
}
.cv-breadcrumb a{color:var(--cv-muted); text-decoration:none; font-weight:600;}
.cv-breadcrumb a:hover{color:var(--cv-red);}
.cv-breadcrumb i{font-size:.6rem;}
.cv-breadcrumb span{color:var(--cv-ink); font-weight:600;}

.cv-plphead{padding:.6rem .85rem 0;}
.cv-plphead__title{
  font-family:var(--font-display); font-weight:800; font-size:1.35rem; color:var(--cv-charcoal); margin:0;
}
.cv-plphead__sub{font-size:.76rem; color:var(--cv-muted); margin:.3rem 0 0;}

.cv-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  padding:.9rem .85rem;
}
@media (max-width:991.98px){
  .cv-toolbar{
    position:sticky; top:var(--cv-appbar-h); z-index:37;
    background:var(--cv-white); border-bottom:1px solid var(--cv-border);
    box-shadow:0 4px 12px rgba(20,23,31,.05);
  }
}
.cv-filterbtn{
  display:flex; align-items:center; gap:.4rem; position:relative;
  background:var(--cv-charcoal); color:#fff; border:none; border-radius:999px;
  padding:.55rem 1.1rem; font-size:.8rem; font-weight:700;
}
.cv-filterbtn__badge{position:static; margin-left:.15rem;}
.cv-sortbox{
  display:flex; align-items:center; gap:.4rem; background:#fff; border:1px solid var(--cv-border);
  border-radius:999px; padding:.5rem .9rem; flex:1; max-width:220px; margin-left:auto;
}
.cv-sortbox i{color:var(--cv-muted); font-size:.8rem;}
.cv-sortbox__select{
  border:none; background:transparent; outline:none; font-size:.78rem; font-weight:600; color:var(--cv-ink);
  width:100%; appearance:none;
}

.cv-appliedwrap{
  display:flex; align-items:center; gap:.6rem; padding:0 .85rem .8rem; flex-wrap:wrap;
}
.cv-appliedchips{display:flex; gap:.5rem; flex-wrap:wrap; flex:1;}
.cv-appliedchip{
  display:inline-flex; align-items:center; gap:.4rem; background:var(--cv-red-tint); color:var(--cv-red-dark);
  border-radius:999px; padding:.32rem .5rem .32rem .8rem; font-size:.72rem; font-weight:700;
}
.cv-appliedchip button{border:none; background:none; color:var(--cv-red-dark); font-size:.85rem; line-height:1; padding:0 .1rem;}
.cv-clearall{
  border:none; background:none; color:var(--cv-muted); font-size:.76rem; font-weight:700;
  text-decoration:underline; white-space:nowrap;
}
.cv-clearall:hover{color:var(--cv-red);}

.cv-plpgrid{padding:0 .85rem;}
.cv-filters{
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius);
  padding:1.1rem 1.2rem 1.4rem; position:sticky; top:calc(80px + 1.2rem);
}
.cv-filters__head{
  display:flex; align-items:center; justify-content:space-between;
  font-family:var(--font-display); font-weight:700; font-size:.95rem; color:var(--cv-charcoal);
  padding-bottom:.9rem; margin-bottom:.4rem; border-bottom:1px solid var(--cv-border);
}
.cv-filtergroup{padding:1rem 0; border-bottom:1px solid var(--cv-border);}
.cv-filtergroup:last-child{border-bottom:none; padding-bottom:0;}
.cv-filtergroup__title{
  font-family:var(--font-display); font-weight:700; font-size:.82rem; color:var(--cv-charcoal); margin:0 0 .7rem;
}
.cv-checkbox{
  display:flex; align-items:center; gap:.55rem; font-size:.82rem; color:var(--cv-ink);
  padding:.35rem 0; cursor:pointer; user-select:none;
}
.cv-checkbox input{
  width:16px; height:16px; accent-color:var(--cv-red); flex:0 0 auto; cursor:pointer;
}
.cv-checkbox span{flex:1;}
.cv-checkbox em{font-style:normal; color:var(--cv-muted); font-size:.72rem;}
.cv-checkbox:hover span{color:var(--cv-red);}

.cv-plpresults{min-width:0;}
.cv-prodgrid--plp{grid-template-columns:1fr 1fr;}
.cv-card__badge--oos{background:var(--cv-charcoal); font-size:.56rem;}
.cv-addbtn:disabled{opacity:.55; border-color:var(--cv-border); background:var(--cv-bg); color:var(--cv-muted);}
.cv-card__media{position:relative; display:block;}

.cv-pagination{
  display:flex; align-items:center; justify-content:center; gap:.4rem; padding:1.4rem 0 .6rem;
}
.cv-pagination__item{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--cv-border); color:var(--cv-ink); font-size:.8rem; font-weight:700;
  text-decoration:none;
}
.cv-pagination__item.is-active{background:var(--cv-charcoal); border-color:var(--cv-charcoal); color:#fff;}
.cv-pagination__item.is-disabled{opacity:.4; pointer-events:none;}
.cv-pagination__item:hover:not(.is-active){border-color:var(--cv-red); color:var(--cv-red);}

.cv-seoblock{padding:1.6rem .85rem; color:var(--cv-muted); font-size:.8rem; line-height:1.6;}
.cv-seoblock h2{font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--cv-charcoal); margin-bottom:.6rem;}
.cv-seoblock p{margin-bottom:.7rem;}

/* Mobile filter bottom-sheet */
.cv-filtersheet,
#cvFilterSheet.offcanvas-bottom{
  height:70vh !important; max-height:70vh !important;
  border-radius:20px 20px 0 0;
  display:flex; flex-direction:column;
}
.cv-filtersheet .offcanvas-body{flex:1 1 auto; overflow-y:auto;}
.cv-filtersheet .offcanvas-header{border-bottom:1px solid var(--cv-border);}
.cv-filtersheet .offcanvas-title{font-family:var(--font-display); font-weight:700; font-size:1.05rem;}
.cv-filtersheet__footer{
  display:flex; gap:.7rem; padding:.9rem 1.1rem; border-top:1px solid var(--cv-border); background:#fff;
}
.cv-filtersheet__clear{
  flex:0 0 auto; border:1.5px solid var(--cv-border); background:#fff; color:var(--cv-ink);
  font-weight:700; font-size:.82rem; padding:.7rem 1.1rem; border-radius:999px;
}
.cv-filtersheet__apply{
  flex:1; border:none; background:var(--cv-red); color:#fff; font-weight:700; font-size:.85rem;
  padding:.7rem 1.1rem; border-radius:999px;
}

@media (min-width:768px){
  .cv-prodgrid--plp{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:992px){
  .cv-breadcrumb{padding:1.4rem 2.4rem 0;}
  .cv-plphead{padding:.5rem 2.4rem 0;}
  .cv-plphead__title{font-size:1.9rem;}
  .cv-plphead__sub{font-size:.85rem;}
  .cv-toolbar{padding:1rem 2.4rem;}
  .cv-appliedwrap{padding:0 2.4rem .8rem;}
  .cv-plpgrid{
    padding:0 2.4rem; display:grid; grid-template-columns:270px 1fr; gap:1.6rem; align-items:start;
  }
  .cv-prodgrid--plp{grid-template-columns:repeat(3,1fr); gap:1.25rem;}
  .cv-seoblock{padding:2.4rem 2.4rem 1rem;}
}
@media (min-width:1200px){
  .cv-prodgrid--plp{grid-template-columns:repeat(4,1fr);}
}

/* ============================================================
   Product Detail Page (PDP)
   ============================================================ */
.cv-pdp{padding:.9rem .85rem 0;}

/* ---- Gallery ---- */
.cv-gallery__main{
  position:relative; border-radius:var(--cv-radius-lg); overflow:hidden;
  background:#eef0f3; border:1px solid var(--cv-border);
}
.cv-gallery__main .carousel-item img{width:100%; aspect-ratio:1/1; object-fit:cover; display:block;}
.cv-gallery__badge{
  position:absolute; top:.7rem; left:.7rem; background:var(--cv-red); color:#fff;
  font-size:.68rem; font-weight:700; padding:.25rem .6rem; border-radius:6px; z-index:2;
}
.cv-gallery__wish{position:absolute; top:.6rem; right:.6rem; z-index:2;}
.cv-gallery__main .carousel-control-prev, .cv-gallery__main .carousel-control-next{width:52px; opacity:1;}
.cv-gallery__thumbs{display:flex; gap:.55rem; overflow-x:auto; padding:.75rem .1rem 0; scrollbar-width:none;}
.cv-gallery__thumbs::-webkit-scrollbar{display:none;}
.cv-gallery__thumb{
  flex:0 0 auto; width:60px; height:60px; border-radius:10px; overflow:hidden;
  border:2px solid var(--cv-border); padding:0; background:#eef0f3;
}
.cv-gallery__thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.cv-gallery__thumb.is-active{border-color:var(--cv-red);}

/* ---- Product info ---- */
.cv-pdpinfo{padding:1.2rem 0 0;}
.cv-pdpinfo__brand{font-size:.76rem; font-weight:700; color:var(--cv-red-dark); text-transform:uppercase; letter-spacing:.03em;}
.cv-pdpinfo__dot{color:var(--cv-border); margin:0 .1rem;}
.cv-pdpinfo__title{
  font-family:var(--font-display); font-weight:800; font-size:1.2rem; color:var(--cv-charcoal);
  line-height:1.3; margin:.4rem 0 .7rem;
}
.cv-pdpinfo__meta{display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; font-size:.78rem; color:var(--cv-muted); margin-bottom:.9rem;}
.cv-pdpinfo__rating{text-decoration:none; font-size:.8rem;}
.cv-pdpinfo__reviewlink{color:var(--cv-muted); font-weight:500;}
.cv-pdpinfo__sku strong{color:var(--cv-ink);}
.cv-pdpinfo__stock{color:var(--cv-success); font-weight:700; display:inline-flex; align-items:center; gap:.3rem;}
.cv-pdpinfo__price{display:flex; align-items:baseline; gap:.55rem; flex-wrap:wrap;}
.cv-pdpinfo__pricenow{font-size:1.55rem;}
.cv-pdpinfo__tax{font-size:.72rem; color:var(--cv-muted); margin:.3rem 0 1rem;}

.cv-pdpinfo__features{margin:0 0 1.2rem;}
.cv-pdpinfo__features li{font-size:.84rem;}

.cv-pdpinfo__buybox{display:flex; gap:.6rem; margin-bottom:1.1rem; flex-wrap:wrap;}
.cv-stepper--pdp{flex:0 0 auto; height:46px;}
.cv-stepper--pdp button{width:40px; height:44px; font-size:1.1rem;}
.cv-stepper--pdp .cv-stepper__qty{padding:0 .8rem; font-size:.9rem;}
.cv-pdpinfo__addbtn{
  flex:1; min-width:150px; height:46px; border-radius:999px; border:1.5px solid var(--cv-charcoal);
  background:#fff; color:var(--cv-charcoal); font-weight:700; font-size:.85rem;
  display:flex; align-items:center; justify-content:center; gap:.45rem;
}
.cv-pdpinfo__buybtn{
  flex:1; min-width:150px; height:46px; border-radius:999px; border:none;
  background:var(--cv-red); color:#fff; font-weight:700; font-size:.85rem;
}

.cv-pdpinfo__pincode{
  display:flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--cv-border);
  border-radius:999px; padding:.4rem .4rem .4rem 1rem; margin-bottom:.4rem; max-width:360px;
}
.cv-pdpinfo__pincode i{color:var(--cv-muted);}
.cv-pdpinfo__pincode input{flex:1; border:none; outline:none; font-size:.82rem; background:transparent; min-width:0;}
.cv-pdpinfo__pincode button{
  border:none; background:var(--cv-charcoal); color:#fff; font-weight:700; font-size:.76rem;
  padding:.5rem 1rem; border-radius:999px; white-space:nowrap;
}
.cv-pdpinfo__pincoderesult{font-size:.76rem; color:var(--cv-success); font-weight:600; margin:0 0 1rem;}
.cv-pdpinfo__pincoderesult.is-error{color:var(--cv-red);}

.cv-pdpinfo__trust{padding:0; margin:0 -0.1rem 1.1rem;}

/* ---- Out of stock ---- */
.cv-pdpinfo__stock.is-oos{color:var(--cv-red); }
.cv-gallery__main.is-oos img{filter:grayscale(.55); opacity:.75;}
.cv-gallery__oosribbon{
  position:absolute; top:1.1rem; left:-2.6rem; z-index:3;
  background:var(--cv-charcoal); color:#fff; font-size:.72rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; padding:.35rem 3rem;
  transform:rotate(-38deg); box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.cv-oosbox{
  background:#fff; border:1.5px solid var(--cv-border); border-radius:var(--cv-radius);
  padding:1.1rem; margin-bottom:1.1rem;
}
.cv-oosbox__status{
  display:inline-flex; align-items:center; gap:.4rem; color:var(--cv-red); font-weight:700; font-size:.9rem;
  margin-bottom:.5rem;
}
.cv-oosbox__msg{font-size:.8rem; color:var(--cv-muted); margin:0 0 .9rem; line-height:1.5;}
.cv-oosbox__form{display:flex; gap:.5rem; flex-wrap:wrap;}
.cv-oosbox__form input{
  flex:1; min-width:180px; border:1px solid var(--cv-border); border-radius:999px;
  padding:.6rem 1rem; font-size:.82rem; outline:none;
}
.cv-oosbox__form input:focus{border-color:var(--cv-red);}
.cv-oosbox__form button{
  flex:0 0 auto; border:none; background:var(--cv-charcoal); color:#fff; font-weight:700; font-size:.8rem;
  padding:.6rem 1.2rem; border-radius:999px; display:inline-flex; align-items:center; gap:.4rem;
}
.cv-oosbox__success{
  display:flex; align-items:center; gap:.45rem; font-size:.82rem; font-weight:600; color:var(--cv-success); margin:0;
}

.cv-pdpbar__buy{display:flex; gap:.6rem; flex:1;}
.cv-pdpbar__notify{width:100%; height:44px; font-size:.82rem;}

.cv-pdpinfo__share{display:flex; align-items:center; gap:.7rem; font-size:.78rem; color:var(--cv-muted); font-weight:600;}
.cv-pdpinfo__share a{
  width:32px; height:32px; border-radius:50%; background:var(--cv-bg); color:var(--cv-charcoal);
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
}
.cv-pdpinfo__share a:hover{background:var(--cv-red-tint); color:var(--cv-red);}

/* ---- Section jump nav ---- */
.cv-pdpjump{
  position:sticky; top:var(--cv-appbar-h); z-index:36;
  display:flex; gap:1.4rem; overflow-x:auto; background:var(--cv-white);
  border-top:1px solid var(--cv-border); border-bottom:1px solid var(--cv-border);
  padding:.8rem .85rem; margin-top:1.4rem; scrollbar-width:none;
}
.cv-pdpjump::-webkit-scrollbar{display:none;}
.cv-pdpjump a{flex:0 0 auto; font-size:.8rem; font-weight:700; color:var(--cv-muted); text-decoration:none; white-space:nowrap;}
.cv-pdpjump a:hover{color:var(--cv-red);}

.cv-pdpsection{scroll-margin-top:calc(var(--cv-appbar-h) + 56px);}
.cv-pdpdesc p{font-size:.85rem; color:var(--cv-muted); line-height:1.65; margin-bottom:.8rem;}

/* ---- Specifications ---- */
.cv-spectable{border:1px solid var(--cv-border); border-radius:var(--cv-radius); overflow:hidden; background:#fff;}
.cv-specrow{display:flex; font-size:.82rem;}
.cv-specrow:nth-child(even){background:var(--cv-bg);}
.cv-specrow span:first-child{
  flex:0 0 42%; padding:.7rem .9rem; font-weight:700; color:var(--cv-charcoal); border-right:1px solid var(--cv-border);
}
.cv-specrow span:last-child{flex:1; padding:.7rem .9rem; color:var(--cv-muted);}

/* ---- Reviews ---- */
.cv-reviewsummary{
  display:flex; flex-direction:column; gap:1rem; background:#fff; border:1px solid var(--cv-border);
  border-radius:var(--cv-radius); padding:1.1rem; margin-bottom:1rem;
}
.cv-reviewsummary__score{display:flex; flex-direction:column; align-items:flex-start; gap:.3rem;}
.cv-reviewsummary__num{font-family:var(--font-mono); font-weight:700; font-size:2rem; color:var(--cv-charcoal); line-height:1;}
.cv-reviewsummary__count{font-size:.74rem; color:var(--cv-muted);}
.cv-reviewsummary__bars{display:flex; flex-direction:column; gap:.4rem;}
.cv-ratingbar{display:flex; align-items:center; gap:.6rem; font-size:.72rem; color:var(--cv-muted);}
.cv-ratingbar span{flex:0 0 20px;}
.cv-ratingbar__track{flex:1; height:6px; border-radius:999px; background:var(--cv-bg); overflow:hidden;}
.cv-ratingbar__fill{height:100%; background:var(--cv-red);}
.cv-ratingbar em{flex:0 0 32px; font-style:normal; text-align:right;}
.cv-reviewsummary__cta{align-self:flex-start;}

.cv-reviewlist{display:flex; flex-direction:column; gap:.7rem;}
.cv-reviewcard--pdp{padding:1rem;}
.cv-reviewcard__head{display:flex; align-items:center; justify-content:space-between; margin-bottom:.5rem; gap:.5rem; flex-wrap:wrap;}
.cv-reviewcard__verified{font-size:.68rem; font-weight:700; color:var(--cv-success); display:inline-flex; align-items:center; gap:.3rem;}
.cv-pdpsection__more{
  display:block; margin:1rem auto 0; border:1.5px solid var(--cv-border); background:#fff; color:var(--cv-ink);
  font-weight:700; font-size:.8rem; padding:.6rem 1.4rem; border-radius:999px;
}

/* ---- Mobile sticky buy bar ---- */
.cv-pdpbar{
  position:fixed; left:0; right:0; bottom:var(--cv-bottomnav-h); z-index:42;
  display:flex; gap:.6rem; background:#fff; border-top:1px solid var(--cv-border);
  padding:.6rem .85rem; box-shadow:0 -6px 18px rgba(20,23,31,.08);
  transform:translateY(120%); transition:transform .25s ease;
}
.cv-pdpbar.is-visible{transform:translateY(0);}
.cv-pdpbar .cv-pdpinfo__addbtn, .cv-pdpbar .cv-pdpinfo__buybtn{height:44px; font-size:.8rem;}

@media (min-width:992px){
  .cv-pdp{padding:1.6rem 2.4rem 0; display:grid; grid-template-columns:1fr 1fr; gap:2.6rem;}
  .cv-gallery__main .carousel-item img{aspect-ratio:auto; height:460px;}
  .cv-pdpinfo{padding-top:0;}
  .cv-pdpinfo__title{font-size:1.6rem;}
  .cv-pdpinfo__pricenow{font-size:2rem;}
  .cv-pdpjump{padding:.9rem 2.4rem;}
  .cv-pdpsection{padding:1.8rem 2.4rem;}
  .cv-pdpdesc{max-width:760px;}
  .cv-reviewsummary{flex-direction:row; align-items:center; gap:2.4rem; padding:1.6rem 2rem;}
  .cv-reviewsummary__score{flex:0 0 auto; align-items:center; border-right:1px solid var(--cv-border); padding-right:2rem;}
  .cv-reviewsummary__bars{flex:1; max-width:380px;}
  .cv-reviewsummary__cta{margin-left:auto; align-self:center;}
  .cv-pdpbar{display:none;}
}

/* ============================================================
   Desktop footer (kept for older markup; v2 below supersedes it)
   ============================================================ */
.cv-footer{background:var(--cv-charcoal); color:#c7cad3; margin-top:2.5rem;}
.cv-footer__inner{
  max-width:1320px; margin:0 auto; padding:3rem 2.4rem 2rem;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem;
}
.cv-footer__brand p{font-size:.82rem; color:#9a9eab; margin-top:.8rem; max-width:260px;}
.cv-footer__col h6{
  font-family:var(--font-display); color:#fff; font-size:.85rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; margin-bottom:.9rem;
}
.cv-footer__col a{display:block; color:#9a9eab; text-decoration:none; font-size:.82rem; margin-bottom:.6rem;}
.cv-footer__col a:hover{color:#fff;}
.cv-footer__bottom{
  border-top:1px solid #2a2e3a; text-align:center; padding:1rem; font-size:.74rem; color:#7d8190;
}

/* ============================================================
   NEW — Footer v2 (matches supplied reference design)
   ============================================================ */
.cv-footer--v2{background:var(--cv-charcoal); color:#c7cad3; margin-top:2.5rem;}
.cv-footer__top{
  max-width:1400px; margin:0 auto; padding:3rem 2.4rem 2rem;
  display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:2.2rem;
}
.cv-footer__logo{height:38px; width:auto; display:block; margin-bottom:1rem;}
.cv-footer__apps{display:flex; gap:.6rem; margin-bottom:1.1rem; flex-wrap:wrap;}
.cv-footer__apps img{height:38px; width:auto; border-radius:6px; display:block;}
.cv-footer__social{display:flex; gap:.55rem; flex-wrap:wrap;}
.cv-footer__social a{
  width:32px; height:32px; border-radius:50%; background:#fff; color:var(--cv-charcoal);
  display:flex; align-items:center; justify-content:center; font-size:.85rem; text-decoration:none;
}
.cv-footer__social a:hover{background:var(--cv-red); color:#fff;}

.cv-footer__linkcol h6{
  font-family:var(--font-display); color:#fff; font-size:.85rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.03em; margin-bottom:1rem;
  border-left:3px solid var(--cv-red); padding-left:.6rem;
}
.cv-footer__linkgrid{display:grid; grid-template-columns:1fr 1fr; gap:0 1rem;}
.cv-footer__linkgrid a{display:block; color:#9a9eab; text-decoration:none; font-size:.8rem; margin-bottom:.65rem;}
.cv-footer__linkgrid a:hover{color:#fff;}

.cv-footer__contactcol{display:flex; flex-direction:column; gap:1.3rem; align-items:flex-start;}
.cv-footer__support{display:flex; align-items:center; gap:.7rem;}
.cv-footer__supporticon{
  width:44px; height:44px; border-radius:50%; background:var(--cv-red); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.05rem; flex:0 0 auto;
}
.cv-footer__support small{display:block; color:#9a9eab; font-size:.72rem;}
.cv-footer__support a{color:#fff; font-weight:700; font-size:1rem; text-decoration:none;}
.cv-footer__badges{
  background:#fff; border-radius:10px; padding:.7rem 1rem; display:flex; align-items:center; gap:.7rem; flex-wrap:wrap;
}
.cv-footer__badges img{height:40px; width:auto; display:block;}

.cv-footer__bottom--v2{
  border-top:1px solid #2a2e3a; padding:1.1rem 2.4rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap;
  max-width:1400px; margin:0 auto; text-align:left;
}
.cv-footer__copy{font-size:.76rem; color:#7d8190;}
.cv-footer__payments{display:flex; align-items:center; gap:.4rem; flex-wrap:wrap;}
.cv-footer__payments img{height:24px; width:auto; border-radius:4px; display:block;}
.cv-footer__policies{font-size:.76rem; color:#9a9eab; display:flex; gap:.4rem; flex-wrap:wrap;}
.cv-footer__policies a{color:#9a9eab; text-decoration:none;}
.cv-footer__policies a:hover{color:#fff;}

/* ============================================================
   NEW — Back to top button
   ============================================================ */
.cv-backtotop{
  position:fixed; z-index:43; right:14px; bottom:calc(var(--cv-bottomnav-h) + 74px);
  width:42px; height:42px; border-radius:8px; background:var(--cv-red); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  box-shadow:var(--cv-shadow); opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s, bottom .28s cubic-bezier(.2,.8,.2,1);
}
.cv-backtotop.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
.cv-cartbar.is-visible ~ .cv-backtotop{ bottom:calc(var(--cv-bottomnav-h) + 134px); }
@media (min-width:992px){
  .cv-backtotop{ right:24px; bottom:88px; }
  .cv-cartbar.is-visible ~ .cv-backtotop{ bottom:160px; }
}

/* ============================================================
   NEW — Login modal (mobile OTP flow)
   ============================================================ */
.cv-modal .modal-content{border:none; border-radius:var(--cv-radius-lg); overflow:hidden;}
.cv-loginmodal{padding:1.8rem 1.6rem;}
.cv-loginmodal__close{position:absolute; top:1rem; right:1rem; z-index:2;}
.cv-loginmodal__title{font-family:var(--font-display); font-weight:800; font-size:1.4rem; color:var(--cv-charcoal); margin:0 0 .3rem;}
.cv-loginmodal__sub{font-size:.82rem; color:var(--cv-muted); margin:0 0 1.3rem;}
.cv-loginmodal__mobilerow{
  display:flex; border:1.5px solid var(--cv-border); border-radius:var(--cv-radius-sm); overflow:hidden;
}
.cv-loginmodal__mobilerow input{
  flex:1; border:none; outline:none; padding:.85rem 1rem; font-size:.92rem; min-width:0;
}
.cv-loginmodal__mobilerow button{
  flex:0 0 auto; border:none; background:var(--cv-red); color:#fff; font-weight:700; font-size:.85rem;
  padding:0 1.3rem;
}
/* CHANGED: error park now has a red accent + light background so custom
   messages (invalid number, restricted number, OTP expired, wrong OTP)
   are clearly visible right below the input */
.cv-loginmodal__error{
  color:var(--cv-red-dark); background:var(--cv-red-tint); font-size:.78rem; font-weight:600;
  margin:.6rem 0 0; padding:.5rem .7rem; border-radius:var(--cv-radius-sm);
  border-left:3px solid var(--cv-red);
}
.cv-loginmodal__terms{font-size:.78rem; color:var(--cv-muted); margin:1.3rem 0 0;}
.cv-loginmodal__terms a{color:var(--cv-red); text-decoration:none; font-weight:600;}
.cv-loginmodal__terms a:hover{text-decoration:underline;}
.cv-loginmodal__change{
  border:none; background:none; color:var(--cv-red); font-weight:700; font-size:.78rem; padding:0; margin-left:.3rem;
}
/* CHANGED: 4-box OTP input replaced with a single input, max 4 digits */
.cv-otp-single{
  width:100%; max-width:180px; height:58px; text-align:center; font-size:1.6rem; font-weight:700;
  border:1.5px solid var(--cv-border); border-radius:var(--cv-radius-sm); outline:none; color:var(--cv-ink);
  font-family:var(--font-mono); letter-spacing:.5rem; padding-left:.5rem; /* nudges digits visually centered */
  display:block; margin:.3rem 0;
}
.cv-otp-single:focus{border-color:var(--cv-red);}
.cv-loginmodal__verifybtn{
  width:100%; border:none; background:var(--cv-red); color:#fff; font-weight:700; font-size:.88rem;
  padding:.85rem 0; border-radius:999px; margin-top:1rem;
}
.cv-loginmodal__resend{font-size:.78rem; color:var(--cv-muted); margin:.9rem 0 0;}
.cv-loginmodal__resend button{border:none; background:none; color:var(--cv-red); font-weight:700; padding:0;}
.cv-loginmodal__resend button:disabled{color:var(--cv-muted); cursor:default;}

/* ============================================================
   NEW — Logged-in user dropdown (desktop header)
   ============================================================ */
.cv-userdrop{position:relative;}
.cv-userdrop__btn{
  display:flex; align-items:center; gap:.5rem; border:none; background:none; padding:.3rem .3rem .3rem .3rem;
  font-family:var(--font-body);
}
.cv-userdrop__avatar{
  width:32px; height:32px; border-radius:50%; background:var(--cv-red); color:#fff; font-weight:700;
  font-size:.85rem; display:flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.cv-userdrop__name{font-weight:700; font-size:.85rem; color:var(--cv-ink);}
.cv-userdrop__btn i{font-size:.65rem; color:var(--cv-muted); transition:transform .18s ease;}
.cv-userdrop.is-open .cv-userdrop__btn i{transform:rotate(180deg);}
.cv-userdrop__menu{
  position:absolute; top:calc(100% + 12px); right:0; min-width:210px;
  background:#fff; border:1px solid var(--cv-border); border-radius:var(--cv-radius-sm);
  box-shadow:var(--cv-shadow-lg); padding:.5rem 0;
  opacity:0; visibility:hidden; transform:translateY(6px); pointer-events:none;
  transition:opacity .16s ease, transform .16s ease, visibility .16s; z-index:50;
}
.cv-userdrop.is-open .cv-userdrop__menu{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;}
.cv-userdrop__menu a, .cv-userdrop__menu button{
  display:flex; align-items:center; gap:.6rem; width:100%; text-align:left; border:none; background:none;
  padding:.6rem 1.1rem; font-size:.82rem; font-weight:600; color:var(--cv-ink); text-decoration:none;
}
.cv-userdrop__menu a:hover, .cv-userdrop__menu button:hover{background:var(--cv-red-tint); color:var(--cv-red);}
.cv-userdrop__menu i{width:16px; text-align:center; color:var(--cv-muted);}
.cv-userdrop__menu hr{margin:.4rem 0; border-color:var(--cv-border);}

/* Mobile logged-in block (offcanvas) */
.cv-usermobile{display:flex; align-items:center; gap:.7rem; padding:.9rem .3rem; border-bottom:1px solid var(--cv-border);}
.cv-usermobile__avatar{
  width:40px; height:40px; border-radius:50%; background:var(--cv-red); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
}
.cv-usermobile__name{font-weight:700; font-size:.92rem; color:var(--cv-ink); display:block;}
.cv-usermobile__phone{font-size:.74rem; color:var(--cv-muted);}

/* ============================================================
   NEW — Add Review modal (product detail page)
   ============================================================ */
.cv-reviewmodal{padding:0;}
.cv-reviewmodal__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.2rem 1.4rem; border-bottom:1px solid var(--cv-border);
}
.cv-reviewmodal__head h2{font-family:var(--font-display); font-weight:800; font-size:1.15rem; color:var(--cv-charcoal); margin:0;}
.cv-reviewmodal__body{padding:1.3rem 1.4rem 1.6rem; max-height:75vh; overflow-y:auto;}
.cv-reviewmodal__row{display:grid; grid-template-columns:1fr 1fr; gap:.9rem;}
.cv-reviewmodal__field{margin-bottom:1rem;}
.cv-reviewmodal__field label{
  display:block; font-size:.8rem; font-weight:700; color:var(--cv-charcoal); margin-bottom:.4rem;
}
.cv-reviewmodal__field label span{color:var(--cv-red);}
.cv-reviewmodal__field input[type="text"],
.cv-reviewmodal__field select,
.cv-reviewmodal__field textarea,
.cv-reviewmodal__field input[type="file"]{
  width:100%; border:1px solid var(--cv-border); border-radius:var(--cv-radius-sm);
  padding:.6rem .8rem; font-size:.84rem; outline:none; color:var(--cv-ink); background:#fff;
}
.cv-reviewmodal__field input:focus, .cv-reviewmodal__field select:focus, .cv-reviewmodal__field textarea:focus{border-color:var(--cv-red);}
.cv-reviewmodal__field textarea{resize:vertical;}

.cv-starpicker{display:flex; gap:.35rem;}
.cv-starpicker button{border:none; background:none; padding:0; font-size:1.5rem; color:var(--cv-border); line-height:1;}
.cv-starpicker button.is-active{color:var(--cv-red);}

.cv-chippicker{display:flex; flex-wrap:wrap; gap:.6rem;}
.cv-chippicker__item{
  display:flex; align-items:center; gap:.5rem; border:1.5px solid var(--cv-border); border-radius:999px;
  padding:.5rem .9rem; font-size:.8rem; font-weight:600; color:var(--cv-ink); cursor:pointer;
}
.cv-chippicker__item input{position:absolute; opacity:0; width:0; height:0;}
.cv-chippicker__dot{
  width:15px; height:15px; border-radius:50%; border:1.5px solid var(--cv-border); flex:0 0 auto; position:relative;
}
.cv-chippicker__item input:checked ~ .cv-chippicker__dot{border-color:var(--cv-red);}
.cv-chippicker__item input:checked ~ .cv-chippicker__dot::after{
  content:''; position:absolute; inset:2px; border-radius:50%; background:var(--cv-red);
}
.cv-chippicker__item:has(input:checked){border-color:var(--cv-red); background:var(--cv-red-tint);}

.cv-reviewmodal__submit{
  display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%;
  border:none; background:var(--cv-red); color:#fff; font-weight:700; font-size:.9rem;
  padding:.85rem 0; border-radius:999px; margin-top:.4rem;
}
@media (max-width:575.98px){
  .cv-reviewmodal__row{grid-template-columns:1fr;}
}

/* ============================================================
   Misc
   ============================================================ */
.cv-fade-hide{display:none !important;}
::selection{background:var(--cv-red); color:#fff;}
