/* Minarets Pharmacy — restored theme (rebuilt: original stylesheet was never archived) */

:root{
  --brand: #1b2a6b;
  --brand-dark: #131f52;
  --ash: #7c8797;
  --danger: #e2434d;
  --light-bg: #f7f8fa;
  --border: #e7e9ee;
}

*{ box-sizing: border-box; }

body{
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #333;
  background: #fff;
}

a{ text-decoration: none; }
a.link-dark{ color: #1a1a1a; }
a.link-dark:hover{ color: var(--brand); }
a.link-inverse{ color: #fff; }

.text-ash{ color: var(--ash) !important; }
.text-danger{ color: var(--danger) !important; }

.btn-primary{
  background-color: var(--brand);
  border-color: var(--brand);
}
.btn-primary:hover,
.btn-primary:focus{
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
}
.btn-outline-primary{
  color: var(--brand);
  border-color: var(--brand);
}
.btn-outline-primary:hover{
  background-color: var(--brand);
  border-color: var(--brand);
}
.bg-primary{ background-color: var(--brand) !important; }

/* ---------- Extended spacing / font-size utilities (theme uses a wider scale than Bootstrap's default) ---------- */
.py-6{ padding-top:3.5rem!important; padding-bottom:3.5rem!important; }
.py-7{ padding-top:4.5rem!important; padding-bottom:4.5rem!important; }
.py-8{ padding-top:5.5rem!important; padding-bottom:5.5rem!important; }
.py-9{ padding-top:6.5rem!important; padding-bottom:6.5rem!important; }
.py-10{ padding-top:7.5rem!important; padding-bottom:7.5rem!important; }
.py-20{ padding-top:10rem!important; padding-bottom:10rem!important; }
.mb-10{ margin-bottom:4rem!important; }
.pe-xl-20{ }
@media (min-width:1200px){ .pe-xl-20{ padding-right:6rem!important; } }
.fs-10{ font-size:.72rem!important; }
.fs-14{ font-size:.875rem!important; }
.fs-16{ font-size:1rem!important; }
.fs-18{ font-size:1.125rem!important; }
.gx-md-8{ }
@media (min-width:768px){
  .gx-md-8 > *{ padding-left:2rem; padding-right:2rem; }
  .gx-md-8{ margin-left:-2rem; margin-right:-2rem; }
}

/* ---------- Header ---------- */
.navbar-bg-light{ background:#fff; box-shadow:0 1px 0 var(--border); }
.navbar{ padding-top:.9rem; padding-bottom:.9rem; }
.center-nav .navbar-nav{ gap:.25rem; }
.navbar-nav .nav-link{
  color:#333;
  font-weight:500;
  padding:.5rem .9rem !important;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{ color: var(--brand); }
.navbar-other .nav-link{ color:#333; font-size:1.2rem; padding:.4rem .6rem !important; }
.navbar-other .nav-link:hover{ color: var(--brand); }
.badge-cart{ font-size:.65rem; border-radius:50%; padding:.3em .45em; vertical-align:top; }

.hamburger{
  border:0; background:none; width:26px; height:20px; position:relative; padding:0;
}
.hamburger span,
.hamburger span::before,
.hamburger span::after{
  content:''; position:absolute; left:0; width:100%; height:2px; background:#333; transition:.2s;
}
.hamburger span{ top:9px; }
.hamburger span::before{ top:-8px; }
.hamburger span::after{ top:8px; }

/* Mobile (<992px): real slide-in offcanvas, dark background */
@media (max-width:991.98px){
  .offcanvas-nav .navbar-nav{ gap:.25rem; }
  .offcanvas-nav .nav-link{ color:#fff; font-weight:500; padding:.6rem 0; }
  .offcanvas.offcanvas-start.offcanvas-nav{ background:var(--brand); color:#fff; width:300px; }
  .offcanvas-nav .dropdown-menu{ position:static!important; transform:none!important; background:transparent; border:0; padding-left:1rem; }
  .offcanvas-nav .dropdown-item{ color:rgba(255,255,255,.8); padding:.35rem 0; background:none; }
  .offcanvas-nav .dropdown-item:hover{ color:#fff; background:none; }
  .offcanvas-nav .dropdown-toggle::after{ float:right; margin-top:.6em; }
  .offcanvas-nav .nav.social a{ color:#fff; margin-right:.75rem; font-size:1.1rem; }
}

/* Desktop (>=992px): the "offcanvas" collapses back into a normal inline navbar row —
   navbar-expand-lg + offcanvas is this theme's standard responsive-nav combo. */
@media (min-width:992px){
  .navbar-collapse.offcanvas{
    position:static; z-index:auto; display:flex!important; flex-grow:1;
    width:auto; height:auto; visibility:visible!important; background:transparent!important;
    box-shadow:none; transform:none!important; transition:none;
  }
  .navbar-collapse.offcanvas .offcanvas-header{ display:none; }
  .navbar-collapse.offcanvas .offcanvas-body{ display:flex; flex-grow:1; padding:0; overflow:visible; }
  .center-nav .navbar-nav{ margin-left:auto; margin-right:auto; flex-direction:row; }
}

/* ---------- Hero ---------- */
.swiper-hero{ position:relative; background:#eee; }
.swiper-hero .swiper-slide.bg-image{
  height:70vw; max-height:800px; min-height:220px;
  background-size:cover; background-position:center;
}
.swiper-hero .swiper-pagination-bullet{ background:#fff; opacity:.6; }
.swiper-hero .swiper-pagination-bullet-active{ opacity:1; background:var(--brand); }
.swiper-hero .swiper-button-next,
.swiper-hero .swiper-button-prev{ color:#fff; }

/* ---------- Product grid ---------- */
.display-6{ font-weight:600; color:#1a1a1a; }

.shop .item{ position:relative; }
.shop .item figure{
  position:relative; overflow:hidden; background:var(--light-bg);
  border:1px solid var(--border);
}
.shop .item figure img{ width:100%; display:block; aspect-ratio:1/1; object-fit:cover; transition:transform .3s; }
.shop .item:hover figure{ border-color: var(--brand); }
.shop .item:hover figure img{ transform:scale(1.04); }

.img-placeholder{
  position:absolute; inset:0; z-index:1;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.4rem;
}
.img-placeholder i{ font-size:2.1rem; color:var(--brand); opacity:.85; }
.img-placeholder span{
  font-size:.62rem; font-weight:600; letter-spacing:.03em; color:var(--ash);
  text-transform:uppercase; text-align:center; padding:0 .5rem;
}

.item-like, .item-view{
  position:absolute; width:32px; height:32px; border-radius:50%;
  background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.15);
  display:flex; align-items:center; justify-content:center; color:#333; right:.6rem; z-index:2;
}
.item-like{ top:.6rem; }
.item-view{ top:3rem; }
.item-like:hover, .item-view:hover{ color:#fff; background:var(--brand); }

.item-cart{
  padding:.5rem; background:#fff; border-top:1px solid var(--border);
  align-items:center;
}
.qty-wrp{ align-items:center; }
.tx-qty{ width:2.6rem; padding:.25rem; }
.bt-qty{ line-height:1; }

.btn-soft-ash{
  background:var(--light-bg); border:1px solid var(--border); color:#555;
}
.btn-soft-ash:hover{ background:#eceef1; }

.post-header{ padding:.75rem .1rem 0; }
.post-category{ text-transform:uppercase; letter-spacing:.03em; }
.post-title a{ color:#1a1a1a; }
.post-title a:hover{ color:var(--brand); }
.price .amount{ color:var(--brand); }

/* ---------- Cart / search offcanvas ---------- */
.offcanvas-end#offcanvas-cart{ width:380px; }
.shopping-cart-uwrap:empty::before{
  content:"Your cart is empty.";
  display:block; text-align:center; color:var(--ash); padding:2rem 0;
}
#offcanvas-search .form-control{ height:3rem; border-radius:.5rem; }

/* ---------- Custom alert marquee ---------- */
.custom-alert{ font-size:.9rem; }

/* ---------- Item added modal ---------- */
.modal-bottom-center .modal-dialog{
  position:fixed; bottom:1rem; left:50%; transform:translateX(-50%); margin:0; width:calc(100% - 2rem); max-width:640px;
}

/* ---------- Footer ---------- */
footer{ background:var(--light-bg); border-top:1px solid var(--border); }
footer p{ color:#555; }
.social.social-muted a{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%; background:#fff; border:1px solid var(--border);
  color:#555; margin-left:.4rem;
}
.social.social-muted a:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }

/* ---------- Back-to-top progress ---------- */
.progress-wrap{
  position:fixed; right:1.25rem; bottom:1.25rem; width:46px; height:46px; cursor:pointer;
  border-radius:50%; box-shadow:0 2px 8px rgba(0,0,0,.15); background:#fff;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .25s, transform .25s, visibility .25s;
  z-index:1050;
}
.progress-wrap.active-progress{ opacity:1; visibility:visible; transform:translateY(0); }
.progress-wrap::after{
  content:'\25B2'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--brand); font-size:.8rem;
}
.progress-wrap svg path{
  fill:none; stroke:var(--brand); stroke-width:4;
  box-sizing:border-box; transition:all .2s linear;
}

/* ---------- Page loader ---------- */
#loader{
  position:fixed; inset:0; background:#fff; z-index:2000;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .3s, visibility .3s;
}
#loader.loaded{ opacity:0; visibility:hidden; }
#loader .spinner{
  width:42px; height:42px; border-radius:50%;
  border:4px solid var(--border); border-top-color:var(--brand);
  animation:spin .8s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
