/*
Theme Name: LCJ Theme
Description: Custom theme for Luxury Classics Jewellery, pixel-matched to the Shopify design.
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css?family=Inter+Tight:300,400,500,600,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Rethink+Sans:300,400,500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@300;400;500;600;700&display=swap');

:root {
  --lcj-gold: #dd8752;
  --lcj-dark: #22201d;
  --lcj-gray-text: #a1a1a0;
  --lcj-border: #eaeae9;
  --lcj-bg: #f4f3f1;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--g-font-2, 'Inter Tight'), sans-serif;
  color: var(--lcj-dark);
  background: #fff;
}

a { color: var(--lcj-gold); }

/* ── RTL / Arabic — mirrors the live LCJ Shopify theme ── */
[dir="rtl"] { font-family: 'Noto Sans Arabic', 'Segoe UI', sans-serif; direction: rtl; }
[dir="rtl"] body { direction: rtl; text-align: right; }
[dir="rtl"] .site-header { direction: rtl; }
[dir="rtl"] .site-header__logo { margin-right: 0; margin-left: auto; }
[dir="rtl"] .site-nav { flex-direction: row-reverse; }
[dir="rtl"] .col-menu { padding-left: 0; padding-right: 40px; }
[dir="rtl"] .header-bottom__right { flex-direction: row-reverse; }
[dir="rtl"] .lcj-mega-inner { direction: rtl; }
[dir="rtl"] .lcj-mega-cats { padding: 44px 80px 44px 60px; }
[dir="rtl"] .lcj-mega-imgs { padding: 28px 32px 28px 80px; }
[dir="rtl"] .lcj-hero-content { margin-left: 0; margin-right: 50px; text-align: right; }
[dir="rtl"] .lcj-product-info, [dir="rtl"] .product-single__meta { text-align: right; direction: rtl; }
[dir="rtl"] .lcj-sidebar { order: 1; }
[dir="rtl"] .lcj-shop-main { order: 0; }
[dir="rtl"] .mini-cart { left: 0; right: auto; }
[dir="rtl"] .parallax-banner__meta { text-align: right; }
[dir="rtl"] input, [dir="rtl"] textarea, [dir="rtl"] select { text-align: right; direction: rtl; }

/* ── Breadcrumb ── */
.lcj-breadcrumb { display: none !important; }
.lcj-product-hero { display: none !important; }
.lcj-bc-inner { max-width: var(--g-container, 1560px); margin: 0 auto; padding: 12px 30px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 12px; color: #a1a1a0; }
.lcj-bc-inner a { color: #4b4b4a; text-decoration: none; transition: color .2s; }
.lcj-bc-inner a:hover { color: #dbaf36; }
.lcj-bc-inner span { color: #22201d; font-weight: 500; }
.lcj-bc-sep { color: #c8c8c7; font-size: 10px; }
[dir="rtl"] .lcj-bc-inner { direction: rtl; }

/* Mobile filter toggle (hidden on desktop) */
.lcj-mobile-filter-btn { display: none; align-items: center; gap: 8px; padding: 10px 16px; background: #22201d; color: #fff; border: none; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; margin-bottom: 16px; width: 100%; justify-content: center; }

/* ── Mobile Responsiveness ── */
@media (max-width: 1199px) {
  /* Hide desktop nav, show hamburger */
  .col-menu { display: none !important; }
  .col-bottom__right .d-none.d-xl-flex { display: none !important; }
  /* Header row: hamburger left, logo center, cart right */
  .row-header { padding: 0 4px; min-height: 64px; }
  /* Push icons closer to screen edges */
  .toggle-menu-mobile button, .toggle-menu-mobile span { padding: 4px 6px !important; }
  .lcj-mob-icons > button, .lcj-mob-icons > a { padding: 6px !important; }
  .col-logo { position: static; transform: none; flex: 1; justify-content: center; }
  .toggle-menu-mobile { flex-shrink: 0; }
  /* Show cart + wishlist icons on mobile top-right */
  .lcj-mobile-icons { display: flex !important; align-items: center; gap: 16px; flex-shrink: 0; }
}

@media (max-width: 768px) {
  /* ── General ── */
  body { font-size: 14px; }

  /* ── Hero ── */
  .lcj-hero-wrap, .lcj-hero { flex-direction: column !important; min-height: auto !important; }
  .lcj-hero-content { padding: 40px 20px 32px !important; max-width: 100% !important; text-align: center !important; margin: 0 !important; }
  .lcj-hero-content h1 { font-size: 30px !important; line-height: 1.2 !important; }
  .lcj-hero-content p, .lcj-hero-content .lcj-sub { font-size: 14px !important; }
  .lcj-hero-img, .lcj-hero-media { width: 100% !important; max-height: 320px; overflow: hidden; }
  .lcj-hero-img img, .lcj-hero-media img { width: 100% !important; height: 320px !important; object-fit: cover !important; }
  .lcj-hero-btns { flex-direction: column !important; gap: 10px !important; align-items: center !important; }
  .lcj-hero-btns a, .lcj-hero-btns button { width: 100%; max-width: 280px; text-align: center; }

  /* ── Section headings / spacing ── */
  .lcj-section { padding: 40px 16px !important; }
  .lcj-section-head { padding: 0 16px 20px !important; }
  .lcj-section-head h2 { font-size: 22px !important; }

  /* ── Product carousel / grid ── */
  .lcj-carousel-wrap { padding: 0 10px !important; }
  .lcj-product-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; overflow: visible !important; }
  .lcj-product-card { width: auto !important; flex: none !important; min-width: 0 !important; }
  .lcj-product-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .lcj-carousel-btn { display: none !important; }
  .lcj-card-body { padding: 8px 4px !important; text-align: center !important; }
  .lcj-card-body h4 { font-size: 12px !important; margin: 4px 0 !important; }
  .lcj-price { font-size: 13px !important; }
  .lcj-add-to-cart { font-size: 10px !important; padding: 8px 12px !important; letter-spacing: 1px !important; }
  /* Card action icons (wishlist/compare/quickview) — always show on mobile */
  .lcj-card-actions { display: flex !important; opacity: 1 !important; transform: translateX(0) !important; pointer-events: auto !important; }
  /* Card overlay (Add to Cart) — always visible on mobile (no hover on touch) */
  .lcj-card-overlay { transform: translateY(0) !important; }
  /* Hide duplicate "View Product" in overlay on mobile; card image is already a link */
  .lcj-card-overlay-btn.qv { display: none !important; }
  /* Smaller action icons on mobile */
  .lcj-action-btn { width: 26px !important; height: 26px !important; }
  .lcj-action-btn svg { width: 11px !important; height: 11px !important; }
  .lcj-card-overlay-btn.cart { padding: 8px 10px !important; font-size: 10px !important; letter-spacing: 1px !important; }

  /* ── Collections banner ── */
  .lcj-collections-grid, .lcj-col-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .lcj-collection-card, .lcj-col-card { min-height: 160px !important; }
  .lcj-col-img { height: 160px !important; }

  /* ── Blog grid ── */
  .lcj-blog-grid { grid-template-columns: 1fr !important; gap: 20px !important; padding: 0 16px !important; }
  .lcj-blog-card { width: auto !important; }
  .lcj-blog-img { height: 200px !important; overflow: hidden; }
  .lcj-blog-img img { width: 100% !important; height: 200px !important; object-fit: cover !important; }

  /* ── Parallax / banners ── */
  .parallax-banner, .lcj-parallax { min-height: 240px !important; padding: 40px 20px !important; }
  .parallax-banner h2, .lcj-parallax h2 { font-size: 24px !important; }

  /* ── Testimonials ── */
  .lcj-testimonials-wrap, .lcj-testimonial-slide { padding: 20px 16px !important; }

  /* ── Shop layout ── */
  .lcj-shop-layout { flex-direction: column !important; }
  .lcj-shop-sidebar { display: none !important; }
  .lcj-shop-sidebar.active { display: block !important; width: 100% !important; position: static !important; }
  .lcj-mobile-filter-btn { display: flex !important; }
  .lcj-shop-grid { grid-template-columns: repeat(2,1fr) !important; gap: 12px !important; }

  /* ── Single product page ── */
  .lcj-product-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .lcj-product-info { padding: 0 16px !important; }
  .lcj-gallery-main { max-height: 300px !important; }
  .lcj-thumbs { flex-direction: row !important; overflow-x: auto; gap: 8px !important; }
  .lcj-thumb { width: 56px !important; height: 56px !important; flex-shrink: 0; }
  .lcj-qty-atc { flex-direction: column !important; gap: 10px !important; }
  .lcj-qty-box { width: 100% !important; }
  .lcj-atc-btn { width: 100% !important; justify-content: center; }
  #lcj-sticky-atc { padding: 10px 14px !important; gap: 10px !important; }
  #lcj-sticky-atc img { width: 36px !important; height: 36px !important; }

  /* ── Related / Recently Viewed ── */
  .lcj-related-grid, #lcj-rv-grid { grid-template-columns: repeat(2,1fr) !important; gap: 12px !important; }
  #lcj-fbt-wrap { flex-direction: column !important; }

  /* ── Cart ── */
  .lcj-cart-row { grid-template-columns: 1fr !important; gap: 16px !important; }
  .lcj-cart-summary { width: 100% !important; }
  #lcj-cart-drawer { width: 100% !important; max-width: 100vw !important; }

  /* ── Account ── */
  .lcj-account-grid { grid-template-columns: 1fr !important; }

  /* ── Compare ── */
  .lcj-compare-table th:nth-child(n+4), .lcj-compare-table td:nth-child(n+4) { display: none; }
  .lcj-compare-tab { display: none !important; }

  /* ── Footer ── */
  .site-footer, .lcj-footer { padding: 40px 16px 24px !important; }
  .lcj-footer-grid, .footer-grid, .site-footer .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .site-footer .footer-grid { grid-template-columns: 1fr 1fr !important; }
  .lcj-footer-logo img { height: 48px !important; }
  .lcj-newsletter-form { flex-direction: row !important; border-radius: 8px !important; overflow: hidden !important; }
  .lcj-newsletter-form input { flex: 1 !important; width: auto !important; border-radius: 0 !important; margin-bottom: 0 !important; }
  .lcj-newsletter-form button { width: auto !important; border-radius: 0 !important; padding: 0 18px !important; white-space: nowrap !important; }

  /* ── Misc ── */
  .lcj-bc-inner { padding: 10px 16px !important; }
  .lcj-page-body { padding: 32px 16px 60px !important; }
  .lcj-page-hero { padding: 28px 16px !important; }
  .lcj-page-hero h1 { font-size: 24px !important; }
  .full { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ══════════════════════════════════════════════════════════════════
   GLOBAL: Hide all plugin-generated compare/wishlist/floating widgets
   ══════════════════════════════════════════════════════════════════ */
/* WooSC (WooCommerce Smart Compare) floating bar */
.woosc-bar, .woosc-area, .woosc-sidebar, #woosc-area, #woosc-bar,
[class*="woosc-"], [id*="woosc-"],
/* YITH Compare */
.yith-woocompare-widget, #yith-woocompare-widget,
.yith_woocompare_list, .yith-woocompare-button,
/* Generic plugin compare floats */
.compare-button.woocompare, .products-compare-link,
.woocommerce-compare-bar, .compare-list,
/* WooCommerce Smartcompare / WOOF / other floating sidebars */
.xoo-wsc-modal, .floating-compare-btn,
/* Any fixed right-side compare widget */
[class*="compare"][style*="position: fixed"],
[class*="compare"][style*="position:fixed"] { display: none !important; }

/* ── Global card alignment consistency (all templates) ── */
/* Product card: always same structure */
.lcj-product-card { display: flex !important; flex-direction: column !important; }
/* Image wrapper always square */
.lcj-product-img-wr, .lcj-product-img { position: relative; }
/* Card info always sits below image */
.lcj-card-info, .lcj-card-body { flex: 1; }

@media (max-width: 480px) {
  .lcj-hero-content h1 { font-size: 24px !important; }
  .lcj-product-grid { grid-template-columns: repeat(2,1fr) !important; }
  .lcj-product-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .lcj-collections-grid, .lcj-col-grid { grid-template-columns: repeat(2,1fr) !important; }
  .site-footer .footer-grid { grid-template-columns: 1fr !important; }
  .lcj-section-head h2 { font-size: 18px !important; }
}
