.elementor-1571 .elementor-element.elementor-element-61009db{--display:flex;}.elementor-1571 .elementor-element.elementor-element-61009db.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1571 .elementor-element.elementor-element-c1a965e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1571 .elementor-element.elementor-element-85c4c14{--display:flex;}.elementor-1571 .elementor-element.elementor-element-4450f9f{--display:flex;}@media(min-width:768px){.elementor-1571 .elementor-element.elementor-element-61009db{--content-width:1310px;}.elementor-1571 .elementor-element.elementor-element-c1a965e{--content-width:1310px;}.elementor-1571 .elementor-element.elementor-element-4450f9f{--content-width:1310px;}}/* Start custom CSS for container, class: .elementor-element-61009db */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800;900&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&display=swap');

/* ════════════════════════════════════════════════════════════
   FULL PAGE — GRADIENT BACKGROUND
   ════════════════════════════════════════════════════════════ */

/* Apply the gradient to the entire body/page wrapper */
body {
  background: linear-gradient(to bottom, #0A0A0A 0%, #0C1B34 100%) !important;
  background-attachment: fixed !important; /* Keeps gradient smooth during scrolling */
  min-height: 100vh;
  margin: 0;
}

.elementor-1571 .elementor-element.elementor-element-61009db {
  position: relative;
  min-height: 300px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding: 0 48px 50px;
  background: transparent !important; /* Made transparent to let the body gradient show through */
}

.elementor-1571 .elementor-element.elementor-element-61009db .e-con-inner {
  position: relative; z-index: 3; width: 100%;
  display: flex; flex-direction: column; align-items: flex-start;
}
.elementor-1571 .elementor-element.elementor-element-61009db .elementor-heading-title      { display: none !important; }
.elementor-1571 .elementor-element.elementor-element-61009db .elementor-widget-text-editor { display: none !important; }


/* ════════════════════════════════════════════════════════════
   CATALOG WRAPPER
   ════════════════════════════════════════════════════════════ */

.alpc-frontend {
  font-family: 'Source Sans 3', system-ui, sans-serif;
  color: #1a1f3c;
  width: 100%;
  overflow: visible !important;
  background: transparent !important; /* Made transparent to let the body gradient show through */
  margin-top: -100px;
  position: relative;
  z-index: 10;
  padding-bottom: 60px;
}
.alpc-frontend, .alpc-frontend * { box-sizing: border-box; }

/* Force Elementor wrappers transparent */
.elementor-widget-html,
.elementor-widget-container {
  background: transparent !important;
  background-color: transparent !important;
}


/* ════════════════════════════════════════════════════════════
   TOOLBAR — transparent (inline, at top of catalog)
   ════════════════════════════════════════════════════════════ */

.alpc-front-toolbar {
  background: transparent !important;
  border: none !important;
  border-radius: 16px !important;
  padding: 14px 20px !important;
  margin-bottom: 28px;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  box-shadow: none !important;
  transition: border-radius 0.28s ease, box-shadow 0.28s ease;
}


/* ════════════════════════════════════════════════════════════
   FLOATING BOTTOM BAR — appears when toolbar scrolls out of view
   ════════════════════════════════════════════════════════════ */

.alpc-float-bar {
  position: fixed;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 48px);
  max-width: 960px;
  z-index: 99999;

  background: #0c1b34 !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 18px !important;
  padding: 12px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;

  box-shadow:
    0 8px 32px rgba(12,27,52,0.32),
    0 2px 8px  rgba(12,27,52,0.20),
    0 0 0 1px rgba(241,147,37,0.12) !important;

  transition:
    bottom 0.38s cubic-bezier(0.34,1.36,0.64,1),
    opacity 0.28s ease;
  opacity: 0;
  pointer-events: none;
}

.alpc-float-bar.visible {
  bottom: 28px;
  opacity: 1;
  pointer-events: auto;
}

/* Dark-theme search inside float bar */
.alpc-float-bar .alpc-front-search-wrap {
  flex: 1; min-width: 160px; max-width: 260px;
}
.alpc-float-bar .alpc-front-search-wrap svg {
  color: #7a8bb5;
}
.alpc-float-bar .alpc-front-search {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: #ffffff !important;
}
.alpc-float-bar .alpc-front-search::placeholder {
  color: rgba(255,255,255,0.35) !important;
}
.alpc-float-bar .alpc-front-search:focus {
  background: rgba(255,255,255,0.13) !important;
  border-color: #f19325 !important;
  box-shadow: 0 0 0 3px rgba(241,147,37,0.18) !important;
}

/* Dark-theme pills inside float bar */
.alpc-float-bar .alpc-front-cat {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.14) !important;
  color: rgba(255,255,255,0.70) !important;
}
.alpc-float-bar .alpc-front-cat:hover {
  background: rgba(255,255,255,0.16) !important;
  border-color: rgba(255,255,255,0.35) !important;
  color: #ffffff !important;
}
.alpc-float-bar .alpc-front-cat.active {
  background: #f19325 !important;
  border-color: #f19325 !important;
  color: #fff !important;
}

/* Dark-theme count pill inside float bar */
.alpc-float-bar .alpc-front-count {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.50) !important;
}

/* Small "scroll up" nudge icon at the left of float bar */
.alpc-float-bar-up {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  background: rgba(241,147,37,0.18);
  border-radius: 50%;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.22s;
  border: 1px solid rgba(241,147,37,0.28);
}
.alpc-float-bar-up svg {
  width: 14px; height: 14px;
  stroke: #f19325; fill: none;
  stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
}
.alpc-float-bar-up:hover {
  background: rgba(241,147,37,0.30);
  transform: translateY(-2px);
}


/* ════════════════════════════════════════════════════════════
   SHARED SEARCH / PILLS / COUNT STYLES
   ════════════════════════════════════════════════════════════ */

/* Search */
.alpc-front-search-wrap {
  position: relative;
  flex: 1; min-width: 200px; max-width: 380px;
}
.alpc-front-search-wrap svg {
  position: absolute; left: 16px; top: 50%;
  transform: translateY(-50%);
  width: 16px; height: 16px; 
  color: rgba(255, 255, 255, 0.50); 
  pointer-events: none;
  z-index: 2; /* Ensures the icon stays above the background */
}
.alpc-front-search {
  width: 100%;
  padding: 13px 20px 13px 44px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important; 
  border-radius: 50px !important; /* !important forces the rounded pill shape */
  font-size: 14px;
  font-family: 'Source Sans 3', sans-serif;
  outline: none !important;
  background: rgba(0, 0, 0, 0.40) !important; 
  color: #ffffff !important; 
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  
  /* These two lines strip away stubborn default browser/theme styling */
  -webkit-appearance: none !important; 
  appearance: none !important; 
  
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.alpc-front-search::placeholder { 
  color: rgba(255, 255, 255, 0.40) !important; 
}
.alpc-front-search:focus {
  background: rgba(0, 0, 0, 0.60) !important;
  border-color: #f19325 !important;
  box-shadow: 0 0 0 3px rgba(241, 147, 37, 0.25) !important;
}


/* ════════════════════════════════════════════════════════════
   SHARED SEARCH / PILLS / COUNT STYLES
   ════════════════════════════════════════════════════════════ */

/* Search */
.alpc-front-search-wrap {
  position: relative;
  flex: 1; min-width: 200px; max-width: 380px;
}
.alpc-front-search-wrap svg {
  position: absolute; left: 16px; top: 50%;
  transform: translateY(-50%);
  width: 16px; height: 16px; 
  color: rgba(255, 255, 255, 0.50); 
  pointer-events: none;
  z-index: 2; /* Ensures the icon stays above the background */
}
.alpc-front-search {
  width: 100%;
  padding: 13px 20px 13px 44px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important; 
  border-radius: 50px !important; /* !important forces the rounded pill shape */
  font-size: 14px;
  font-family: 'Source Sans 3', sans-serif;
  outline: none !important;
  background: rgba(0, 0, 0, 0.40) !important; 
  color: #ffffff !important; 
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  
  /* These two lines strip away stubborn default browser/theme styling */
  -webkit-appearance: none !important; 
  appearance: none !important; 
  
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.alpc-front-search::placeholder { 
  color: rgba(255, 255, 255, 0.40) !important; 
}
.alpc-front-search:focus {
  background: rgba(0, 0, 0, 0.60) !important;
  border-color: #f19325 !important;
  box-shadow: 0 0 0 3px rgba(241, 147, 37, 0.25) !important;
}

/* Pills */

.alpc-front-cats { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

.alpc-front-cat {

  padding: 8px 20px;

  border-radius: 50px;

  border: 1px solid rgba(255, 255, 255, 0.15); /* Subtle border */

  background: rgba(255, 255, 255, 0.05); /* Faint light fill */

  font-size: 13px; font-weight: 600;

  font-family: 'Source Sans 3', sans-serif;

  color: rgba(255, 255, 255, 0.70); /* Light gray text */

  cursor: pointer; white-space: nowrap;

  backdrop-filter: blur(6px);

  -webkit-backdrop-filter: blur(6px);

  transition: all 0.18s ease; letter-spacing: 0.02em;

}

.alpc-front-cat:hover {

  background: rgba(255, 255, 255, 0.12); /* Slightly brighter on hover */

  border-color: rgba(255, 255, 255, 0.40);

  color: #ffffff; /* Pure white text on hover */

  transform: translateY(-1px);

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.20);

}

.alpc-front-cat.active {

  background: #f19325; 

  border-color: #f19325;

  color: #fff; font-weight: 700;

  box-shadow: 0 3px 12px rgba(241, 147, 37, 0.40);

}



/* Count */

.alpc-front-count {

  margin-left: auto;

  font-size: 12px; 

  color: rgba(255, 255, 255, 0.60); /* Light gray text */

  white-space: nowrap; font-weight: 500;

  font-family: 'Source Sans 3', sans-serif;

  background: rgba(255, 255, 255, 0.05); /* Matches inactive pills */

  border: 1px solid rgba(255, 255, 255, 0.15); /* Matches inactive pills */

  padding: 5px 14px; border-radius: 50px;

  backdrop-filter: blur(6px);

  -webkit-backdrop-filter: blur(6px);

}



/* ════════════════════════════════════════════════════════════
   GRID
   ════════════════════════════════════════════════════════════ */

.alpc-front-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 22px;
  min-height: 10px;
  width: 100%;
  overflow: visible !important;
}


/* ════════════════════════════════════════════════════════════
   COURSE CARD
   ════════════════════════════════════════════════════════════ */

.alpc-front-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid rgba(228,232,240,0.85);
  overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow:
    0 1px 3px rgba(12,27,52,0.04),
    0 4px 14px rgba(12,27,52,0.06),
    0 10px 28px rgba(12,27,52,0.04);
  transition:
    transform    0.32s cubic-bezier(0.34,1.36,0.64,1),
    box-shadow   0.32s ease,
    border-color 0.22s ease;
  animation: alpcCardIn 0.38s ease both;
  position: relative; cursor: pointer;
}
.alpc-front-card:hover {
  transform: translateY(-7px) scale(1.009);
  border-color: rgba(12,27,52,0.09);
  box-shadow:
    0 2px 8px  rgba(12,27,52,0.06),
    0 16px 44px rgba(12,27,52,0.12),
    0 32px 60px rgba(12,27,52,0.05);
}
.alpc-front-card::before {
  content: '';
  position: absolute; top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, #7a0202 0%, #f19325 55%, #fbbf24 100%);
  border-radius: 16px 16px 0 0;
  opacity:0; transform:scaleX(0); transform-origin:left;
  transition: opacity 0.30s, transform 0.42s cubic-bezier(0.34,1.56,0.64,1);
  z-index: 4;
}
.alpc-front-card:hover::before { opacity:1; transform:scaleX(1); }

@keyframes alpcCardIn {
  from { opacity:0; transform:translateY(14px); }
  to   { opacity:1; transform:translateY(0); }
}
.alpc-front-card:nth-child(1)  { animation-delay:0.00s }
.alpc-front-card:nth-child(2)  { animation-delay:0.05s }
.alpc-front-card:nth-child(3)  { animation-delay:0.09s }
.alpc-front-card:nth-child(4)  { animation-delay:0.13s }
.alpc-front-card:nth-child(5)  { animation-delay:0.17s }
.alpc-front-card:nth-child(6)  { animation-delay:0.21s }
.alpc-front-card:nth-child(7)  { animation-delay:0.25s }
.alpc-front-card:nth-child(8)  { animation-delay:0.29s }

/* Thumbnail */
.alpc-front-thumb {
  width:100%; height:172px;
  overflow:hidden; background:#e8eaf2;
  position:relative; flex-shrink:0;
}
.alpc-front-thumb img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition: transform 0.50s cubic-bezier(0.25,0.46,0.45,0.94), filter 0.40s ease;
  filter: brightness(0.96) saturate(0.92);
}
.alpc-front-card:hover .alpc-front-thumb img {
  transform: scale(1.07);
  filter: brightness(1.04) saturate(1.10);
}
.alpc-front-thumb::after {
  content:'';
  position:absolute; bottom:0; left:0; right:0; height:65%;
  background: linear-gradient(to top, rgba(10,20,48,0.60) 0%, rgba(10,20,48,0) 100%);
  pointer-events:none; z-index:1; transition: opacity 0.35s;
}
.alpc-front-card:hover .alpc-front-thumb::after { opacity:0.75; }
.alpc-front-no-thumb {
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, #0c1b34 0%, #1a3060 50%, #0f1d40 100%);
}
.alpc-front-no-thumb svg { width:40px; height:40px; opacity:0.18; color:#fff; }
.alpc-front-cat-badge {
  position:absolute; top:12px; left:12px; z-index:3;
  background:rgba(12,27,52,0.75); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  color:#f19325; font-family:'Source Sans 3',sans-serif;
  font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  padding:4px 10px; border-radius:50px; pointer-events:none;
}

/* Card body */
.alpc-front-body {
  padding: 18px 18px 12px; flex:1;
  display:flex; flex-direction:column; gap:7px; background:#ffffff;
}
.alpc-front-title {
  font-family:'Poppins',sans-serif;
  font-size:14.5px; font-weight:700;
  color:#0c1b34 !important;
  line-height:1.38; letter-spacing:-0.01em;
  transition: color 0.22s ease;
}
.alpc-front-card:hover .alpc-front-title { color:#0c1b34 !important; }
.alpc-front-excerpt {
  font-family:'Source Sans 3',sans-serif;
  font-size:13px; color:#6b7494; line-height:1.65; flex:1;
}

/* Footer button */
.alpc-front-foot { 
  padding: 0 16px 16px; 
  background: #ffffff; 
}

.alpc-front-foot a,
.alpc-front-foot a:link,
.alpc-front-foot a:visited,
.alpc-front-foot a:active {
  display: flex !important; 
  align-items: center !important;
  justify-content: space-between !important;
  padding: 11px 16px !important;
  background: #0C1B34 !important; /* Normal state */
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 11px !important; 
  font-weight: 700 !important;
  letter-spacing: 0.08em !important; 
  text-transform: uppercase !important;
  text-decoration: none !important; 
  border-radius: 6px !important;
  box-shadow: 0 4px 14px rgba(12, 27, 52, 0.20) !important; 
  border: none !important;
  transition: background 0.3s ease, box-shadow 0.25s ease, transform 0.20s ease !important;
  position: relative !important; 
  overflow: hidden !important;
}

.alpc-front-foot a::before {
  content: '' !important; 
  position: absolute !important; 
  inset: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent) !important;
  opacity: 0 !important; 
  transition: opacity 0.3s !important;
}

.alpc-front-foot a:hover {
  background: #F19325 !important; /* Hover state */
  box-shadow: 0 8px 24px rgba(241, 147, 37, 0.35) !important; 
  transform: translateY(-1px) !important;
}

.alpc-front-foot a:hover::before { 
  opacity: 1 !important; 
}

.alpc-front-foot a::after {
  content: '→' !important;
  display: inline-flex !important; 
  align-items: center !important;
  justify-content: flex-end !important;
  width: 26px !important; 
  height: 26px !important;
  background: transparent !important; 
  font-size: 16px !important; 
  color: #ffffff !important; 
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  flex-shrink: 0 !important;
}

.alpc-front-foot a:hover::after {
  transform: translateX(4px) !important;
}

/* Empty state */
.alpc-front-empty { grid-column:1/-1; text-align:center; padding:72px 20px; color:#9ba3b8; }
.alpc-front-empty h3 { font-family:'Poppins',sans-serif; font-size:18px; color:#0c1b34; margin-bottom:8px; }
.alpc-front-empty p  { font-family:'Source Sans 3',sans-serif; font-size:13px; }


/* ════════════════════════════════════════════════════════════
   DELIVERY MODE MODAL
   ════════════════════════════════════════════════════════════ */
.alpc-mode-modal-bg{display:none;position:fixed;inset:0;background:rgba(12,27,52,0.68);backdrop-filter:blur(10px);z-index:999998;align-items:center;justify-content:center;padding:16px}
.alpc-mode-modal-bg.open{display:flex;animation:alpcModeIn .22s ease}
@keyframes alpcModeIn{from{opacity:0}to{opacity:1}}
.alpc-mode-box{background:#fff;border-radius:22px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 40px 100px rgba(12,27,52,0.3);position:relative;animation:alpcModeUp .28s cubic-bezier(.22,1,.36,1)}
@keyframes alpcModeUp{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.alpc-mode-close{position:absolute;top:12px;right:12px;background:rgba(12,27,52,0.07);border:none;color:#0c1b34;font-size:18px;cursor:pointer;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;transition:background .18s}
.alpc-mode-close:hover{background:rgba(122,2,2,0.10);color:#7a0202}
.alpc-mode-header{background:linear-gradient(145deg,#0c1b34 0%,#1d3a7a 100%);padding:36px 28px 28px;text-align:center}
.alpc-mode-icon{width:48px;height:48px;background:rgba(241,147,37,0.18);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;border:1px solid rgba(241,147,37,0.3)}
.alpc-mode-icon svg{width:24px;height:24px;color:#f19325}
.alpc-mode-title{color:#fff;font-family:'Poppins',sans-serif;font-size:17px;font-weight:700;margin:0 0 6px}
.alpc-mode-subtitle{color:rgba(255,255,255,0.5);font-family:'Source Sans 3',sans-serif;font-size:13px;margin:0}
.alpc-mode-choices{padding:20px;background:#fff}
.alpc-mode-card{width:100%;display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:12px;border:1.5px solid #e4e8f0;background:#f5f5f5;cursor:pointer;margin-bottom:10px;text-align:left;transition:all .22s ease;font-family:'Source Sans 3',sans-serif}
.alpc-mode-card:last-child{margin-bottom:0}
.alpc-mode-card:hover{border-color:#0c1b34;background:#fff;box-shadow:0 4px 16px rgba(12,27,52,.10);transform:translateY(-1px)}
.alpc-mode-card:hover .alpc-mode-card-arrow,.alpc-mode-card:hover .alpc-mode-card-icon{background:#0c1b34}
.alpc-mode-card:hover .alpc-mode-card-icon svg,.alpc-mode-card:hover .alpc-mode-card-arrow svg{color:#fff}
.alpc-mode-card-icon{width:42px;height:42px;border-radius:10px;background:#ebeced;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.alpc-mode-card-icon svg{width:20px;height:20px;color:#0c1b34;transition:color .2s}
.alpc-mode-card-text{flex:1}
.alpc-mode-card-text strong{display:block;font-family:'Poppins',sans-serif;font-size:13.5px;font-weight:700;color:#0c1b34;margin-bottom:2px}
.alpc-mode-card-text span{font-family:'Source Sans 3',sans-serif;font-size:12px;color:#9ba3b8}
.alpc-mode-card-arrow{width:28px;height:28px;border-radius:8px;background:#ebeced;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.alpc-mode-card-arrow svg{width:13px;height:13px;color:#534d4f;transition:color .2s}
.alpc-mode-card:hover .alpc-mode-card-arrow svg{color:#fff}

/* Scroll to top */
.alpc-scroll-top{position:fixed;bottom:30px;right:30px;z-index:9000;width:46px;height:46px;background:#0c1b34;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(12,27,52,0.30);opacity:0;transform:translateY(14px) scale(0.88);pointer-events:none;transition:opacity .28s ease,transform .28s cubic-bezier(.34,1.56,.64,1),background .2s}
.alpc-scroll-top svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.alpc-scroll-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.alpc-scroll-top:hover{background:#7a0202;transform:translateY(-2px) scale(1.06)}


/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .elementor-1571 .elementor-element.elementor-element-61009db { padding: 0 32px 90px; min-height: 260px; }
  .elementor-1571 .elementor-element.elementor-element-61009db::after { height: 120px; }
  .alpc-frontend { margin-top: -90px; }
  .alpc-front-grid { grid-template-columns: repeat(3,1fr); gap: 18px; }
  .alpc-float-bar { width: calc(100% - 32px); }
}
@media (max-width: 768px) {
  .elementor-1571 .elementor-element.elementor-element-61009db { padding: 0 20px 80px; min-height: 240px; }
  .elementor-1571 .elementor-element.elementor-element-61009db::after { height: 100px; }
  .alpc-frontend { margin-top: -80px; }
  .alpc-front-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .alpc-front-toolbar { flex-direction: column !important; align-items: stretch !important; }
  .alpc-front-search-wrap { max-width: 100%; }
  .alpc-front-count { margin-left: 0; }

  .alpc-float-bar {
    width: calc(100% - 24px);
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 12px 14px !important;
    bottom: -160px;
  }
  .alpc-float-bar.visible { bottom: 16px; }
  .alpc-float-bar .alpc-front-search-wrap { max-width: 100%; }
  .alpc-float-bar .alpc-front-count { margin-left: 0; }
  .alpc-float-bar-up { display: none; }
}
@media (max-width: 600px) {
  .elementor-1571 .elementor-element.elementor-element-61009db { padding: 0 16px 70px; min-height: 220px; }
  .elementor-1571 .elementor-element.elementor-element-61009db::after { height: 80px; }
  .alpc-frontend { margin-top: -70px; }
  .alpc-front-grid { grid-template-columns: 1fr; gap: 14px; }
  .alpc-front-thumb { height: 180px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c1a965e */.alpc-front-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    image-rendering: -webkit-optimize-contrast; /* sharper on webkit */
    transition: transform .35s ease;
}

/* ── Price Badges — Brand-Aligned Minimal Gradient Pills ── */
.alpc-front-prices {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.alpc-front-price-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 4px 12px 4px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.01em;
    position: relative;
    transition: opacity 0.18s;
}

/* Online — brand red gradient */
.alpc-price-online-badge {
    background: linear-gradient(135deg, #f5e8e8 0%, #ead4d4 100%);
    color: #7a0202;
    border: 1px solid rgba(122, 2, 2, 0.18);
    box-shadow: 0 1px 3px rgba(122, 2, 2, 0.08);
}

.alpc-price-online-badge::before {
    background: radial-gradient(circle, #b52a2a 0%, #7a0202 100%);
    box-shadow: 0 0 0 2px rgba(122, 2, 2, 0.15);
}

/* Onsite — warm yellow/amber gradient */
.alpc-price-onsite-badge {
    background: linear-gradient(135deg, #fdf3e3 0%, #fae5c0 100%);
    color: #7a4a00;
    border: 1px solid rgba(241, 147, 37, 0.25);
    box-shadow: 0 1px 3px rgba(241, 147, 37, 0.10);
}

/* Icon prefix dot */
.alpc-front-price-badge::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.alpc-price-onsite-badge::before {
    background: radial-gradient(circle, #f5aa55 0%, #f19325 100%);
    box-shadow: 0 0 0 2px rgba(241, 147, 37, 0.20);
}

.alpc-pbadge-label {
    opacity: 0.65;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 9.5px;
    letter-spacing: 0.05em;
}

.alpc-pbadge-val {
    font-weight: 700;
    font-size: 12px;
}/* End custom CSS */