/**
Theme Name: Astra Child - CICA
Author: CICA
Author URI: https://yycica.org
Description: Child theme for the Calgary Iranian Community Association (CICA) website. Used for safe customizations and WooCommerce membership/checkout enhancements.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child-cica
Template: astra
*/

/* =========================
   Header dropdown (submenu) styling
   ========================= */

/* Match your main menu dark/nav background */
.ast-desktop .main-header-menu .sub-menu,
.ast-desktop .main-header-menu .sub-menu .sub-menu {
  background: #050b1a; /* adjust if your exact nav color differs */
}

/* Submenu links */
.ast-desktop .main-header-menu .sub-menu a {
  color: #ffffff;
}

/* Hover/focus */
.ast-desktop .main-header-menu .sub-menu a:hover,
.ast-desktop .main-header-menu .sub-menu a:focus {
  opacity: 0.85;
}


/* =========================================================
   WooCommerce My Account — Mobile spacing + alignment fixes
   ========================================================= */

@media (max-width: 768px) {
  /* 1) Remove the left “dent” so the menu aligns with the title/content */
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
  }

  /* Some themes add padding on the nav itself */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    padding-left: 0 !important;
  }

  /* 2) Add spacing between the menu table and the section content */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 18px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    margin-top: 18px !important;
  }
}

/* =======================================
   CICA — My Account menu (clean + bold)
   Color: #205B82
   ======================================= */

/* Remove theme/Woo default borders so we don't get double boxes */
.woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce-account .woocommerce-MyAccount-navigation ul li,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Keep the list structure tight */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Each item */
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  padding: 0 !important;
}

/* Link appearance (this is the visible "button") */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 12px 16px !important;

  color: #205B82 !important;
  font-weight: 700 !important;        /* less heavy than 800 */
  font-size: 16px !important;         /* closer to H4 on many themes */
  line-height: 1.25 !important;
  text-decoration: none !important;

  border: 1px solid rgba(32, 91, 130, 0.18) !important;
  border-radius: 10px !important;     /* rounded corners */
  background: #fff !important;

  margin-bottom: 10px !important;
}

/* Hover */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: rgba(32, 91, 130, 0.06) !important;
  border-color: rgba(32, 91, 130, 0.35) !important;
}

/* Active item */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: rgba(32, 91, 130, 0.10) !important;
  border-color: rgba(32, 91, 130, 0.55) !important;
}

/* Mobile: slightly tighter */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    font-size: 15px !important;
    padding: 11px 14px !important;
    margin-bottom: 8px !important;
    border-radius: 10px !important;  }
}


/*=======================================
  CICA Member Offers grid
  (Member Benefits page cards + Offers page Browse All)
=======================================*/

/* ============================
   Default grid (Browse All)
   ============================ */
.cica-offers-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}

@media(max-width:1024px){
  .cica-offers-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px){
  .cica-offers-grid{ grid-template-columns:1fr; }
}

/* ============================
   Offer Card (Glass style)
   - Works for both grid + list
   ============================ */
a.cica-offer-card,
a.cica-offer-card:visited,
a.cica-offer-card:hover,
a.cica-offer-card:focus,
a.cica-offer-card:active{
  display:block;
  text-decoration:none !important;
  color:inherit !important;

  /* Glass card (match membership types cards) */
  background: rgba(255,255,255,0.6) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  border:1px solid rgba(0,0,0,0.10);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,0.04);

  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

a.cica-offer-card:hover{
  transform:translateY(-2px);
  border-color:rgba(32,91,130,0.35);
  box-shadow:0 12px 26px rgba(0,0,0,0.10);
}

.cica-offer-img{
  width:100%;
  height:160px;
  background-size:cover;
  background-position:center;
}

/* Text styles inside card */
.cica-offer-body{
  padding:12px 14px;
  color:#111;
}

.cica-offer-partner{
  font-size:12px;
  margin-bottom:6px;
  color:#48697F !important;
  font-weight:600;
  opacity:1;
}

.cica-offer-title{
  font-size:22px;
  font-weight:600;
  color:#205B82 !important;
  margin-bottom:6px;
  line-height:1.2;
}

.cica-offer-summary{
  font-size:13px;
  line-height:1.45;
  color:#48697F !important;
  font-weight:600;
  opacity:1;
}

.cica-offer-expiry{
  margin-top:10px;
  font-size:12px;
  color:#48697F !important;
  opacity:1;
}

/* ============================
   Locked box (Member Benefits page)
   ============================ */
.cica-offers-locked{
  border:1px dashed rgba(32,91,130,0.35);
  border-radius:14px;
  padding:16px;
  background:rgba(32,91,130,0.04);
}
.cica-offers-locked-title{
  font-weight:900;
  color:#205B82;
  font-size:18px;
  margin-bottom:6px;
}
.cica-offers-locked-text{ opacity:.9; }



/* ============================
   Featured Offers slider
   (Member Benefits + Offers page Featured)
   Uses the shortcode slider markup:
   <div class="cica-offers-slider">
     <button class="cica-offers-slider-nav ..."><span class="cica-offers-slider-arrow">‹</span></button>
     <div class="cica-offers-slider-track"> ... </div>
   </div>
   ============================ */

/* Root */
.cica-offers-slider{
  position:relative;
}

/* Track */
.cica-offers-slider-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  padding:4px 2px 12px 2px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

/* scrollbar */
.cica-offers-slider-track::-webkit-scrollbar{
  height:8px;
}
.cica-offers-slider-track::-webkit-scrollbar-thumb{
  background:rgba(32,91,130,0.25);
  border-radius:999px;
}

/* Slides (each slide wraps an <a.cica-offer-card>) */
.cica-offers-slide{
  scroll-snap-align:start;
  flex:0 0 360px;
  max-width:360px;
}

@media(max-width:1024px){
  .cica-offers-slide{
    flex-basis:320px;
    max-width:320px;
  }
}

@media(max-width:640px){
  .cica-offers-slider-track{
    gap:12px;
  }
  .cica-offers-slide{
    flex:0 0 82%;
    max-width:82%;
  }
}

/* Nav buttons */
.cica-offers-slider-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;

  width:42px;
  height:42px;
  border-radius:12px;

  border:1px solid rgba(32,91,130,0.22);
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;

  box-shadow:0 10px 24px rgba(0,0,0,0.06);
}

.cica-offers-slider-nav:hover{
  background: rgba(255,255,255,0.95);
  border-color: rgba(32,91,130,0.35);
}

.cica-offers-slider-prev{ left:-6px; }
.cica-offers-slider-next{ right:-6px; }

@media (max-width:640px){
  /* keep them but tuck in tighter */
  .cica-offers-slider-prev{ left:-2px; }
  .cica-offers-slider-next{ right:-2px; }
}

/* Chevron character (theme-proof; avoids SVG overrides) */
.cica-offers-slider-arrow{
  display:block;
  font-size:28px;
  font-weight:900;
  line-height:1;
  color:#205B82;
  transform: translateY(-1px);
}




/* ============================
   Offers toolbar (right-aligned)
   Icons + Filter in ONE aligned container
   ============================ */
.cica-offers-toolbar{
  margin: 0 0 14px 0;
  display:flex;
  justify-content:flex-end;
}

.cica-offers-toolbar-right{
  display:flex;
  justify-content:flex-end;
  width:100%;
}

/* One container holding BOTH view buttons + filter */
.cica-offers-control-group{
  display:inline-flex;
  align-items:stretch; /* makes everything same height */
  gap:10px;
}

/* View toggle buttons group */
.cica-offers-view{
  display:inline-flex;
  gap:6px;
  align-items:stretch;
}

/* Match select height */
.cica-offers-view-btn{
  appearance:none;
  border:1px solid rgba(32,91,130,0.22);
  background:#fff;
  border-radius:10px;
  width:44px;
  height:44px;
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  transition: background .12s ease, border-color .12s ease, transform .12s ease;
}

.cica-offers-view-btn svg{
  fill:#205B82;
}

.cica-offers-view-btn:hover{
  background: rgba(32,91,130,0.06);
  border-color: rgba(32,91,130,0.35);
  transform: translateY(-1px);
}

.cica-offers-view-btn.is-active{
  background: rgba(32,91,130,0.10);
  border-color: rgba(32,91,130,0.55);
}

/* Filter form styling */
.cica-offers-filter-form{
  display:inline-flex;
  gap:10px;
  align-items:center;
  flex-wrap:nowrap;
  min-width:0;
}

.cica-offers-filter-label{
  font-weight:700;
  color:#205B82;
  margin:0;
  white-space:nowrap;
}

.cica-offers-filter-select{
  width: 240px;
  max-width: 340px;
  height: 44px;              /* align with icon buttons */
  padding: 8px 12px;
  border-radius: 10px;
  min-width:0;
}

/* Mobile: keep icons + select inside panel */
@media (max-width: 640px){
  .cica-offers-control-group{
    width:100%;
    gap:8px;
  }

  .cica-offers-filter-label{
    display:none; /* saves space */
  }

  .cica-offers-filter-form{
    flex: 1 1 auto;
    min-width:0;
  }

  .cica-offers-filter-select{
    width:100%;
    max-width:none;
  }

  .cica-offers-view-btn{
    width:42px;
    height:42px;
  }
}



/* ============================
   List view layout (COMPACT)
   - small thumbnail
   - title only (+ expiry desktop)
   - expiry hidden on mobile
   ============================ */

/* List = single column */
.cica-offers-grid.cica-offers-grid--list{
  grid-template-columns: 1fr !important;
}

/* Card becomes a compact row */
.cica-offers-grid--list a.cica-offer-card{
  display:flex !important;
  align-items:center;
  gap:10px;
  padding:10px 12px;
}

/* Small thumbnail */
.cica-offers-grid--list .cica-offer-img{
  width:64px;
  height:64px;
  min-height:64px;
  flex:0 0 64px;
  border-radius:10px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
}

/* Body becomes a single line row: Title (left) + Expiry (right) */
.cica-offers-grid--list .cica-offer-body{
  flex:1 1 auto;
  padding:0; /* override grid padding */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

/* Hide extra info in list mode */
.cica-offers-grid--list .cica-offer-partner,
.cica-offers-grid--list .cica-offer-summary{
  display:none !important;
}

/* Compact title: single line */
.cica-offers-grid--list .cica-offer-title{
  margin:0 !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  flex:1 1 auto;
}

/* Expiry stays small and does NOT look like a link */
.cica-offers-grid--list .cica-offer-expiry{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  white-space:nowrap;
  flex:0 0 auto;
  color:#48697F !important;
}

/* Mobile: keep row layout, smaller thumb, hide expiry */
@media (max-width: 640px){
  .cica-offers-grid--list a.cica-offer-card{
    padding:10px;
  }
  .cica-offers-grid--list .cica-offer-img{
    width:56px;
    height:56px;
    flex:0 0 56px;
  }
  .cica-offers-grid--list .cica-offer-title{
    font-size:14px !important;
  }
  .cica-offers-grid--list .cica-offer-expiry{
    display:none !important; /* mobile: thumbnail + title only */
  }
}



/* =========================
   CICA Offer Single Layout
   (Single offer page)
   ========================= */
.cica-offer-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 16px;
}

.cica-offer-header{
  margin-bottom: 18px;
}

.cica-offer-topline{
  margin-bottom: 10px;
}

.cica-offer-back{
  text-decoration:none !important;
  color:#205B82 !important;
  font-weight:700;
}

/* Single offer page title (scoped to offer page wrapper to avoid collisions) */
.cica-offer-wrap .cica-offer-title{
  margin: 0 0 8px 0;
  color:#205B82;
  font-weight:800;
  font-size: 30px;
  line-height:1.15;
}

.cica-offer-wrap .cica-offer-partner{
  opacity:.85;
  margin-bottom: 10px;
  font-size: 14px;
}

.cica-offer-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.cica-offer-tag{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(32,91,130,0.20);
  background: rgba(32,91,130,0.06);
  color:#205B82;
  font-weight:700;
  font-size: 12px;
}

.cica-offer-hero img{
  width:100%;
  height:auto;
  border-radius:14px;
  border:1px solid rgba(0,0,0,0.10);
  display:block;
}

.cica-offer-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
  margin-top: 16px;
  align-items: stretch;
}

@media(max-width: 900px){
  .cica-offer-grid{
    grid-template-columns: 1fr;
  }
  .cica-offer-wrap .cica-offer-title{
    font-size: 28px;
  }
}

.cica-offer-wrap .cica-offer-card{
  background:#fff;
  border:1px solid rgba(0,0,0,0.10);
  border-radius:14px;
  padding: 14px;
}

.cica-offer-card--primary{
  border-color: rgba(32,91,130,0.25);
}

.cica-offer-card-title{
  font-weight:900;
  color:#205B82;
  font-size: 14px;
  margin-bottom: 8px;
}

.cica-offer-wrap .cica-offer-summary{
  font-size: 16px;
  font-weight:800;
  line-height: 1.35;
}

.cica-offer-redeem{
  font-size: 14px;
  line-height: 1.55;
  opacity: .92;
}

.cica-offer-meta{
  margin-top: 10px;
}

.cica-offer-meta-label{
  font-size: 12px;
  opacity: .7;
}

.cica-offer-meta-value{
  font-size: 14px;
  font-weight:800;
  margin-top: 2px;
}

.cica-offer-actions{
  margin-top: 14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.cica-offer-locked{
  border:1px dashed rgba(32,91,130,0.35);
  border-radius:14px;
  padding:16px;
  background: rgba(32,91,130,0.04);
}

.cica-offer-locked-text{
  margin-top: 8px;
  opacity:.9;
}

/* Add space between stacked cards in the main column */
.cica-offer-main .cica-offer-card + .cica-offer-card{
  margin-top: 16px;
}

/* Make sidebar card stretch and align bottom with left column */
.cica-offer-side{
  align-self: stretch;
}
.cica-offer-side .cica-offer-card{
  height: 100%;
  display:flex;
  flex-direction:column;
}
.cica-offer-side .cica-offer-actions{
  margin-top:auto;
}


/*=======================================
  CICA Membership Types & Fees (pricing cards)
=======================================*/
.cica-mem-grid{
  display:grid;
  gap:18px;
  align-items:stretch;
}

/* Default columns = 4 */
.cica-mem-cols-4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
.cica-mem-cols-3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.cica-mem-cols-2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.cica-mem-cols-1{ grid-template-columns:1fr; }

@media (max-width: 1024px){
  .cica-mem-cols-4,
  .cica-mem-cols-3{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px){
  .cica-mem-grid{
    grid-template-columns:1fr !important;
  }
}

.cica-mem-card{
  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border:1px solid rgba(0,0,0,0.10);
  border-radius:16px;
  overflow:hidden;
  height:100%;
  box-shadow:0 10px 24px rgba(0,0,0,0.04);
}


.cica-mem-card-inner{
  padding:16px 16px 14px 16px;
  height:100%;
  display:flex;
  flex-direction:column;
}

.cica-mem-thumb{
  width:100%;
  height:140px;
  border-radius:14px;
  background-size:cover;
  background-position:center;
  margin-bottom:12px;
}

.cica-mem-head{
  margin-bottom:10px;
}

.cica-mem-title{
  font-size:18px;
  font-weight:800;
  color:#205B82;
  line-height:1.2;
  margin:0 0 6px 0;
}

.cica-mem-fee{
  display:flex;
  gap:8px;
  align-items:baseline;
  color:#48697F;
}

.cica-mem-fee-amt{
  font-weight:800;
  font-size:18px;
}

.cica-mem-fee-suffix{
  font-size:13px;
  font-weight:600;
  opacity:.9;
}

.cica-mem-bestfor{
  margin:10px 0 8px 0;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(72,105,127,0.06);
  border:1px solid rgba(72,105,127,0.12);
}

.cica-mem-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  color:#48697F;
  margin-bottom:6px;
  text-transform:uppercase;
}

/* Best for text: NOT bold */
.cica-mem-bestfor-text{
  color:#48697F;
  font-size:14px;
  font-weight:400;
  line-height:1.45;
}
.cica-mem-bestfor-text p{ margin:0; }
.cica-mem-bestfor-text strong{ font-weight:400 !important; }

.cica-mem-desc{
  margin-top:8px;
  color:#48697F;
  font-size:14px;
  line-height:1.55;
}
.cica-mem-desc p{ margin:0 0 10px 0; }
.cica-mem-desc ul{ margin:0 0 10px 18px; }
.cica-mem-desc li{ margin:6px 0; }

.cica-mem-actions{
  margin-top:auto;
  padding-top:12px;
}

/* ===== Button (FORCED styling) =====
   Normal:
     - text: #fff
     - bg:   #557CA3
   Hover:
     - text: #FFCB3E
     - bg:   #305070
*/
a.cica-mem-btn,
a.cica-mem-btn:visited,
a.cica-mem-btn:focus{
  display:flex;
  width:100%;
  justify-content:center;
  align-items:center;
  text-align:center;

  padding:12px 14px;
  border-radius:12px;

  text-decoration:none !important;
  box-shadow:none !important;
  outline:none !important;

  background-color:#557CA3 !important;
  border:1px solid #557CA3 !important;
  background-image:none !important;

  color:#ffffff !important;

  font-weight:700 !important;  /* closer to H4 feel */
  font-size:15px !important;
  line-height:1.2 !important;

  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease, color .12s ease, opacity .12s ease;
}

/* Hover + keyboard focus */
a.cica-mem-btn:hover,
a.cica-mem-btn:focus:hover{
  background-color:#305070 !important;
  border-color:#305070 !important;
  color:#FFCB3E !important;

  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(0,0,0,0.10) !important;
}

a.cica-mem-btn:active{
  transform:translateY(0);
  opacity:.95;
}

.cica-mem-empty{
  padding:14px 16px;
  border:1px dashed rgba(32,91,130,0.35);
  border-radius:14px;
  background:rgba(32,91,130,0.04);
  color:#205B82;
  font-weight:700;
}


/* =========================================================
   CICA Events UI (matches Member Offers look & feel)
   Append this to your child theme style.css
   ========================================================= */

.cica-events-scope { max-width: 1200px; margin: 0 auto; }

/* Toolbar (filter + view toggles) */
.cica-events-toolbar { display:flex; justify-content:flex-end; align-items:center; margin: 10px 0 14px; }
.cica-events-control-group { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }

/* View toggle (grid/list icons) */
.cica-events-view { display:inline-flex; gap:8px; background:rgba(255,255,255,.7); border:1px solid rgba(0,0,0,.10); border-radius:999px; padding:6px; }
.cica-events-view-btn { width:42px; height:42px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; cursor:pointer; }
.cica-events-view-btn svg { fill: rgba(32,91,130,.85); }
.cica-events-view-btn.is-active { background:#205B82; }
.cica-events-view-btn.is-active svg { fill: #fff; }

/* Category filter */
.cica-events-filter-form { display:flex; align-items:center; gap:10px; }
.cica-events-filter-label { font-weight:800; color:#48697F; }
.cica-events-filter-select { height:44px; border-radius:12px; border:1px solid rgba(32,91,130,.22); padding:8px 10px; background:#fff; }

/* Grid + list */
.cica-events-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
@media(max-width:980px){ .cica-events-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media(max-width:640px){ .cica-events-grid { grid-template-columns: 1fr; } }

.cica-events-grid--list { grid-template-columns: 1fr; }

/* Event card (mirrors offer card proportions) */
a.cica-event-card { display:block; border:1px solid rgba(0,0,0,.10); border-radius:18px; overflow:hidden; background:#fff; text-decoration:none !important; color:inherit !important; box-shadow: 0 10px 22px rgba(0,0,0,.06); }
a.cica-event-card:hover { border-color: rgba(32,91,130,.28); box-shadow: 0 12px 26px rgba(0,0,0,.08); transform: translateY(-1px); transition: .15s ease; }

.cica-event-img { height:160px; background-size:cover; background-position:center; background-color: rgba(0,0,0,.04); }
.cica-events-grid--list .cica-event-img { height:220px; }

.cica-event-body { padding:12px 14px; }
.cica-event-kicker { font-weight:300; font-size:12px; color:#48697F; text-transform:uppercase; letter-spacing:.02em; margin-bottom:6px; }
.cica-event-title { font-weight:900; color:#205B82; font-size:16px; line-height:1.25; margin-bottom:6px; }
.cica-event-summary { color:#48697F; font-weight:400; font-size:13px; line-height:1.35; margin-bottom:8px; min-height: 2.6em; }
.cica-event-meta { color:#48697F; font-weight:800; font-size:12px; margin-top:4px; }

.cica-event-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.cica-event-badge { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; border:1px solid rgba(32,91,130,.18); background: rgba(32,91,130,.06); color:#205B82; font-weight:900; font-size:11px; letter-spacing:.02em; }

/* Featured slider */
.cica-events-slider { position:relative; }
.cica-events-slider-track { display:flex; gap:16px; overflow:auto; scroll-snap-type:x mandatory; padding: 8px 4px 12px; scrollbar-width:none; }
.cica-events-slider-track::-webkit-scrollbar{ display:none; }
.cica-events-slide { flex: 0 0 320px; scroll-snap-align:start; }
@media(max-width:640px){ .cica-events-slide{ flex-basis: 84vw; } }

.cica-events-slider-nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:999px; border:1px solid rgba(32,91,130,.22); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow: 0 10px 22px rgba(0,0,0,.08); }
.cica-events-slider-prev { left:-6px; }
.cica-events-slider-next { right:-6px; }
.cica-events-slider-arrow { font-size:24px; font-weight:900; color:#205B82; line-height:1; }

.cica-events-empty { padding:12px 14px; border:1px dashed rgba(32,91,130,.25); border-radius:14px; background: rgba(32,91,130,.04); color:#48697F; font-weight:800; }

/* Featured slider: equal height AND consistent width */
.cica-offers-slider-track{
  align-items: stretch; /* equal heights */
}

.cica-offers-slide{
  display: flex;        /* allow child to stretch in height */
  align-items: stretch;
}

/* Critical: make the card fill the slide width (prevents shrinking) */
.cica-offers-slide > a.cica-offer-card{
  width: 100%;
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
}

/* Let the body stretch so all cards match height */
.cica-offers-slide > a.cica-offer-card .cica-offer-body{
  flex: 1;
}

/* Optional: normalize image height for uniform cards */
.cica-offers-slide > a.cica-offer-card .cica-offer-img{
  height: 140px;
  background-size: cover;
  background-position: center;
}



