/* =====================================================================
   Original site ke pages me jo inline <style> blocks the, sab yahan hain
   + Elementor wrappers ko neutral karne wala CSS (design same rahe)
   ===================================================================== */

/* ---------- Elementor wrapper reset (sirf Sharptech widgets ke around) ---------- */
.elementor .e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-stc-"]),
.elementor .e-con:has(> .elementor-widget[class*="elementor-widget-stc-"]) {
    --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px;
    --gap: 0px; --row-gap: 0px; --column-gap: 0px;
    --container-max-width: 100%; --content-width: 100%;
    padding: 0 !important;
}
.elementor .e-con > .e-con-inner:has(> .elementor-widget[class*="elementor-widget-stc-"]) {
    max-width: 100% !important; padding: 0 !important; gap: 0 !important;
}
.elementor .elementor-widget[class*="elementor-widget-stc-"] { width: 100%; margin: 0 !important; }
.elementor .elementor-widget[class*="elementor-widget-stc-"] > .elementor-widget-container { margin: 0; padding: 0; }
.elementor-element[class*="elementor-widget-stc-"]:not(:last-child) { margin-block-end: 0 !important; }
.stc-hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- header.php ---------- */
.navbar-logo { max-height: 86px!important; }
.luxury-floating-sidebar-trigger { position: fixed; top: 50%; right: 0; transform: translateY(-50%) rotate(-90deg); transform-origin: right bottom; z-index: 1040; }
.sidebar-trigger-link { display: flex; align-items: center; background-color: #caa05c; color: #ffffff !important; padding: 10px 22px; font-weight: 600; font-size: 13px; letter-spacing: 1.5px; border-radius: 8px 8px 0 0; box-shadow: -2px -5px 15px rgba(0,0,0,0.15); transition: all 0.3s cubic-bezier(0.16,1,0.3,1); white-space: nowrap; }
.sidebar-trigger-link:hover { background-color: #111519; padding-bottom: 14px; }
.sidebar-trigger-link i { transform: rotate(90deg); display: inline-block; }
#onLoadEnquiryModal.modal.fade .modal-dialog { transform: translate(100%, -50%) !important; transition: transform 0.4s cubic-bezier(0.16,1,0.3,1) !important; }
#onLoadEnquiryModal.modal.show .modal-dialog { transform: translate(0, -50%) !important; }
.modal-backdrop { background-color: transparent !important; display: none !important; }
.premium-onload-modal.modal.fade.show { backdrop-filter: none!important; }
.main-navbar { margin-bottom: -94px!important; background-color: #ffffffb5 !important; border-bottom:none!important; }
@media(max-width:700px){ .main-navbar { margin-bottom: -105px !important; } }
/* WP admin bar ke saath sticky header neeche khiske */
body.admin-bar .main-navbar.sticky-top { top: 32px; }
@media (max-width: 782px) { body.admin-bar .main-navbar.sticky-top { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .main-navbar.sticky-top { top: 0; } }

/* ---------- footer.php ---------- */
.footer-logo-img { max-height: 81px!important; }
.footer-legal-links a { color: #8a94a6; font-size: 13px; font-weight: 500; text-decoration: none; transition: color 0.3s ease; }
.footer-legal-links a:hover { color: #caa05c; }
.footer-legal-dot { color: #4a5568; font-size: 13px; }

/* ---------- Home: hero slider ---------- */
.hero-display-title { font-size: 40px!important; }

/* ---------- Home: services ---------- */
.service-body-content p { font-size:13px!important; }
.service-open-luxury-card:hover { transform: translateY(-6px); box-shadow: 0 10px 25px rgba(11,15,25,0.08) !important; }
.service-zoom-img { transition: transform 0.5s ease; }
.service-open-luxury-card:hover .service-zoom-img { transform: scale(1.06); }
.service-open-luxury-card:hover .action-arrow { transform: translateX(4px); }

/* ---------- Home: clients marquee ---------- */
.client-logo-item { min-width: 180px; max-width: 180px; height: 90px; display: flex; align-items: center; justify-content: center; padding: 10px 20px; flex-shrink: 0; }
.client-brand-img { max-height: 70px; width: auto; max-width: 150px; object-fit: contain; transition: all 0.3s ease; }
.client-brand-img:hover { filter: grayscale(0%); opacity: 1; }
.btn-view-all-clients { background-color: var(--gold-icons); border: 2px solid var(--gold-icons); color: #ffffff !important; padding: 14px 32px; border-radius: 100px; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.btn-view-all-clients:hover { background-color: var(--heading-black); border-color: var(--heading-black); color: #ffffff !important; transform: translateY(-3px); }

/* ---------- Home: contact section (compact variant) ---------- */
.stc-compact .node-link-value, .stc-compact .node-text-value { font-size: 15px!important; }
.stc-compact .contact-node-item { padding: 18px!important; }
.stc-compact .premium-form-input { font-size:13px!important; }
.stc-compact .contact-lead-form-card { padding: 30px!important; }

/* ---------- Our Clients page ---------- */
.client-showcase-card { min-height: 110px; background: #fff; border: 1px solid #eef0f2; border-radius: 14px; padding: 16px; transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.client-showcase-card:hover { border-color: var(--gold-icons); box-shadow: 0 12px 28px rgba(11, 15, 25, 0.08); transform: translateY(-4px); }
.client-showcase-img { max-height: 70px; max-width: 130px; object-fit: contain; transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.client-showcase-card:hover .client-showcase-img { transform: scale(1.06); }
@media (max-width: 575.98px) {
    .client-showcase-card { min-height: 90px; padding: 10px; border-radius: 12px; }
    .client-showcase-img { max-height: 50px; max-width: 100px; }
}

/* ---------- Career page ---------- */
.stc-career-section .premium-form-input { font-size: 13px!important; }
.stc-career-section .math-captcha-box-frame { font-size: 12px!important; }

/* ---------- Blog listing ---------- */
.blog-open-luxury-card { transition: all 0.4s ease !important; }
.blog-open-luxury-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(11,15,25,0.08) !important; }
.blog-zoom-img { transition: transform 0.6s ease; }
.blog-open-luxury-card:hover .blog-zoom-img { transform: scale(1.05); }
.blog-title-link:hover { color: #caa05c !important; }
.blog-open-luxury-card:hover .action-arrow { transform: translateX(4px); }
.luxury-custom-pagination .page-link { background:#f1f5f9; color:#475569; width:44px; height:44px; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:14px; transition:all 0.3s; }
.luxury-custom-pagination .page-item.active .page-link { background:#caa05c !important; color:#fff !important; }
.luxury-custom-pagination .page-link:hover { background:#111519; color:#fff; }
.luxury-custom-pagination .page-item.disabled .page-link { background:#f8fafc; color:#cbd5e1; cursor:not-allowed; }

/* ---------- Blog detail ---------- */
.article-rich-text h1,.article-rich-text h2,.article-rich-text h3,.article-rich-text h4 { color:#0f172a; font-weight:700; margin:28px 0 12px; }
.article-rich-text h2 { font-size:1.5rem; }
.article-rich-text h3 { font-size:1.25rem; }
.article-rich-text h4 { font-size:1.1rem; }
.article-rich-text p { margin-bottom: 16px; color: #374151; }
.article-rich-text ul,.article-rich-text ol { padding-left:24px; margin-bottom:16px; }
.article-rich-text li { margin-bottom:6px; color:#374151; }
.article-rich-text blockquote { border-left:4px solid #caa05c; padding:12px 20px; background:#fffbf2; color:#92400e; border-radius:0 8px 8px 0; margin:20px 0; }
.article-rich-text a { color:#caa05c; }
.article-rich-text img { max-width:100%; height:auto; border-radius:8px; margin:16px 0; }
.article-rich-text table { width:100%; border-collapse:collapse; margin:16px 0; }
.article-rich-text table td,.article-rich-text table th { border:1px solid #e2e8f0; padding:10px 14px; font-size:14px; }
.article-rich-text table th { background:#f8fafc; font-weight:600; }
.sidebar-post-link:hover { color:#caa05c !important; }

/* ---------- Legal pages (privacy / terms / cookie) ---------- */
.legal-content-section { padding: 60px 0 !important; }
@media (max-width: 767.98px) { .legal-content-section { padding: 40px 0 !important; } }
.legal-content-section h2 { font-size: 22px; font-weight: 700; color: #0b0f19; margin-top: 40px; margin-bottom: 16px; }
.legal-content-section h3 { font-size: 18px; font-weight: 700; color: #0b0f19; margin-top: 28px; margin-bottom: 12px; }
.legal-content-section p, .legal-content-section li { color: #4a5568; font-size: 15.5px; line-height: 1.9; }
.legal-content-section ul { padding-left: 20px; margin-bottom: 20px; }
.legal-content-section ul.list-unstyled { padding-left: 0; }
.legal-content-section a { color: #caa05c; font-weight: 600; }
.legal-content-section a:hover { color: #0b0f19; }
.legal-content-section table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; }
.legal-content-section table td, .legal-content-section table th { border: 1px solid #e2e8f0; padding: 10px 14px; font-size: 14.5px; color: #4a5568; }
.legal-content-section table th { background: #f8fafc; color: #0b0f19; font-weight: 600; }

/* ---------- 404 ---------- */
.error-404-code { font-size: 130px; font-weight: 800; line-height: 1; color: #caa05c; text-shadow: 0 10px 40px rgba(202, 160, 92, 0.35); }
@media (max-width: 575.98px) { .error-404-code { font-size: 90px; } }
.btn-404-secondary { background-color: transparent; border: 2px solid rgba(255,255,255,0.4); color: #ffffff !important; padding: 16px 36px !important; border-radius: 100px !important; font-weight: 700 !important; font-size: 14px !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.btn-404-secondary:hover { background-color: #ffffff; border-color: #ffffff; color: #0b0f19 !important; }
.error-404-quicklinks a { color: #caa05c; font-size: 14px; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(202, 160, 92, 0.3); padding-bottom: 2px; transition: all 0.3s ease; }
.error-404-quicklinks a:hover { color: #ffffff; border-color: #ffffff; }

/* ---------- Elementor editor me empty-state hint ---------- */
.stc-editor-note { padding: 30px; text-align: center; background: #f8fafc; border: 2px dashed #caa05c; color: #64748b; font-size: 14px; }
