/* ==========================================================================
   MEDNIX-STYLE THEME for the Laravel guest frontend
   Replaces: base.css, inner-pages.css, style.css, responsive.css
   Keeps: bootstrap.min.css, fontawesome, swiper, aos, nice-select, leaflet,
          bs-stepper, pignose calendar, toastr, tinymce-content.css, rtl.css
   Colors: --color-primary / --color-secondary / --color-primary-rgb are
           admin-controlled (see frontend/layout.blade.php). Everything else
           (navy ink, fonts, radius, shadow) is fixed brand styling.
   ========================================================================== */

/* ---------- 1. Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap');

/* ---------- 2. Tokens ---------- */
:root{
  --font-display:'Jost', sans-serif;
  --font-body:'DM Sans', sans-serif;

  --primary: var(--color-primary, #1CA7AF);
  --secondary: var(--color-secondary, #16233F);
  --primary-rgb: var(--color-primary-rgb, 28,167,175);

  --navy:#16233F;         /* fixed dark-section ink, independent of admin colors */
  --navy-soft:#22314F;
  --ink:#16233F;
  --ink-soft:#5C6B82;
  --ink-faint:#93A0B4;

  --bg:#FFFFFF;
  --bg-alt:#F5F8FA;
  --bg-tint: rgba(var(--primary-rgb), .06);
  --border:#E4E9F0;

  --radius-card:20px;
  --radius-btn:10px;
  --radius-pill:100px;

  --shadow-card:0 4px 24px rgba(22,35,63,.07);
  --shadow-hover:0 16px 40px rgba(22,35,63,.14);
  --shadow-navy:0 20px 48px rgba(22,35,63,.25);

  --transition: all .3s cubic-bezier(.4,0,.2,1);
}

body{ font-family:var(--font-body); color:var(--ink); }
h1,h2,h3,h4,h5,h6,.title,.card-title,.product-title,.card_title{ font-family:var(--font-display); color:var(--ink); font-weight:700; }
a{ transition:color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.color-primary{ color:var(--primary) !important; }
.bg-primary-light{ background:var(--bg-tint) !important; }
.container{ max-width:1240px; }

/* ---------- 3. Buttons (shared everywhere) ---------- */
.btn{ font-family:var(--font-display); font-weight:600; border-radius:var(--radius-btn); }
.btn-primary{
  background:var(--primary) !important; border-color:var(--primary) !important;
  color:#fff !important; box-shadow:0 8px 20px rgba(var(--primary-rgb),.25);
}
.btn-primary:hover{ filter:brightness(.93); transform:translateY(-2px); }
.btn-primary.btn-gradient{
  background:linear-gradient(135deg, var(--primary), var(--secondary)) !important;
  border:none !important;
}
.btn-outline, .btn-outline-2{
  background:transparent !important; border:1.5px solid var(--border) !important; color:var(--ink) !important;
}
.btn-outline-2:hover, .btn-outline:hover{ border-color:var(--primary) !important; color:var(--primary) !important; }
.btn-lg{ padding:14px 30px; }
.btn-md{ padding:11px 24px; }
.btn-sm{ padding:8px 16px; font-size:13px; }
.btn-icon{
  width:42px; height:42px; padding:0 !important; display:inline-flex; align-items:center; justify-content:center;
  border-radius:var(--radius-btn) !important;
}
.btn-icon.wishlist-active{ color:#E0574A !important; border-color:#E0574A !important; }
.btn-icon.bg-primary{ background:var(--primary) !important; }
.btn-text.color-primary{ color:var(--primary) !important; font-weight:700; }
.radius-sm{ border-radius:var(--radius-btn) !important; }
.radius-md{ border-radius:var(--radius-card) !important; }
.radius-lg{ border-radius:24px !important; }



/* ---------- 5. BREADCRUMB / PAGE TITLE (dark navy band — signature Mednix look) ---------- */
.page-title-area{
  position:relative; background:var(--navy); background-size:cover; background-position:center;
  padding:70px 0 56px; overflow:hidden;
}
.page-title-area::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(22,35,63,.92) 10%, rgba(22,35,63,.65) 100%);
}
.page-title-area .container{ position:relative; z-index:2; }
.page-title-area .content h2{
  color:#fff; font-size:clamp(1.6rem, 3.5vw, 2.4rem); margin-bottom:10px;
}
.page-title-area .breadcrumb{ background:transparent; margin:0; padding:0; }
.page-title-area .breadcrumb-item, .page-title-area .breadcrumb-item a{
  color:rgba(255,255,255,.7); font-family:var(--font-display); font-size:13px; font-weight:600;
}
.page-title-area .breadcrumb-item.active{ color:var(--primary); }
.page-title-area .breadcrumb-item + .breadcrumb-item::before{ color:rgba(255,255,255,.4); }
/* Vendor-details header variant (author block) */
.page-title-area .author{ display:flex; align-items:center; gap:18px; }
.page-title-area .author-img{
  width:84px; height:84px; border-radius:50%; overflow:hidden; border:3px solid rgba(255,255,255,.3); flex:0 0 auto;
}
.page-title-area .author-img img{ width:100%; height:100%; object-fit:cover; }
.page-title-area .author-info span{ color:rgba(255,255,255,.65); font-size:13px; }
.page-title-area .ratings-total{ color:rgba(255,255,255,.75); font-size:12px; }

/* ---------- 6. Section titles used site-wide (about/feature/pricing/faq/works) ---------- */
.section-title.title-center{ text-align:center; max-width:640px; margin-left:auto; margin-right:auto; }
.section-title .title{ font-size:clamp(1.5rem,3vw,2.1rem); }
.content-title .subtitle{
  display:inline-flex; align-items:center; gap:8px; color:var(--primary);
  font-family:var(--font-display); font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;
  margin-bottom:10px; background:var(--bg-tint); padding:6px 16px; border-radius:var(--radius-pill);
}
.content-title .title{ font-size:clamp(1.6rem,3.2vw,2.3rem); line-height:1.2; }

/* ---------- 7. ABOUT PAGE ---------- */
.about-area .image img{ border-radius:var(--radius-card); box-shadow:var(--shadow-card); }
.feature-area .card{ border-color:var(--border) !important; transition:.3s; }
.feature-area .card:hover{ box-shadow:var(--shadow-hover); transform:translateY(-4px); border-color:transparent !important; }
.feature-area .card-icon{
  width:56px; height:56px; display:flex; align-items:center; justify-content:center;
  background:var(--bg-tint); color:var(--primary); font-size:22px; border-radius:14px; margin-bottom:14px;
}
.feature-area .card-title{ font-size:16px; }
.works-area{ position:relative; }
.works-area.works-1{ position:relative; }
.works-area.works-1::before{ content:''; position:absolute; inset:0; background:rgba(22,35,63,.72); }
.works-area.works-1 .container{ position:relative; z-index:2; }
.works-area .card{
  border:none !important; border-radius:var(--radius-card) !important;
  box-shadow:var(--shadow-navy);
}
.works-area .card-icon{ font-size:30px; margin-bottom:14px; }
.works-area.works-2 .card{ border:1px solid var(--border) !important; }
.works-area.works-2 .card .h1.stroke-gradient{
  font-family:var(--font-display); font-weight:800; -webkit-text-stroke:1.5px var(--primary);
  color:transparent; opacity:.5; font-size:2.4rem;
}
.testimonial-area .slider-item{ background:#fff; border-radius:var(--radius-card); padding:28px; box-shadow:var(--shadow-card); border:1px solid var(--border); }
.testimonial-area .client-img{ width:52px; height:52px; }
.testimonial-area .client-img img{ width:100%; height:100%; object-fit:cover; }
.testimonial-area .name{ font-family:var(--font-display); font-weight:700; font-size:15px; }
.testimonial-area .quote .icon{ color:var(--primary); opacity:.4; font-size:1.6rem; }
.testimonial-area .quote .text{ font-style:italic; color:var(--ink-soft); }

/* ---------- 8. CONTACT PAGE ---------- */
.contact-area .card{
  text-align:center; border:1px solid var(--border) !important; border-radius:var(--radius-card) !important;
  padding:32px 20px; transition:.3s;
}
.contact-area .card:hover{ box-shadow:var(--shadow-hover); transform:translateY(-4px); }
.contact-area .card .icon{
  width:56px; height:56px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; font-size:20px; color:#fff; background:var(--primary);
}
.contact-area .card.color-2 .icon{ background:var(--navy); }
.contact-area .card.color-3 .icon{ background:var(--secondary); }
.contact-area .card-text a{ font-family:var(--font-display); font-weight:600; color:var(--ink); }
.contact-area .room-img{ border-radius:var(--radius-card); overflow:hidden; }
.contact-area .form-control{ margin-bottom:0; }

/* ---------- 9. FORMS (global) ---------- */
.form-control, .form-select{
  border:1.5px solid var(--border); border-radius:var(--radius-btn); padding:13px 16px;
  font-family:var(--font-body); font-size:14.5px; color:var(--ink); background:#fff;
}
.form-control:focus, .form-select:focus{
  border-color:var(--primary); box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14); outline:none;
}
.form-group{ position:relative; }
.form-group.icon-start .icon{ position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--primary); z-index:2; }
.form-group.icon-start .form-control{ padding-left:42px; }
.help-block.with-errors{ font-size:12px; margin-top:4px; }
textarea.form-control{ border-radius:16px; }

/* ---------- 10. PRICING PAGE ---------- */
.pricing-area .nav-tabs{ border:none !important; display:inline-flex; gap:4px; }
.pricing-area .nav-tabs .nav-link{
  border:none !important; border-radius:var(--radius-pill) !important; font-family:var(--font-display);
  font-weight:600; color:var(--ink-soft); padding:10px 24px !important;
}
.pricing-area .nav-tabs .nav-link.active{ background:var(--navy) !important; color:#fff !important; }
.pricing-area .card{
  border:1.5px solid var(--border) !important; border-radius:var(--radius-card) !important; transition:.3s;
  height:100%;
}
.pricing-area .card:hover{ box-shadow:var(--shadow-hover); transform:translateY(-4px); }
.pricing-area .card.active{ border-color:var(--primary) !important; box-shadow:var(--shadow-hover); position:relative; }
.pricing-area .card.active::before{
  content:'\2605'; position:absolute; top:-14px; right:24px; background:var(--primary); color:#fff;
  width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px;
}
.pricing-area .card_icon{
  width:52px; height:52px; border-radius:14px; background:var(--bg-tint); color:var(--primary);
  display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:12px;
}
.pricing-area .card_top{ display:flex; align-items:center; gap:12px; }
.pricing-area .card_title{ font-size:17px; }
.pricing-area .card_top .label span{ font-size:11px; font-weight:700; color:var(--primary); text-transform:uppercase; }
.pricing-area .card_subtitle h4{ font-family:var(--font-display); font-weight:800; font-size:2rem; color:var(--ink); }
.pricing-area .period{ color:var(--ink-faint); font-size:13px; margin-left:6px; }
.pricing-area .card_list li{ padding:7px 0; border-bottom:1px dashed var(--border); font-size:13.5px; }
.pricing-area .card_list li:last-child{ border-bottom:none; }
.pricing-area .card_list i.fa-check{ color:var(--primary); margin-right:8px; }
.pricing-area .card_list i.fa-times{ color:#C9CFD9; margin-right:8px; }

/* ---------- 11. FAQ PAGE ---------- */
.faq-area .accordion-item{
  border:1px solid var(--border) !important; border-radius:var(--radius-card) !important; overflow:hidden;
}
.faq-area .accordion-button{
  font-family:var(--font-display); font-weight:600; font-size:15px; color:var(--ink);
  padding:20px 24px; background:#fff !important; box-shadow:none !important;
}
.faq-area .accordion-button:not(.collapsed){ color:var(--primary); }
.faq-area .accordion-button::after{ filter: hue-rotate(0deg); }
.faq-area .accordion-body{ padding:0 24px 22px; font-size:14px; line-height:1.75; }

/* ---------- 12. BLOG (list + details) ---------- */
.blog-area .card, .blog-details-area .item-single{
  border:1px solid var(--border) !important; overflow:hidden; transition:.3s;
}
.blog-area .card:hover{ box-shadow:var(--shadow-hover); transform:translateY(-5px); }
.blog-area .card-list li{ font-size:11.5px; color:var(--ink-faint); }
.blog-area .card-list i, .blog-details-area .info-list i{ color:var(--primary); margin-right:5px; }
.blog-area .card-title, .blog-details-area .title{ font-size:17px; }
.blog-area .card-title a:hover{ color:var(--primary); }
.blog-details-area .image{ position:relative; border-radius:var(--radius-card); overflow:hidden; margin-bottom:24px; }
.blog-details-area .image .btn{ position:absolute; bottom:16px; right:16px; }
.blog-details-area .info-list{ display:flex; gap:18px; flex-wrap:wrap; list-style:none; padding:0; margin-bottom:14px; }
.blog-details-area .info-list li{ font-size:12.5px; color:var(--ink-faint); font-weight:600; }
.widget{ border:1px solid var(--border) !important; }
.widget .title{ font-size:15px; }
.search-form{ position:relative; border:1.5px solid var(--border); overflow:hidden; }
.search-form .search-input{ width:100%; border:none; padding:12px 46px 12px 16px; font-size:13.5px; }
.search-form .btn-search{ position:absolute; right:0; top:0; bottom:0; width:44px; background:var(--primary); color:#fff; border:none; }
.widget-blog-categories li{ padding:8px 0; border-bottom:1px dashed var(--border); font-size:13.5px; }
.widget-blog-categories li a{ color:var(--ink); font-weight:500; }
.widget-blog-categories li a:hover{ color:var(--primary); }
.widget-blog-categories .tqy{ color:var(--ink-faint); font-size:12px; }
.article-item .content h6 a:hover{ color:var(--primary); }
.article-item .image{ border-radius:12px; overflow:hidden; }

/* ---------- 12b. Body-copy paragraphs (blog + service description) ---------- */
/* The sitewide body{color:var(--ink-soft)} rule is grey by design for UI
   chrome (card meta, labels), but long-form reading content — blog posts
   and service descriptions — needs real contrast, not muted grey. */
.blog-details-area .item-single p,
.product-desc p{
  color:var(--ink);
  line-height:1.85;
  font-size:15px;
}

/* ---------- 13. SERVICE LIST / VENDOR CARDS (product-default, vendor cards) ---------- */
.sort-area{
  background:#fff; border:1px solid var(--border); border-radius:var(--radius-card);
  padding:16px 24px; margin-bottom:26px; box-shadow:var(--shadow-card);
}
.sort-list .sort-item label{ font-weight:600; color:var(--ink); font-size:13px; }

.product-default{
  border:1px solid var(--border) !important; border-radius:var(--radius-card) !important;
  transition:.3s; background:#fff;
}
.product-default:hover{ box-shadow:var(--shadow-hover); transform:translateY(-5px); }
.product-default.featured{ border-color:var(--primary) !important; }
.product-default .product-img{ border-radius:var(--radius-btn); overflow:hidden; }
.product-default .tag{
  background:var(--bg-tint); color:var(--primary); font-weight:700; font-size:10.5px;
  padding:4px 12px; border-radius:var(--radius-pill); text-transform:uppercase; letter-spacing:.03em;
}
.product-default .product-title{ font-size:15px; margin:10px 0 6px; }
.product-default .product-title a:hover{ color:var(--primary); }
.product-default .author img{ width:26px; height:26px; border-radius:50%; object-fit:cover; }
.product-default .author-info, .product-default .font-sm{ font-size:12px; color:var(--ink-faint); }
.product-default .new-price, .product-price .new-price{
  font-family:var(--font-display); font-weight:800; color:var(--primary); font-size:16px;
}
.product-default .prev-price{ text-decoration:line-through; color:var(--ink-faint); margin-left:4px; }

/* ---------- 13b. SHARED SERVICE CARD ---------- */
/* Used by frontend/services/partials/service-card.blade.php — the single
   canonical service card, included from home, service list, and vendor
   details, so it only ever needs updating in one place. */
.product-card-new {
  background:#fff; border-radius:var(--radius-card); overflow:hidden;
  box-shadow:var(--shadow-card); transition:var(--transition);
  height:100%; display:flex; flex-direction:column; border:1px solid var(--border);
}
.product-card-new:hover{ transform:translateY(-6px); box-shadow:var(--shadow-hover); }
.product-card-new .card-img-wrap{ position:relative; overflow:hidden; aspect-ratio:16/10; }
.product-card-new .card-img-wrap img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.product-card-new:hover .card-img-wrap img{ transform:scale(1.06); }
.product-card-new .card-img-overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.4) 0%, transparent 50%); }
.product-card-new .card-tag{
  position:absolute; top:14px; left:14px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
  color:var(--primary); font-family:var(--font-display); font-size:.72rem; font-weight:700;
  padding:4px 12px; border-radius:var(--radius-pill); letter-spacing:.04em;
}
.product-card-new .card-wish{
  position:absolute; top:14px; right:14px; width:36px; height:36px; background:rgba(255,255,255,.9);
  border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ink-faint);
  transition:var(--transition); border:none; text-decoration:none;
}
.product-card-new .card-wish:hover, .product-card-new .card-wish.wishlist-active{ color:#ef4444; background:#fff; }
.product-card-new .card-body-new{ padding:20px; flex:1; display:flex; flex-direction:column; }
.product-card-new .card-title-new{ font-family:var(--font-display); font-size:1rem; font-weight:700; color:var(--navy); margin-bottom:10px; line-height:1.4; transition:var(--transition); }
.product-card-new .card-title-new:hover{ color:var(--primary); }
.product-card-new .card-title-new a{ color:inherit; text-decoration:none; }
.card-author-row{ display:flex; align-items:center; gap:8px; margin-bottom:10px; }
.card-author-row img{ width:28px; height:28px; border-radius:50%; object-fit:cover; }
.card-author-row span{ font-size:.82rem; color:var(--ink-soft); }
.card-author-row a{ color:var(--primary); font-weight:600; }
.card-meta-row{ display:flex; align-items:center; gap:12px; font-size:.82rem; color:var(--ink-soft); margin-bottom:16px; flex-wrap:wrap; }
.card-meta-row i{ margin-right:4px; color:var(--primary); }
.card-footer-new{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:16px; border-top:1px solid var(--border); }
.new-price-badge{ font-family:var(--font-display); font-size:1.15rem; font-weight:800; color:var(--primary); }
.prev-price-badge{ font-size:.82rem; color:var(--ink-faint); text-decoration:line-through; margin-left:4px; }
.btn-book-now{
  font-family:var(--font-display); font-size:.8rem; font-weight:600; padding:8px 18px;
  border-radius:var(--radius-pill); border:2px solid var(--primary); color:var(--primary);
  background:transparent; transition:var(--transition); white-space:nowrap; text-decoration:none; display:inline-block;
}
.btn-book-now:hover{ background:var(--primary); color:#fff; }
.product-card-new.featured{ border-color:var(--primary); box-shadow:0 8px 24px rgba(var(--primary-rgb),.18); }

/* Vendor grid cards (index page) */
.vendor-area .card, .card.text-center.border{
  border:1px solid var(--border) !important; border-radius:var(--radius-card) !important; transition:.3s;
}
.vendor-area .card:hover{ box-shadow:var(--shadow-hover); transform:translateY(-5px); }
.vendor-area .card-img{ border-radius:50%; overflow:hidden; width:88px; height:88px; border:3px solid var(--bg-tint); }
.vendor-area .card-title a:hover{ color:var(--primary); }
.vendor-area .ratings-total{ font-size:11.5px; color:var(--ink-faint); }

/* Widgets / filters sidebar */
.widget-categories-2 .category-toggle, .widget-link a{ font-family:var(--font-display); font-weight:600; font-size:13.5px; color:var(--ink); }
.widget-categories-2 .category-toggle.active, .widget-link a.active{ color:var(--primary); }
.widget-categories-2 i.fa-angle-right{ color:var(--primary); margin-right:6px; }
.show-more-btn-2{ color:var(--primary); font-weight:600; font-size:12.5px; cursor:pointer; }
.custom-radio .form-radio-label{ font-size:13.5px; color:var(--ink); }
.cta.pb-40 .btn-primary{ background:var(--navy) !important; border-color:var(--navy) !important; }

/* ---------- 14. SERVICE DETAILS ---------- */
.product-single-slider, .thumbnail-img{ border-radius:var(--radius-card); overflow:hidden; }
.slider-btn{
  width:44px; height:44px; border-radius:50%; background:#fff; box-shadow:var(--shadow-card);
  display:flex; align-items:center; justify-content:center; color:var(--ink);
}
.product-category{
  color:var(--primary); font-family:var(--font-display); font-weight:700; font-size:11.5px;
  text-transform:uppercase; letter-spacing:.04em;
}
.product-single-details .product-title{ font-size:1.6rem; }
.product-single-details .new-price{ font-family:var(--font-display); font-weight:800; color:var(--primary); font-size:1.7rem; }
.product-desc h4, .service-area h4{ font-family:var(--font-display); font-size:1.2rem; }
.widget-form{ background:var(--bg-alt); }
.widget-form .user-img{ width:60px; height:60px; }
.widget-time .list-group li, .toggle-list li{
  display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed var(--border); font-size:13.5px;
}
.widget-time .list-group li:last-child, .toggle-list li:last-child{ border-bottom:none; }
.click-show .read-more-btn{ color:var(--primary); font-weight:700; font-size:12.5px; cursor:pointer; }

/* ---------- 15. VENDOR DETAILS ---------- */
.tabs-navigation-2{ background:#fff; border-radius:var(--radius-card) !important; padding:6px; }
.tabs-navigation-2 .nav-tabs{ border:none !important; }
.tabs-navigation-2 .nav-link{
  border:none !important; border-radius:var(--radius-btn) !important; font-family:var(--font-display);
  font-weight:600; font-size:13.5px; color:var(--ink-soft); padding:11px 20px !important;
}
.tabs-navigation-2 .nav-link.active{ background:var(--bg-tint) !important; color:var(--primary) !important; }
.widget-author-details .author-img{ width:100px; height:100px; border-radius:50%; overflow:hidden; margin:0 auto; }
.widget-author-details .author-img img{ width:100%; height:100%; object-fit:cover; }
.widget-author-details h5{ font-size:16px; }
.widget-author-details .color-green{ color:var(--primary); }

/* ---------- 16. BOOKING MODAL (stepper) ---------- */
.authentication-area{ padding:8px; }
.bs-stepper-header{ display:flex; justify-content:space-between; margin-bottom:20px; }
.bs-stepper-header .step{ text-align:center; }
.bs-stepper-circle{
  width:38px; height:38px; border-radius:50%; background:var(--bg-alt); color:var(--ink-faint);
  display:flex; align-items:center; justify-content:center; font-weight:700; margin:0 auto 6px;
  font-family:var(--font-display);
}
.bs-stepper-label{ font-size:11px; font-weight:600; color:var(--ink-faint); }
.step.active .bs-stepper-circle, .step.crossed .bs-stepper-circle{ background:var(--primary); color:#fff; }
.step.active .bs-stepper-label{ color:var(--primary); }
.calender-area, .booking-calendar, .booking-time{ border-radius:var(--radius-card); }
.booking-time-slider .time{
  border:1.5px solid var(--border); border-radius:var(--radius-btn); padding:8px 14px; font-size:13px;
  font-weight:600; color:var(--ink); cursor:pointer; display:inline-block; margin:4px;
}
.booking-time-slider .time.time_active, .booking-time-slider .time:hover{ background:var(--primary); border-color:var(--primary); color:#fff; }
.gateway-details .card{ border:1.5px solid var(--border) !important; border-radius:var(--radius-btn) !important; cursor:pointer; }
.gateway-details .card.active, .gateway-details .card:hover{ border-color:var(--primary) !important; }
.confirm-area .icon.fa-check-circle{ color:var(--primary); }
.input-group-style-2{ border:1.5px solid var(--border); border-radius:var(--radius-btn); }

/* ---------- 17. Purchase success ---------- */
.purchase-success{ text-align:center; padding:60px 20px; }
.purchase-success .icon{ font-size:64px; color:var(--primary); margin-bottom:16px; }

/* ---------- 18. FOOTER ---------- */
.footer-area{ background:var(--navy) !important; position:relative; }
.footer-area .navbar-brand img{ height:36px; filter:brightness(0) invert(1); }
.footer-area .info-list li a{ color:rgba(255,255,255,.72); font-size:14px; }
.footer-area .info-list li a:hover{ color:var(--primary); }
.footer-area .social-link a{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; margin-right:6px;
}
.footer-area .social-link a:hover{ background:var(--primary); }
.footer-area .newsletter-form .form-control{
  background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.15) !important; color:#fff;
}
.footer-area .newsletter-form .form-control::placeholder{ color:rgba(255,255,255,.5); }
.footer-area .footer-links li a{ color:rgba(255,255,255,.6); font-size:13px; }
.footer-area .footer-links li a:hover{ color:var(--primary); }
.footer-area .copy-right-area{ border-color:rgba(255,255,255,.1) !important; }
.footer-area .copy-right-content, .footer-area .copy-right-content *{ color:rgba(255,255,255,.55) !important; font-size:12.5px; }
.footer-area .go-top{
  background:var(--primary); color:#fff; width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}

/* ---------- 19. Pagination ---------- */
.pagination .page-link{
  border:1.5px solid var(--border); border-radius:var(--radius-btn) !important; color:var(--ink);
  font-family:var(--font-display); font-weight:600; margin:0 3px;
}
.pagination .page-item.active .page-link{ background:var(--primary); border-color:var(--primary); color:#fff; }

/* ---------- 20. tinymce-content overrides (about/custom-page rich text) ---------- */
.tinymce-content{ font-family:var(--font-body); color:var(--ink); line-height:1.8; }
.tinymce-content h1,.tinymce-content h2,.tinymce-content h3,.tinymce-content h4{ font-family:var(--font-display); color:var(--ink); }
.tinymce-content a{ color:var(--primary); }

/* ---------- 21. Preloader (redesigned — branded ring + logo) ---------- */
/* base.css already provides #preLoader's fixed full-screen flex-center
   positioning and the show/hide toggle (vendor script.js, not in this
   upload) — we only restyle its appearance here, and style the new
   .preloader-inner/.preloader-ring wrapper added in layout.blade.php. */
#preLoader{
  background-color:#fff !important;
}
#preLoader .preloader-inner{
  position:relative;
  width:96px; height:96px;
  display:flex; align-items:center; justify-content:center;
}
#preLoader .preloader-ring{
  position:absolute; inset:0;
  border-radius:50%;
  border:3px solid rgba(var(--primary-rgb),.15);
  border-top-color:var(--primary);
  animation:mednix-spin 1s linear infinite;
}
#preLoader img{
  width:52px; height:52px; object-fit:contain;
  animation:mednix-pulse 1.6s ease-in-out infinite;
  border-radius:50%;
}
@keyframes mednix-spin{ to{ transform:rotate(360deg); } }
@keyframes mednix-pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(.9); opacity:.75; } }

/* request-loader-time: inner-pages.css handles the .show toggle and base
   positioning (position:fixed + translate(-50%,-50%) centering) — we only
   add color + a pulse animation that keeps that same translate offset so
   the icon stays centered instead of jumping to the top-left. */
.request-loader-time{
  background-color:rgba(22,35,63,.55) !important;
}
.request-loader-time img{
  width:52px !important;
  filter:brightness(0) invert(1) !important;
  animation:mednix-pulse-centered 1.1s ease-in-out infinite;
}
@keyframes mednix-pulse-centered{
  0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:1; }
  50%{ transform:translate(-50%,-50%) scale(.9); opacity:.75; }
}

/* ---------- 22. Responsive ---------- */
@media (max-width:991px){
  .page-title-area{ padding:56px 0 40px; }
  .sort-area{ padding:14px 18px; }
}
