/* =====================================================================
   CalsiVita B12 — Advertorial Redesign
   Purpose: visual-only refresh (layout, type, color, spacing, motion).
   No text or image content is added/removed here — CSS only.
   ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Devanagari:wght@600;700;800;900&family=Noto+Sans+Devanagari:wght@400;500;600;700;800;900&display=swap');

/* ---------- 1. Tokens ------------------------------------------------ */
:root{
  /* re-declare the variables the existing stylesheets already read from,
     so every var()-based rule in main.css / extra.css inherits the
     refreshed palette automatically */
  --dark:        #0B2C6B;
  --green:       #1B8A4B;
  --green-dark:  #146B3A;
  --green-darker:#0F5230;
  --orange:      #E08A1E;
  --red:         #C0392B;
  --gray:        #6B7280;
  --light-gray:  #F4F1E8;
  --gold:        #D4AF37;
  --blue:        #0B2C6B;

  /* new tokens used only inside this file */
  --ink:         #1E2430;
  --cream:       #FBF7EE;
  --cream-2:     #F4EEDD;
  --card:        #FFFFFF;
  --hair:        #E7E1D0;
  --gold-soft:   #F1D98A;
  --shadow-sm:   0 2px 8px rgba(20,20,10,.06);
  --shadow-md:   0 8px 24px rgba(20,20,10,.10);
  --shadow-lg:   0 16px 40px rgba(20,20,10,.16);
  --radius:      16px;
  --radius-sm:   10px;
  --serif: 'Noto Serif Devanagari', 'Noto Sans Devanagari', serif;
  --sans:  'Noto Sans Devanagari', 'Segoe UI', sans-serif;
}

/* ---------- 2. Base ---------------------------------------------------- */
html{ scroll-behavior:smooth; }

body{
  background: var(--cream) !important;
  font-family: var(--sans) !important;
  color: var(--ink) !important;
  font-size: 16.5px;
  line-height: 1.7;
  -webkit-font-smoothing:antialiased;
  padding-bottom: 92px; /* keeps footer clear of the fixed mobile CTA bar */
}

::selection{ background: var(--gold-soft); color:#1a1a1a; }

img{ max-width:100%; height:auto; }

a.atag{ text-decoration:none; }

/* focus visibility for accessibility */
a:focus-visible, button:focus-visible, input:focus-visible{
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}

/* fix the legacy 75%-width bug so the article never leaves a dead
   column on desktop, and stays full-bleed on mobile */
main .content,
.limit{
  width: 100% !important;
  max-width: 760px;
  margin: 0 auto !important;
  float: none !important;
  display: block !important;
}

.wrap{
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  padding: 4px 0 20px;
  margin: 14px 10px 24px;
  overflow: hidden;
}

@media (min-width: 780px){
  .wrap{ margin: 24px auto; padding: 8px 10px 30px; }
}

.wrap > article,
.wrap article{ padding: 0 16px; }

@media (min-width: 780px){
  .wrap > article, .wrap article{ padding: 0 34px; }
}

/* ---------- 3. Top urgency banner -------------------------------------- */
.top-banner{
  background: linear-gradient(90deg, var(--red), #E4573F) !important;
  color:#fff !important;
  text-align:center;
  padding: 10px 14px !important;
  font-weight:700 !important;
  font-size: 13.5px !important;
  letter-spacing:.2px;
  box-shadow: 0 2px 10px rgba(192,57,43,.35);
}

/* ---------- 4. Masthead ------------------------------------------------ */
.news-header{
  background:#fff !important;
  border-bottom: 3px solid var(--gold) !important;
  padding: 12px 16px !important;
  box-shadow: var(--shadow-sm);
}
.news-logo .logo-text{
  font-family: var(--serif) !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  letter-spacing:-.3px;
}
.news-logo .logo-text span{ color: var(--red) !important; }
.live-badge{
  background: var(--red) !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
  letter-spacing:.5px;
}

/* ---------- 5. Breadcrumb ---------------------------------------------- */
ul.breadcrumb{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding: 14px 0 6px !important;
  margin:0;
}
ul.breadcrumb li{
  display:inline-block;
  background: var(--cream-2);
  color: var(--gray);
  font-size: 11.5px;
  font-weight:700;
  padding: 4px 10px;
  border-radius: 20px;
}
ul.breadcrumb li.active{
  background: var(--dark);
  color:#fff;
}
ul.breadcrumb li:first-child{
  background: var(--red);
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.5px;
}

/* ---------- 6. Hero / headline ------------------------------------------ */
.headline{ margin-top: 6px; }

.headline h2{
  font-family: var(--serif);
  font-size: clamp(13px, 3.6vw, 15px);
  line-height:1.4;
  margin-bottom: 10px !important;
}
.headline h2 u{ text-decoration:none; }
.headline h2 span{
  display:inline-block;
  background: var(--red);
  color:#fff !important;
  padding: 2px 10px;
  border-radius: 5px;
  font-weight:800;
  font-size: 11px;
  letter-spacing:.5px;
  text-transform:uppercase;
  margin-bottom:6px;
}

article h1{
  font-family: var(--serif) !important;
  font-size: clamp(22px, 5.4vw, 32px) !important;
  line-height: 1.32 !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin-bottom: 14px !important;
  letter-spacing:-.2px;
}
article h1 .red{
  color: var(--red) !important;
  background: linear-gradient(180deg, transparent 62%, var(--gold-soft) 62%);
  padding: 0 2px;
}

/* hero image directly under the headline */
.headline + img,
img[src*="1ST.png"]{
  display:block;
  border-radius: 14px !important;
  box-shadow: var(--shadow-lg);
  border: 3px solid #fff;
  outline: 1px solid var(--hair);
  margin: 10px 0 4px !important;
}

/* generic in-article images */
article img, .base_pht, .contentManImage{
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
}

/* ---------- 7. "क्या होता है" question banner --------------------------- */
p.article__question{
  background: linear-gradient(135deg, var(--cream-2), #fff);
  border: 1.5px dashed var(--gold);
  border-radius: var(--radius-sm);
  padding: 16px 14px !important;
  margin: 22px 0 !important;
}
p.article__question h2{
  font-family: var(--serif);
  font-size: clamp(17px, 4.4vw, 22px) !important;
  color: var(--dark) !important;
}

/* ---------- 8. Symptom cards -------------------------------------------- */
.symptoms-section{ padding: 6px 4px !important; }
.symptoms{ gap: 12px !important; }
.symptom{
  background: var(--card) !important;
  border: 1px solid var(--hair);
  border-radius: 16px !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 14px 10px !important;
}
.symptom img{
  width: 84px !important;
  height: 84px !important;
  border: 3px solid var(--gold-soft) !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.12) !important;
}
.symptom p{
  color: var(--green-darker) !important;
  font-size: 13.5px !important;
}
@media (min-width:480px){
  .symptom img{ width:110px !important; height:110px !important; }
  .symptom p{ font-size:14.5px !important; }
}

/* the bold emoji symptom-list block right after the cards */
.wrap span[style*="font-size: 18px; font-weight: bold"]{
  display:block;
  background: var(--cream-2);
  border-left: 5px solid var(--red);
  border-radius: 0 12px 12px 0;
  padding: 16px 16px 4px !important;
  font-size: 15.5px !important;
  line-height: 2 !important;
}

/* ---------- 9. Body copy ------------------------------------------------- */
article p{
  font-size: 16.5px !important;
  line-height: 1.85 !important;
  color: var(--ink) !important;
  margin-bottom: 15px !important;
}
article p strong,
article b{ color: var(--dark); }

article h2{
  font-family: var(--serif) !important;
  font-size: clamp(19px, 4.8vw, 26px) !important;
  color: var(--dark) !important;
  margin: 30px 0 14px !important;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--gold-soft);
}

.underline-text{ color: var(--dark); font-weight:700; }

/* first-person story paragraphs get a gentle quote treatment for the
   opening line only, using the existing markup */
p > strong > span.underline-text{
  font-family: var(--serif);
  font-size: 1.05em;
}

/* ---------- 10. Buy buttons / image CTAs --------------------------------- */
.BuyButtonOffert{
  transition: transform .2s ease, filter .2s ease;
  filter: drop-shadow(0 6px 14px rgba(212,175,55,.45));
}
.BuyButtonOffert:hover{ transform: translateY(-2px) scale(1.02); }
.order_nn{ margin: 18px 0; }

/* ---------- 11. Tables (ingredients / benefits) --------------------------- */
.wrap table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  margin: 18px 0 !important;
  border-radius: 14px;
  overflow:hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--hair);
}
.wrap table thead th{
  background: var(--dark) !important;
  color:#fff !important;
  font-size: 14px !important;
  border-color: var(--dark) !important;
}
.wrap table tbody tr:nth-child(odd){ background:#fff; }
.wrap table tbody tr:nth-child(even){ background: var(--cream-2) !important; }
.wrap table td, .wrap table th{
  border-color: var(--hair) !important;
}

@media (max-width: 620px){
  .wrap table thead{ display:none; }
  .wrap table, .wrap table tbody, .wrap table tr, .wrap table td{
    display:block; width:100%;
  }
  .wrap table tr{
    margin-bottom: 12px;
    border: 1px solid var(--hair);
    border-radius: 12px;
    overflow:hidden;
    box-shadow: var(--shadow-sm);
  }
  .wrap table td{
    border:none !important;
    border-bottom: 1px solid var(--hair) !important;
    padding: 12px 14px !important;
    font-size: 14.5px !important;
  }
  .wrap table td:last-child{ border-bottom:none !important; }
  .wrap table tr td:first-child{
    background: var(--cream-2);
    font-weight:800;
  }
}

/* ---------- 12. 3-step process card --------------------------------------- */
div[style*="border:2px solid #d4af37"]{
  border-radius: 18px !important;
  box-shadow: var(--shadow-md) !important;
  border-color: var(--gold) !important;
}

/* ---------- 13. Offer / coupon card (signature element) -------------------- */
#copupn_wrap{ margin: 26px 0 !important; }

#coupon{
  position:relative;
  background: linear-gradient(160deg, #fff 0%, var(--cream-2) 100%);
  border: 2px solid var(--gold);
  border-radius: 20px;
  padding: 22px 14px 18px;
  box-shadow: var(--shadow-lg);
}

/* ribbon corner badge — pure CSS, no new content */
#coupon::before{
  content: "";
  position:absolute;
  top:-1px; left:-1px;
  width: 0; height: 0;
  border-style: solid;
  border-width: 54px 54px 0 0;
  border-color: var(--red) transparent transparent transparent;
  border-top-left-radius: 18px;
  z-index:1;
}
#coupon::after{
  content: "OFFER";
  position:absolute;
  top: 9px; left: 4px;
  color:#fff;
  font-size: 10px;
  font-weight:900;
  letter-spacing: 1px;
  transform: rotate(-45deg);
  z-index:2;
}

#coupon #title{
  font-family: var(--serif);
  font-style: normal !important;
  font-weight:800;
  font-size: 17px;
  color: var(--dark);
  display:block;
  margin-bottom: 6px;
}

#coupon h1[align="center"]{
  font-family: var(--serif) !important;
  margin: 4px 0 !important;
}
#coupon h1[align="center"] del{ opacity:.65; font-size: .8em !important; }
#coupon h1[align="center"] b{ font-size: clamp(22px, 6vw, 30px) !important; }

.payment-method-box{
  border-radius: 14px !important;
  box-shadow: var(--shadow-sm);
}

/* order form inputs */
#Form{
  background:#fff;
  border-radius: 16px;
  padding: 16px 14px 20px !important;
  margin-top: 14px !important;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--hair);
}
#Form input:not([type="hidden"]):not([type="submit"]),
#Form .form_group{
  border: 1.5px solid var(--hair) !important;
  background: var(--cream) !important;
  font-size: 16px !important;
  padding: 13px 14px !important;
  border-radius: 10px !important;
  box-shadow:none !important;
}
#Form input:focus{
  border-color: var(--gold) !important;
  background:#fff !important;
}

#input-submit, .form_btn{
  background: linear-gradient(180deg, #F3C542, var(--gold)) !important;
  color: #1a1200 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  letter-spacing:.2px;
  padding: 17px !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(212,175,55,.45) !important;
  animation: cvPulse 2.2s infinite;
}
#input-submit:hover{ background: linear-gradient(180deg, var(--gold), #C79A2E) !important; }

@keyframes cvPulse{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.015); }
}
@media (prefers-reduced-motion: reduce){
  #input-submit, .form_btn{ animation:none; }
}

/* ---------- 14. Trust grid ------------------------------------------------- */
.trust-grid{ gap: 10px !important; }
.trust-box{
  border-radius: 14px !important;
  border-color: var(--hair) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
.trust-box:hover{ transform: translateY(-3px); box-shadow: var(--shadow-md) !important; }
.trust-text{ color: var(--dark) !important; }

/* ---------- 15. Testimonial cards (quote-style) ---------------------------- */
div[style*="border-left:5px solid #d4af37"]{
  position:relative;
  border-radius: 14px !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 18px 16px 16px 20px !important;
  font-size: 14.5px;
  line-height:1.7;
}
div[style*="border-left:5px solid #d4af37"] b{ color: var(--dark); }

/* ---------- 16. Review screenshots grid ------------------------------------ */
div[style*="display:grid;gap:15px;margin-top:25px"]{
  gap: 12px !important;
}

/* review images (the 4-photo proof grid, uses inline border) */
img[style*="border:2px solid #d4af37"]{
  border-radius: 14px !important;
  box-shadow: var(--shadow-md) !important;
  transition: transform .2s ease;
}
img[style*="border:2px solid #d4af37"]:hover{ transform: scale(1.03); }

/* ---------- 17. Benefit "legend" list --------------------------------------- */
legend{
  display:block;
  font-size: 17px !important;
  font-weight: 800 !important;
  margin: 18px 0 4px !important;
  padding: 10px 14px;
  background: var(--cream-2);
  border-radius: 10px;
}
legend + p.article__answer{
  padding: 4px 14px 2px !important;
  color: var(--ink) !important;
  font-size: 15.5px !important;
}

/* ---------- 18. Footers ----------------------------------------------------- */
.ac_footer{ padding: 24px 16px !important; color: var(--gray) !important; }
.ac_footer a{ color: var(--dark) !important; font-weight:600; }

.site-footer{
  background: var(--dark) !important;
  border-radius: 18px 18px 0 0;
  margin-top: 20px !important;
}
.site-footer a{ opacity:.9; }
.site-footer a:hover{ opacity:1; text-decoration:underline; }

/* ---------- 19. Sticky mobile order bar ------------------------------------- */
.call-now-responsive{
  background: linear-gradient(90deg, var(--green-darker), var(--green)) !important;
  padding: 10px 12px !important;
  padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  box-shadow: 0 -6px 20px rgba(0,0,0,.18) !important;
}
.call-now-responsive a{
  background: linear-gradient(180deg, var(--gold-soft), var(--gold)) !important;
  color: #1a1200 !important;
  font-size: 16px !important;
  border-radius: 10px !important;
  padding: 12px 18px !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.25) !important;
  animation: cvPulse 2.2s infinite;
}
@media (prefers-reduced-motion: reduce){
  .call-now-responsive a{ animation:none; }
}

/* ---------- 20. Small-screen refinements ------------------------------------ */
@media (max-width: 480px){
  .wrap{ margin: 8px 6px 20px; border-radius: 14px; }
  .wrap > article, .wrap article{ padding: 0 12px; }
  article h1{ font-size: 21px !important; }
  #coupon{ padding: 20px 10px 16px; }
}

/* Large-screen polish */
@media (min-width: 992px){
  body{ padding-bottom: 0; }
  .call-now-responsive{ display:none; } /* desktop visitors get the inline order form instead of a floating strip */
}
