/* ============================================================================
   Candy Kosher — Refonte design inspirée de 21st.dev
   Feuille de style custom chargée APRÈS theme.css (gagne la cascade).
   Palette bonbon premium : rose→violet, accent menthe (cacherout).
   ============================================================================ */

:root {
  --ck-ink:        #150f27;
  --ck-ink-soft:   #4b4363;
  --ck-muted:      #8a83a3;
  --ck-bg:         #fbfaff;
  --ck-bg-2:       #f4f1ff;
  --ck-white:      #ffffff;
  --ck-line:       rgba(21, 15, 39, 0.08);
  --ck-line-2:     rgba(21, 15, 39, 0.14);

  --ck-pink:       #ff4f9a;
  --ck-violet:     #7b5cff;
  --ck-indigo:     #5b3df5;
  --ck-mint:       #12c8a5;
  --ck-amber:      #ffb020;

  --ck-grad:       linear-gradient(120deg, #ff4f9a 0%, #7b5cff 55%, #5b3df5 100%);
  --ck-grad-soft:  linear-gradient(120deg, rgba(255,79,154,.14), rgba(123,92,255,.14));
  --ck-grad-mint:  linear-gradient(120deg, #12c8a5, #12a5c8);

  --ck-shadow-sm:  0 1px 2px rgba(21,15,39,.06), 0 2px 8px rgba(21,15,39,.05);
  --ck-shadow-md:  0 10px 30px -12px rgba(91,61,245,.28), 0 6px 16px -10px rgba(21,15,39,.18);
  --ck-shadow-lg:  0 30px 60px -20px rgba(91,61,245,.40), 0 12px 28px -16px rgba(21,15,39,.22);

  --ck-r-sm: 12px;
  --ck-r:    18px;
  --ck-r-lg: 26px;
  --ck-r-pill: 999px;

  --ck-font: "Heebo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ck-display: "Fredoka", "Heebo", system-ui, sans-serif;

  --ck-container: 1240px;
}

/* ------------------------------- Base ------------------------------------ */
html { scroll-behavior: smooth; }
body {
  font-family: var(--ck-font);
  color: var(--ck-ink);
  background:
    radial-gradient(1100px 620px at 8% -8%, rgba(255,79,154,.10), transparent 60%),
    radial-gradient(1000px 640px at 100% 0%, rgba(123,92,255,.12), transparent 55%),
    var(--ck-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  letter-spacing: .1px;
}
#wrapper { background: transparent; }
.container { max-width: var(--ck-container); }

h1,h2,h3,h4,.h1,.h2,.h3,.h4 { font-family: var(--ck-display); color: var(--ck-ink); font-weight: 600; letter-spacing: -.02em; }
a { color: var(--ck-indigo); transition: color .18s ease; }
a:hover { color: var(--ck-pink); text-decoration: none; }

/* utility gradient text */
.ck-gradtext {
  background: var(--ck-grad);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

/* --------------------------- Buttons ------------------------------------- */
.btn-primary,
.btn-primary:visited {
  background-image: var(--ck-grad);
  background-color: var(--ck-violet);
  border: 0;
  border-radius: var(--ck-r-pill);
  padding: .72rem 1.5rem;
  font-weight: 700;
  letter-spacing: .2px;
  box-shadow: var(--ck-shadow-md);
  transition: transform .18s cubic-bezier(.2,.8,.2,1), box-shadow .18s ease, filter .18s ease;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-image: var(--ck-grad);
  transform: translateY(-2px);
  box-shadow: var(--ck-shadow-lg);
  filter: saturate(1.08);
}
.btn-secondary, .btn-outline-secondary, .btn-tertiary {
  border-radius: var(--ck-r-pill);
  border: 1px solid var(--ck-line-2);
  background: var(--ck-white);
  color: var(--ck-ink);
  font-weight: 600;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.btn-secondary:hover, .btn-outline-secondary:hover, .btn-tertiary:hover {
  transform: translateY(-2px);
  box-shadow: var(--ck-shadow-sm);
  border-color: var(--ck-violet);
  color: var(--ck-indigo);
}

/* --------------------------- Header -------------------------------------- */
.header-banner { background: var(--ck-grad); }
.header-banner .banner { color:#fff; }

#header {
  background: rgba(255,255,255,.72);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--ck-line);
  box-shadow: 0 6px 24px -18px rgba(21,15,39,.5);
}
#header .header-nav {
  border-bottom: 1px solid var(--ck-line);
  min-height: 44px;
  font-size: .86rem;
}
#header .header-top { padding-top: 1rem; padding-bottom: 1rem; }
#header a { color: var(--ck-ink-soft); }
#header a:hover { color: var(--ck-pink); }
#_desktop_logo img, .logo { max-height: 64px; width:auto; filter: drop-shadow(0 6px 14px rgba(91,61,245,.18)); }

/* Search box */
#search_widget form, .ps-search-widget form { position: relative; }
#search_widget input[type=text], .ui-autocomplete-input {
  border-radius: var(--ck-r-pill) !important;
  border: 1px solid var(--ck-line-2) !important;
  background: var(--ck-white);
  padding-left: 1.1rem;
  box-shadow: var(--ck-shadow-sm);
}
#search_widget button[type=submit] { color: var(--ck-violet); }

/* Cart / user pills */
.blockcart, .blockcart.active { background: transparent !important; }
.blockcart .header { color: var(--ck-ink); }
.header-top .cart-preview .header { }
#_desktop_cart .cart-products-count {
  background: var(--ck-grad);
  color:#fff; border-radius: var(--ck-r-pill);
  padding: 0 .5rem; font-weight:700;
}

/* Main menu */
.header-top { position: relative; }
#_desktop_top_menu .top-menu a.dropdown-item,
.menu-top a, #top-menu a {
  font-weight: 600; color: var(--ck-ink);
}
.menu-top a:hover, #top-menu a:hover { color: var(--ck-pink); }
#_desktop_top_menu .sub-menu, .popover.bootstrap.sub-menu {
  border: 1px solid var(--ck-line);
  border-radius: var(--ck-r);
  box-shadow: var(--ck-shadow-md);
  overflow: hidden;
}

/* --------------------------- HERO (home) --------------------------------- */
.ck-hero {
  position: relative;
  margin: 0 0 3rem;
  padding: clamp(3rem, 6vw, 6rem) 0 clamp(4rem, 7vw, 7rem);
  border-radius: 0 0 var(--ck-r-lg) var(--ck-r-lg);
  overflow: hidden;
  background:
    radial-gradient(900px 500px at 12% 10%, rgba(255,79,154,.55), transparent 60%),
    radial-gradient(900px 520px at 88% 0%, rgba(123,92,255,.6), transparent 55%),
    linear-gradient(160deg, #1b1140 0%, #2a1466 45%, #3a1f8f 100%);
  color: #fff;
  isolation: isolate;
}
.ck-hero::after {
  content:""; position:absolute; inset:0; z-index:-1;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(18,200,165,.35), transparent 40%),
    radial-gradient(circle at 78% 70%, rgba(255,176,32,.30), transparent 42%);
  mix-blend-mode: screen;
}
.ck-hero .container { position: relative; }
.ck-hero__badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  color:#fff; font-weight:600; font-size:.82rem;
  padding:.4rem .9rem; border-radius: var(--ck-r-pill);
  margin-bottom: 1.4rem;
}
.ck-hero__badge .dot { width:8px;height:8px;border-radius:50%;background:var(--ck-mint); box-shadow:0 0 0 4px rgba(18,200,165,.25); }
.ck-hero h1 {
  color:#fff;
  font-size: clamp(2.3rem, 5.4vw, 4.4rem);
  line-height: 1.02;
  margin: 0 0 1.1rem;
  max-width: 15ch;
}
.ck-hero h1 .grad {
  background: linear-gradient(90deg,#ffd1e6,#c9b8ff,#a5ffe6);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.ck-hero p.lead {
  color: rgba(255,255,255,.86);
  font-size: clamp(1.02rem, 1.5vw, 1.28rem);
  max-width: 52ch; margin: 0 0 2rem; line-height:1.6;
}
.ck-hero__cta { display:flex; flex-wrap:wrap; gap:.9rem; align-items:center; }
.ck-hero__cta .btn { padding:.9rem 1.8rem; font-size:1.02rem; }
.ck-btn-light {
  background:#fff; color:var(--ck-indigo)!important; border-radius:var(--ck-r-pill);
  font-weight:800; box-shadow: var(--ck-shadow-lg); border:0;
}
.ck-btn-light:hover { transform:translateY(-2px); color:var(--ck-pink)!important; }
.ck-btn-ghost {
  background: rgba(255,255,255,.10); color:#fff!important; border:1px solid rgba(255,255,255,.35);
  border-radius:var(--ck-r-pill); font-weight:700; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.ck-btn-ghost:hover { background: rgba(255,255,255,.2); transform:translateY(-2px); }

.ck-hero__trust {
  display:flex; flex-wrap:wrap; gap:1.6rem; margin-top:2.4rem;
  color:rgba(255,255,255,.9); font-weight:600; font-size:.92rem;
}
.ck-hero__trust span { display:inline-flex; align-items:center; gap:.5rem; }
.ck-hero__trust .material-icons { color: var(--ck-mint); font-size:1.2rem; }

/* floating candy blobs */
.ck-blob { position:absolute; border-radius:50%; filter: blur(2px); opacity:.9; z-index:-1; animation: ckfloat 9s ease-in-out infinite; }
.ck-blob.b1 { width:120px;height:120px; right:6%; top:18%; background:radial-gradient(circle at 30% 30%,#ff8fc0,#ff4f9a); }
.ck-blob.b2 { width:70px;height:70px; right:22%; top:56%; background:radial-gradient(circle at 30% 30%,#ffe08a,#ffb020); animation-delay:1.2s;}
.ck-blob.b3 { width:90px;height:90px; right:38%; top:12%; background:radial-gradient(circle at 30% 30%,#8affd8,#12c8a5); animation-delay:.6s;}
@keyframes ckfloat { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-18px) rotate(8deg)} }
@media (max-width: 991px){ .ck-blob{ display:none; } }

/* trust bar strip under hero */
.ck-strip {
  display:grid; grid-template-columns: repeat(4,1fr); gap:1rem;
  max-width: var(--ck-container); margin: -2.6rem auto 3rem; padding: 0 1rem; position:relative; z-index:3;
}
.ck-strip .item {
  background: var(--ck-white); border:1px solid var(--ck-line);
  border-radius: var(--ck-r); padding:1.1rem 1.2rem; box-shadow: var(--ck-shadow-sm);
  display:flex; gap:.8rem; align-items:center;
}
.ck-strip .item .ic {
  width:44px;height:44px;flex:0 0 44px;border-radius:14px; display:grid;place-items:center;
  background: var(--ck-grad-soft); color:var(--ck-indigo);
}
.ck-strip .item .ic .material-icons { font-size:1.5rem; }
.ck-strip .item b { display:block; font-family:var(--ck-display); font-size:1rem; }
.ck-strip .item small { color: var(--ck-muted); }
@media (max-width: 991px){ .ck-strip{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 575px){ .ck-strip{ grid-template-columns: 1fr;} }

/* --------------------------- Section titles ------------------------------ */
.featured-products .h2, .products-section-title, h2.products-section-title,
.page-home h2, .block .title_block {
  font-family: var(--ck-display);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  text-align: center;
  margin: 2.6rem 0 1.8rem;
  position: relative;
  border: 0;
}
.products-section-title::after, .page-home h2::after {
  content:""; display:block; width:64px;height:4px;border-radius:4px;
  background: var(--ck-grad); margin:.7rem auto 0;
}

/* --------------------------- Product cards ------------------------------- */
.product-miniature .thumbnail-container {
  background: var(--ck-white);
  border: 1px solid var(--ck-line);
  border-radius: var(--ck-r);
  box-shadow: var(--ck-shadow-sm);
  overflow: hidden;
  transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, border-color .22s ease;
  height: 100%;
  width: auto;
}
.product-miniature:hover .thumbnail-container {
  transform: translateY(-6px);
  box-shadow: var(--ck-shadow-lg);
  border-color: rgba(123,92,255,.35);
}
.product-miniature .thumbnail-top { position:relative; background: var(--ck-bg-2); }
.product-miniature img { border-radius: 0; transition: transform .35s ease; width:100%; height:auto; }
.product-miniature:hover img { transform: scale(1.05); }
.product-miniature .product-description {
  padding: 1rem 1.1rem 1.2rem; border-top: 0;
}
.product-miniature .product-title a { color: var(--ck-ink); font-weight:600; }
.product-miniature .product-title a:hover { color: var(--ck-pink); }
.product-miniature .product-price-and-shipping { margin-top: .3rem; }
.product-miniature .price { color: var(--ck-indigo); font-weight: 800; font-size: 1.18rem; font-family: var(--ck-display); }
.product-miniature .regular-price { color: var(--ck-muted); }

/* flags / badges */
.product-flags .product-flag {
  border-radius: var(--ck-r-pill);
  font-weight: 700; letter-spacing:.3px; font-size:.72rem;
  padding:.3rem .7rem; box-shadow: var(--ck-shadow-sm); border:0;
}
.product-flag.new { background: var(--ck-grad-mint); color:#fff; }
.product-flag.discount, .product-flag.on-sale { background: var(--ck-grad); color:#fff; }
.product-flag.pack { background: var(--ck-amber); color:#3a2600; }

/* quick view / highlighted */
.highlighted-informations { border-radius: 0 0 var(--ck-r) var(--ck-r); }
.quick-view { color: var(--ck-indigo); font-weight:600; }

/* --------------------------- Product page -------------------------------- */
.product-prices .current-price .price, .current-price span[itemprop=price], .product-price {
  color: var(--ck-indigo); font-family: var(--ck-display); font-weight:800;
}
.product-add-to-cart .add-to-cart { border-radius: var(--ck-r-pill); }
.page-product .images-container .product-cover img { border-radius: var(--ck-r); box-shadow: var(--ck-shadow-md); }
.product-information, .tabs, .card { border-radius: var(--ck-r); }
.tabs .nav-tabs .nav-link.active { color: var(--ck-indigo); border-color: var(--ck-violet); }
.product-quantity .qty .input-group { border-radius: var(--ck-r-pill); overflow:hidden; }

/* --------------------------- Cards / blocks ------------------------------ */
.card, .block-categories, #search_filters, .page-content.card, .cart-grid-body .card,
.cart-summary, .checkout .card {
  border: 1px solid var(--ck-line);
  border-radius: var(--ck-r);
  box-shadow: var(--ck-shadow-sm);
}
.block-categories a.category-name:hover { color: var(--ck-pink); }

/* pagination */
.pagination .page-item.active .page-link,
.pagination .current a { background: var(--ck-grad); border:0; color:#fff; border-radius: var(--ck-r-pill); }
.pagination .page-link { border-radius: var(--ck-r-pill); border-color: var(--ck-line-2); color: var(--ck-ink); }

/* --------------------------- Footer -------------------------------------- */
.footer-container {
  margin-top: 3.5rem;
  background:
    radial-gradient(700px 300px at 10% 0%, rgba(255,79,154,.10), transparent 60%),
    radial-gradient(700px 300px at 90% 0%, rgba(123,92,255,.14), transparent 60%),
    #150f27;
  color: rgba(255,255,255,.78);
  border-top: 0;
  border-radius: var(--ck-r-lg) var(--ck-r-lg) 0 0;
  padding-top: 3rem;
  box-shadow: none;
}
.footer-container h3, .footer-container .h3 { color:#fff; }
.footer-container a { color: rgba(255,255,255,.72); }
.footer-container a:hover { color:#fff; }
.footer-container li a::before { color: var(--ck-pink); }
.footer-container .links .title { border:0; }
.footer-container hr { border-color: rgba(255,255,255,.12); }
#footer .copyright, .footer-container .text-sm-center { color: rgba(255,255,255,.55); font-size:.85rem; }

/* newsletter block if present */
.block_newsletter, .ps-emailsubscription-block {
  background: var(--ck-grad-soft) !important;
  border: 1px solid var(--ck-line);
  border-radius: var(--ck-r-lg);
  padding: 1.6rem !important;
}
.block_newsletter input[type=email] { border-radius: var(--ck-r-pill); border:1px solid var(--ck-line-2); }
.block_newsletter .btn { border-radius: var(--ck-r-pill); }

/* --------------------------- Misc ---------------------------------------- */
.breadcrumb { background: transparent; }
.breadcrumb a { color: var(--ck-muted); }
::selection { background: rgba(255,79,154,.25); }

/* Reassurance icons color */
.material-icons { vertical-align: middle; }

/* RTL (Hebrew) minor fixes */
[dir="rtl"] .ck-hero h1, [dir="rtl"] .ck-hero p.lead { max-width:none; }
[dir="rtl"] .products-section-title::after { margin-left:auto; margin-right:auto; }

/* scrollbar flourish */
@media (min-width: 992px){
  ::-webkit-scrollbar { width: 12px; }
  ::-webkit-scrollbar-thumb { background: linear-gradient(#7b5cff,#ff4f9a); border-radius: 999px; border:3px solid var(--ck-bg); }
  ::-webkit-scrollbar-track { background: var(--ck-bg); }
}
