/* =============================================================
   শুরু: বেস স্টাইল — cp-base.css
   কাজ: রিসেট, টাইপোগ্রাফি, শেয়ারড কম্পোনেন্ট (বাটন, লেবেল,
   কন্টেইনার, টোস্ট) — এখানকার ক্লাসগুলো সব পেজ-ক্রস `cp-` প্রিফিক্স
   সহ আসে, তাই কোনো থার্ড-পার্টি ক্লাসের সাথে সংঘর্ষ হবে না।
   শেষ: বেস স্টাইল
   ============================================================= */

/* --- শুরু: রিসেট (বক্স সাইজিং ও মার্জিন ক্লিয়ার) --- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body, h1, h2, h3, h4, p, figure, blockquote, ul, ol { margin: 0; }
ul[class], ol[class] { list-style: none; padding: 0; }
img, svg, video { display: block; max-width: 100%; }
/* --- শেষ: রিসেট --- */

/* --- শুরু: বডি ও ইনহেরিটেন্স (বাংলা+ইংরেজি ফন্ট সেটিং) --- */
body {
  margin: 0;
  background: var(--cp-cream);
  color: var(--cp-text);
  font-family: var(--cp-font);
  font-size: var(--cp-fs-md);
  line-height: 1.65;
  overflow-x: clip; /* position: sticky কাজ করার জন্য hidden এর পরিবর্তে clip */
}
body, button, input, textarea, select { font-family: inherit; }
body.cp-no-scroll { overflow: hidden; } /* মোবাইল ড্রয়ার/মডাল খোলা অবস্থায় স্ক্রল বন্ধ */
/* --- শেষ: বডি ও ইনহেরিটেন্স --- */

/* --- শুরু: লিংক ও ফোকাস স্টাইল (এক্সেসিবিলিটি) --- */
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 3px solid var(--cp-green); outline-offset: 2px; border-radius: 4px; }
button { cursor: pointer; border: 0; background: none; color: inherit; }
/* --- শেষ: লিংক ও ফোকাস স্টাইল --- */

/* --- শুরু: hidden অ্যাট্রিবিউট মান রাখে (ডিফল্ট display ভাঙতে নয়) --- */
[hidden] { display: none !important; }
/* --- শেষ: hidden অ্যাট্রিবিউট --- */

/* --- শুরু: স্ক্রলবার (প্রিমিয়াম পাতলা স্ক্রলবার) --- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--cp-soft); }
::-webkit-scrollbar-thumb { background: var(--cp-green-deep); border-radius: 999px; border: 2px solid var(--cp-soft); }
/* --- শেষ: স্ক্রলবার --- */

/* --- শুরু: স্ক্রিন-রিডার শুধু কনটেন্ট --- */
.cp-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* --- শেষ: স্ক্রিন-রিডার কনটেন্ট --- */

/* --- শুরু: cp-mount — লোডারের সেকশন ইনজেকশন পয়েন্ট (শেল পেজে ব্যবহৃত) --- */
.cp-mount { display: block; }
.cp-mount-zone { display: contents; }
/* --- শেষ: cp-mount --- */

/* --- শুরু: cp-container — সেন্টারড লেআউট র‍্যাপার (সব সেকশনে ব্যবহৃত) --- */
.cp-container {
  width: min(var(--cp-container), calc(100% - var(--cp-gutter) * 2));
  margin-inline: auto;
}
/* --- শেষ: cp-container --- */

/* --- শুরু: cp-eyebrow — ছোট আপারকেস লেবেল (সেকশনের উপরে ট্যাগ) --- */
.cp-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--cp-fs-xs); font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--cp-green-deep);
}
.cp-eyebrow::before {
  content: ""; width: 26px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--cp-green), var(--cp-gold));
}
/* --- শেষ: cp-eyebrow --- */

/* --- শুরু: cp-btn পরিবার — সাধারণ বাটন (ছোট hover ইফেক্ট শুধু CSS transition-এ) --- */
.cp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 11px 22px; border-radius: var(--cp-radius-pill);
  font-weight: 700; font-size: var(--cp-fs-sm); letter-spacing: 0.01em;
  transition: transform var(--cp-fast) var(--cp-ease),
              box-shadow var(--cp-fast) var(--cp-ease),
              background-color var(--cp-fast) var(--cp-ease),
              color var(--cp-fast) var(--cp-ease);
}
.cp-btn:hover { transform: translateY(-2px); }
.cp-btn:active { transform: translateY(0); }
.cp-btn--primary {
  background: linear-gradient(135deg, var(--cp-green) 0%, var(--cp-green-deep) 100%);
  color: var(--cp-white); box-shadow: var(--cp-shadow-1);
}
.cp-btn--primary:hover { box-shadow: var(--cp-shadow-2); }
.cp-btn--ghost {
  background: transparent; color: var(--cp-green-deep);
  box-shadow: inset 0 0 0 2px var(--cp-green-deep);
}
.cp-btn--ghost:hover { background: var(--cp-green-deep); color: var(--cp-white); }
.cp-btn--light { background: var(--cp-cream); color: var(--cp-green-dark); }
.cp-btn--light:hover { background: var(--cp-white); }
.cp-btn--sm { min-height: 36px; padding: 7px 14px; font-size: var(--cp-fs-xs); }
.cp-btn--block { width: 100%; }
/* --- শেষ: cp-btn পরিবার --- */

/* --- শুরু: cp-toast — গ্লোবাল নোটিফিকেশন (cp-core.js তৈরি করে) --- */
.cp-toast-host {
  position: fixed; right: 18px; bottom: 18px; z-index: var(--cp-z-toast);
  display: flex; flex-direction: column; gap: 10px; pointer-events: none;
  max-width: min(360px, calc(100vw - 36px));
}
.cp-toast-item {
  padding: 13px 16px; border-radius: var(--cp-radius-sm);
  background: var(--cp-green-dark); color: var(--cp-on-dark);
  font-size: var(--cp-fs-sm); font-weight: 600; line-height: 1.5;
  box-shadow: var(--cp-shadow-2); opacity: 0;
  transform: translateY(14px);
  transition: opacity var(--cp-mid) var(--cp-ease), transform var(--cp-mid) var(--cp-ease);
}
.cp-toast-item.is-visible { opacity: 1; transform: translateY(0); }
.cp-toast-item--success { background: var(--cp-success); }
.cp-toast-item--danger { background: var(--cp-danger); }
/* --- শেষ: cp-toast --- */

/* --- শুরু: স্ক্রল-রিভিল প্রাথমিক অবস্থা (শুধু লোডার GSAP পেয়ে থাকলে `cp-js-ready` ক্লাস দেয়) --- */
.cp-js-ready [data-cp-reveal] { opacity: 0; }
/* --- শেষ: স্ক্রল-রিভিল প্রাথমিক অবস্থা --- */

/* --- শুরু: কম গতিপ্রদর্শন পছন্দ থাকলে রিভিল এলিমেন্ট সবসময় দৃশ্যমান --- */
@media (prefers-reduced-motion: reduce) {
  .cp-js-ready [data-cp-reveal] { opacity: 1 !important; transform: none !important; }
}
/* --- শেষ: কম গতিপ্রদর্শন রিভিল --- */

/* --- শুরু: রিডিউসড-মোশন সাপোর্ট (ইউজার OS সেটিং মানা হয়) --- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* --- শেষ: রিডিউসড-মোশন সাপোর্ট --- */
/* শেষ ফাইল: cp-base.css */
