:root{
  --glf-navy:#17233C;
  --glf-navy2:#21314F;
  --glf-coral:#FF7043;
  --glf-cream:#FFF9F4;
  --glf-muted:#718099;
  --glf-line:#E6E2DE;
  --glf-page-bg:#FFF9F4;
  --glf-button-text:#FFFFFF;
  --glf-card-bg:#FFFFFF;
  --glf-card-border:#E1E1E1;
  --glf-ai-bg:#17233C;
  --glf-ai-panel:#21314F;
}

.giftlyfind-app,.glf-finder-wrap,.glf-results,.glf-ai-wrap,.glf-ai-results{
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:var(--glf-navy);
}
.giftlyfind-app,.glf-finder-wrap,.glf-ai-results{
  max-width:1180px;
  margin:0 auto;
}

/* Finder */
.glf-finder{
  background:#fff;
  border:1px solid var(--glf-line);
  border-radius:22px;
  padding:32px 28px 30px;
  box-shadow:0 18px 45px rgba(23,35,60,.065);
}
.glf-finder-heading h2,.glf-title h2{
  margin:0;
  color:var(--glf-navy);
  font-weight:800;
  letter-spacing:-.8px;
}
.glf-finder-heading h2{
  font-size:34px;
  line-height:1.08;
}
.glf-finder-heading p,.glf-title p{
  margin:8px 0 0;
  color:var(--glf-muted);
  font-size:14px;
  line-height:1.5;
}
.glf-filter-form{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr 190px;
  gap:12px;
  align-items:end;
  margin-top:24px;
}
.glf-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.glf-field label{
  font-size:12px;
  line-height:1;
  font-weight:800;
  color:#697892;
  letter-spacing:.02em;
}
.glf-field select{
  width:100%;
  height:52px;
  border:1px solid #D8DEE7;
  border-radius:11px;
  background:#fff;
  padding:0 14px;
  font-size:15px;
  color:var(--glf-navy);
}
.glf-find-btn,.glf-ai-btn{
  border:0;
  background:var(--glf-coral);
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.glf-find-btn:hover,.glf-ai-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(255,112,67,.22);
}
.glf-find-btn{
  min-width:190px;
  height:52px;
  border-radius:11px;
  padding:0 20px;
  font-size:15px;
}

/* Section rhythm */
.glf-section{
  margin-top:54px;
}
.glf-section + .glf-section,
.glf-section + .glf-ai-wrap{
  margin-top:54px;
}
.glf-title{
  margin-bottom:22px;
}
.glf-title h2{
  font-size:40px;
  line-height:1.06;
}
.glf-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}
.glf-section-head .glf-title{
  margin-bottom:0;
}

/* Gift cards */
.glf-gift-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.glf-gift-card{
  background:#fff;
  border:1px solid #E1E1E1;
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:460px;
  box-shadow:0 8px 24px rgba(23,35,60,.025);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.glf-gift-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(23,35,60,.07);
  border-color:#D8DDE5;
}
.glf-gift-visual{
  height:220px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.glf-gift-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.glf-blue{background:#EEF2FF}
.glf-pink{background:#FFF0F3}
.glf-green{background:#EEF8F5}
.glf-yellow{background:#FFF8DF}
.glf-badge{
  position:absolute;
  left:14px;
  top:14px;
  background:#fff;
  border:1px solid #E2E7ED;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  z-index:2;
}
.glf-emoji{
  font-size:72px;
  line-height:1;
}
.glf-gift-body{
  padding:19px 18px 18px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.glf-gift-body h3{
  font-size:22px;
  line-height:1.2;
  margin:0 0 9px;
  color:var(--glf-navy);
}
.glf-gift-body p{
  font-size:14px;
  line-height:1.5;
  color:#6E7B90;
  margin:0 0 13px;
}
.glf-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:auto;
  margin-bottom:14px;
}
.glf-tags span{
  background:#F3F5F7;
  border-radius:999px;
  padding:6px 9px;
  font-size:11px;
  line-height:1;
  font-weight:700;
  color:#607087;
}
.glf-gift-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  margin-top:0;
  border-radius:10px;
  background:var(--glf-navy);
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:800;
}

/* Recipients */
.glf-recipient-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.glf-recipient{
  min-height:158px;
  background:#fff;
  border:1px solid #DFDFDF;
  border-top-width:4px;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:16px 10px;
  text-align:center;
  text-decoration:none!important;
  color:#14213B!important;
  transition:transform .18s ease,box-shadow .18s ease;
}
.glf-recipient:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(23,35,60,.065);
}
.glf-recipient.glf-her{border-top-color:#F3A0AF}
.glf-recipient.glf-him{border-top-color:#6386EC}
.glf-recipient.glf-kids{border-top-color:#F5BE42}
.glf-recipient.glf-couples{border-top-color:#FF6848}
.glf-recipient.glf-home{border-top-color:#4A9A76}
.glf-recipient.glf-tech{border-top-color:#8C70DD}
.glf-rec-emoji{
  font-size:34px;
  line-height:1;
  margin-bottom:12px;
}
.glf-recipient strong{
  font-size:15px;
  line-height:1.25;
  margin-bottom:6px;
}
.glf-recipient small{
  font-size:12px;
  color:#8A97A8;
}

/* Occasions */
.glf-occasion-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.glf-occasion{
  min-height:190px;
  background:#fff;
  border:1px solid #E1E1E1;
  border-radius:16px;
  padding:23px;
  text-decoration:none!important;
  color:var(--glf-navy)!important;
  transition:transform .18s ease,box-shadow .18s ease;
}
.glf-occasion:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(23,35,60,.06);
}
.glf-occasion-emoji{
  display:block;
  font-size:32px;
  line-height:1;
}
.glf-occasion h3{
  font-size:22px;
  line-height:1.2;
  margin:13px 0 8px;
}
.glf-occasion p{
  font-size:13px;
  color:#788499;
  margin:0;
  line-height:1.55;
}
.glf-slider-arrows{
  display:flex;
  gap:8px;
}
.glf-slider-arrow{
  width:42px;
  height:42px;
  border:1px solid #D9DEE7;
  border-radius:50%;
  background:#fff;
  color:var(--glf-navy);
  font-size:18px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.glf-slider-arrow:disabled{
  opacity:.35;
  cursor:default;
}
.glf-occasion-grid.glf-is-slider{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding-bottom:4px;
}
.glf-occasion-grid.glf-is-slider::-webkit-scrollbar{
  display:none;
}
.glf-occasion-grid.glf-is-slider .glf-occasion{
  flex:0 0 calc((100% - 48px)/4);
  scroll-snap-align:start;
}
.glf-view-all{
  margin-top:16px;
  text-align:right;
}
.glf-view-all a{
  color:var(--glf-navy);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}

/* AI Finder */
.glf-ai-wrap{
  margin-top:54px;
  background:var(--glf-navy);
  border-radius:22px;
  padding:38px 34px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:40px;
  align-items:center;
  color:#fff;
}
.glf-ai-copy h2{
  color:#fff;
  margin:0 0 14px;
  font-size:40px;
  line-height:1.05;
  letter-spacing:-.7px;
}
.glf-ai-copy p{
  color:#D6DCE7;
  margin:0;
  font-size:14px;
  line-height:1.6;
}
.glf-ai-box{
  background:var(--glf-navy2);
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  padding:18px;
  margin:0;
}
.glf-ai-box textarea{
  display:block;
  width:100%;
  min-height:145px;
  border:0;
  border-radius:10px;
  padding:15px;
  font-family:inherit;
  font-size:14px;
  line-height:1.5;
  resize:vertical;
  box-sizing:border-box;
}
.glf-ai-btn{
  width:100%;
  min-height:48px;
  border-radius:10px;
  margin-top:13px;
  font-size:14px;
}
.glf-ai-status{
  font-size:11px;
  color:#DDE4EF;
  text-align:center;
}
.glf-ai-status:not(:empty){
  padding-top:9px;
}

/* Search results remain a normal grid */
.glf-search-results .glf-gift-grid{
  display:grid;
  overflow:visible;
}

/* AI result reason */
.glf-ai-reason{
  background:#FF7043;
  border:1px solid #E7EAF0;
  border-radius:10px;
  padding:11px 12px;
  margin:0 0 13px;
}
.glf-ai-reason strong{
  display:block;
  color:var(--glf-navy);
  font-size:12px;
  font-weight:800;
  margin-bottom:5px;
}
.glf-ai-reason p{
  margin:0;
  color:#5E6C81;
  font-size:12px;
  line-height:1.5;
}
.glf-ai-card .glf-tags{
  margin-top:2px;
  margin-bottom:10px;
}

.glf-empty{
  grid-column:1/-1;
  background:#fff;
  border:1px dashed #CBD2DC;
  border-radius:14px;
  padding:25px;
  text-align:center;
  color:#738096;
}

/* Tablet */
@media(max-width:1024px){
  .giftlyfind-app,.glf-finder-wrap,.glf-results,.glf-ai-results{
    width:94%;
  }
  .glf-filter-form{
    grid-template-columns:1fr 1fr;
  }
  .glf-find-btn{
    width:100%;
  }
  .glf-gift-grid{
    grid-template-columns:1fr 1fr;
  }
  .glf-recipient-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .glf-occasion-grid:not(.glf-is-slider){
    grid-template-columns:1fr 1fr;
  }
  .glf-occasion-grid.glf-is-slider .glf-occasion{
    flex:0 0 calc((100% - 24px)/2.5);
  }
  .glf-ai-wrap{
    grid-template-columns:1fr;
    gap:24px;
  }
}

/* Mobile */
@media(max-width:767px){
  .giftlyfind-app,.glf-finder-wrap,.glf-results,.glf-ai-results{
    width:92%;
  }
  .glf-finder{
    padding:25px 18px 22px;
    border-radius:18px;
  }
  .glf-finder-heading h2{
    font-size:29px;
  }
  .glf-filter-form{
    grid-template-columns:1fr;
    gap:13px;
  }
  .glf-find-btn{
    min-width:0;
    width:100%;
  }
  .glf-section,
  .glf-section + .glf-section,
  .glf-section + .glf-ai-wrap,
  .glf-ai-wrap{
    margin-top:42px;
  }
  .glf-title h2,
  .glf-ai-copy h2{
    font-size:32px;
  }

  /* Popular gifts: swipe carousel only on mobile */
  .glf-popular-grid{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:2px 4px 8px 0;
  }
  .glf-popular-grid::-webkit-scrollbar{
    display:none;
  }
  .glf-popular-grid .glf-gift-card{
    flex:0 0 86%;
    min-width:0;
    scroll-snap-align:start;
  }

  /* Search results are never a carousel */
  .glf-search-results .glf-gift-grid,
  .glf-ai-results .glf-gift-grid{
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
  }

  .glf-gift-visual{
    height:210px;
  }
  .glf-gift-card{
    min-height:450px;
  }
  .glf-recipient-grid{
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }
  .glf-recipient{
    min-height:145px;
  }
  .glf-section-head{
    align-items:center;
  }
  .glf-slider-arrows{
    display:none;
  }
  .glf-occasion-grid:not(.glf-is-slider){
    grid-template-columns:1fr;
  }
  .glf-occasion-grid.glf-is-slider .glf-occasion{
    flex:0 0 83.333%;
  }
  .glf-ai-wrap{
    padding:28px 18px;
    border-radius:18px;
  }
  .glf-ai-box{
    padding:14px;
  }
  .glf-ai-box textarea{
    min-height:155px;
  }
}


/* v2.1 visual polish */
.glf-find-btn,
.glf-ai-btn{
  background:#FF7043 !important;
  background-color:#FF7043 !important;
  color:#FFFFFF !important;
  border:1px solid #FF7043 !important;
  box-shadow:none;
}
.glf-find-btn:hover,
.glf-ai-btn:hover,
.glf-find-btn:focus,
.glf-ai-btn:focus{
  background:#FF7043 !important;
  background-color:#FF7043 !important;
  color:#FFFFFF !important;
  border-color:#FF7043 !important;
}

/* Keep Popular cards premium without dominating the whole first viewport. */
.glf-popular-grid .glf-gift-card{
  min-height:420px;
}
.glf-popular-grid .glf-gift-visual{
  height:190px;
}
.glf-popular-grid .glf-emoji{
  font-size:64px;
}

/* Align AI feature to the same content width as the homepage sections. */
.glf-ai-wrap{
  width:100%;
  max-width:1180px;
  box-sizing:border-box;
  margin-left:auto;
  margin-right:auto;
  padding:44px 40px;
}
.glf-ai-box textarea{
  min-height:160px;
}
.glf-ai-btn{
  min-height:50px;
}

/* Slightly cleaner desktop section rhythm. */
@media(min-width:1025px){
  .glf-section + .glf-section,
  .glf-section + .glf-ai-wrap{
    margin-top:56px;
  }
}

@media(max-width:1024px){
  .glf-ai-wrap{
    width:94%;
  }
}

@media(max-width:767px){
  .glf-ai-wrap{
    width:92%;
    padding:30px 18px;
  }
  .glf-popular-grid .glf-gift-card{
    min-height:430px;
  }
  .glf-popular-grid .glf-gift-visual{
    height:205px;
  }
}


/* v2.2 configurable colors and fixed photo boxes */
.giftlyfind-app{
  background:var(--glf-page-bg);
}
.glf-finder,
.glf-gift-card,
.glf-recipient,
.glf-occasion{
  background:var(--glf-card-bg);
}
.glf-gift-card,
.glf-recipient,
.glf-occasion{
  border-color:var(--glf-card-border);
}
.glf-title h2,
.glf-finder-heading h2,
.glf-gift-body h3,
.glf-recipient,
.glf-occasion,
.glf-occasion h3{
  color:var(--glf-navy);
}
.glf-title p,
.glf-finder-heading p,
.glf-gift-body p,
.glf-occasion p,
.glf-recipient small{
  color:var(--glf-muted);
}
.glf-find-btn,
.glf-ai-btn{
  background:var(--glf-coral)!important;
  background-color:var(--glf-coral)!important;
  border-color:var(--glf-coral)!important;
  color:var(--glf-button-text)!important;
}
.glf-ai-wrap{
  background:var(--glf-ai-bg);
}
.glf-ai-box{
  background:var(--glf-ai-panel);
}

/* Product photos: the visible box never changes height. */
.glf-gift-visual,
.glf-popular-grid .glf-gift-visual{
  height:190px;
  min-height:190px;
  max-height:190px;
  overflow:hidden;
  position:relative;
}
.glf-gift-visual img{
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
}

/* Prepared fixed boxes for real Recipient / Occasion category photos. */
.glf-recipient-image,
.glf-occasion-image{
  display:block;
  width:100%;
  height:110px;
  min-height:110px;
  max-height:110px;
  overflow:hidden;
  border-radius:12px;
  margin-bottom:12px;
}
.glf-recipient-image img,
.glf-occasion-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:767px){
  .glf-gift-visual,
  .glf-popular-grid .glf-gift-visual{
    height:205px;
    min-height:205px;
    max-height:205px;
  }
  .glf-recipient-image,
  .glf-occasion-image{
    height:100px;
    min-height:100px;
    max-height:100px;
  }
}


/* =========================
   GiftlyFind v2.3 redesign
   ========================= */

:root{
  --glf-page-bg:#FFF9F5;
  --glf-navy:#252221;
  --glf-coral:#7551A8;
  --glf-button-text:#FFFFFF;
  --glf-card-bg:#FFFFFF;
  --glf-card-border:#E8E1DD;
  --glf-muted:#756F6C;
  --glf-ai-bg:#F3ECFA;
  --glf-ai-panel:#FFFFFF;
  --glf-pink:#F5DDE7;
  --glf-peach:#F7E3D3;
  --glf-green:#DCE9DF;
  --glf-yellow:#F5E8B8;
}

.giftlyfind-app{
  background:transparent;
  color:var(--glf-navy);
}

/* Finder becomes the homepage tool */
.glf-finder-wrap{
  position:relative;
  z-index:5;
  margin-top:-68px;
}
.glf-finder{
  border-radius:24px;
  padding:30px;
  border:1px solid rgba(37,34,33,.08);
  box-shadow:0 22px 60px rgba(37,34,33,.10);
}
.glf-finder-heading h2{
  font-size:36px;
}
.glf-filter-form{
  grid-template-columns:repeat(4,minmax(0,1fr)) 220px;
  gap:14px;
}
.glf-field label{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--glf-navy);
  font-size:13px;
  text-transform:none;
  letter-spacing:0;
}
.glf-field label span{
  font-size:17px;
}
.glf-field select{
  height:56px;
  border-radius:13px;
  border-color:#E3DCD8;
  background:#FFFEFD;
}
.glf-find-btn{
  min-width:220px;
  height:56px;
  border-radius:13px;
  background:var(--glf-coral)!important;
  border-color:var(--glf-coral)!important;
  color:var(--glf-button-text)!important;
}

/* Popular Gift Ideas */
.glf-gift-card{
  min-height:0;
  border-radius:20px;
  border-color:var(--glf-card-border);
}
.glf-gift-visual,
.glf-popular-grid .glf-gift-visual{
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:4 / 3;
  background:#F7F3F1;
}
.glf-gift-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.glf-gift-body{
  padding:20px;
}
.glf-gift-body h3{
  color:var(--glf-navy);
}
.glf-price{
  font-size:16px;
  font-weight:800;
  color:var(--glf-navy);
  margin:0 0 12px;
}
.glf-gift-btn{
  background:transparent;
  color:var(--glf-coral)!important;
  border:1px solid var(--glf-coral);
  min-height:42px;
}
.glf-gift-btn:hover{
  background:var(--glf-coral);
  color:#fff!important;
}

/* Recipient visual cards */
.glf-recipient-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.glf-recipient{
  display:block;
  min-height:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--glf-card-border);
  border-radius:20px;
  background:#fff;
  text-align:left;
}
.glf-category-media{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:var(--glf-peach);
}
.glf-category-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.glf-category-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
}
.glf-category-placeholder span{
  font-size:54px;
}
.glf-recipient-copy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px 18px;
}
.glf-recipient strong{
  font-size:18px;
  margin:0;
}
.glf-recipient small{
  white-space:nowrap;
}

/* Occasion visual slider */
.glf-occasion{
  min-height:0;
  padding:0;
  overflow:hidden;
  border-radius:20px;
  border-color:var(--glf-card-border);
}
.glf-occasion .glf-category-media{
  aspect-ratio:4 / 3;
  border-radius:0;
  margin:0;
  height:auto;
  min-height:0;
  max-height:none;
}
.glf-occasion h3{
  margin:16px 18px 7px;
  font-size:20px;
}
.glf-occasion p{
  margin:0 18px 20px;
}
.glf-slider-arrow{
  border-color:#D9CEDF;
  color:var(--glf-coral);
}
.glf-view-all{
  margin-top:10px;
}
.glf-view-all a{
  color:var(--glf-coral);
}

/* AI WOW section */
.glf-ai-wrap{
  margin-top:64px;
  background:var(--glf-ai-bg);
  color:var(--glf-navy);
  border-radius:28px;
  padding:46px;
  grid-template-columns:.9fr 1.05fr .35fr;
  gap:28px;
  border:1px solid #E7DDF0;
}
.glf-ai-kicker{
  display:inline-block;
  font-size:13px;
  font-weight:800;
  color:var(--glf-coral);
  margin-bottom:10px;
}
.glf-ai-copy h2{
  color:var(--glf-navy);
  font-size:42px;
}
.glf-ai-copy p{
  color:var(--glf-muted);
}
.glf-ai-box{
  background:var(--glf-ai-panel);
  border:1px solid #E5DDEB;
  box-shadow:0 14px 34px rgba(117,81,168,.08);
}
.glf-ai-box textarea{
  background:#FF7043;
  border:1px solid #E5DDEB;
}
.glf-ai-btn{
  background:var(--glf-coral)!important;
  border-color:var(--glf-coral)!important;
  color:#fff!important;
}
.glf-ai-status{
  color:var(--glf-muted);
}
.glf-ai-art{
  min-height:220px;
  position:relative;
}
.glf-gift-shape{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  box-shadow:0 14px 30px rgba(117,81,168,.10);
}
.glf-gift-shape-1{
  width:112px;height:112px;left:0;top:42px;
  background:var(--glf-peach);font-size:54px;transform:rotate(-6deg);
}
.glf-gift-shape-2{
  width:62px;height:62px;right:0;top:10px;
  background:var(--glf-yellow);font-size:29px;transform:rotate(8deg);
}
.glf-gift-shape-3{
  width:78px;height:78px;right:4px;bottom:4px;
  background:var(--glf-green);font-size:34px;transform:rotate(5deg);
}

/* Trust section */
.glf-trust-section{
  margin-top:64px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  padding:28px 0 10px;
  border-top:1px solid var(--glf-card-border);
}
.glf-trust-item{
  padding:8px 14px;
}
.glf-trust-item strong{
  display:block;
  font-size:15px;
  color:var(--glf-navy);
  margin-bottom:7px;
}
.glf-trust-item span{
  display:block;
  color:var(--glf-muted);
  font-size:13px;
  line-height:1.5;
}

@media(max-width:1024px){
  .glf-finder-wrap{margin-top:-40px;}
  .glf-filter-form{grid-template-columns:repeat(2,minmax(0,1fr));}
  .glf-find-btn{width:100%;grid-column:1/-1;}
  .glf-recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .glf-ai-wrap{grid-template-columns:1fr 1fr;}
  .glf-ai-art{display:none;}
  .glf-trust-section{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:767px){
  .glf-finder-wrap{margin-top:-24px;}
  .glf-finder{padding:22px 18px;}
  .glf-finder-heading h2{font-size:29px;}
  .glf-filter-form{grid-template-columns:1fr;}
  .glf-find-btn{grid-column:auto;min-width:0;}
  .glf-gift-visual,
  .glf-popular-grid .glf-gift-visual{
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:4 / 3;
  }
  .glf-recipient-grid{grid-template-columns:1fr;}
  .glf-ai-wrap{
    grid-template-columns:1fr;
    padding:30px 20px;
  }
  .glf-ai-copy h2{font-size:34px;}
  .glf-trust-section{grid-template-columns:1fr;}
}


/* GiftlyFind v2.4 standalone section shortcodes */
.glf-section,
.glf-trust-section{
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

/* GiftlyFind v2.5 compact visual cards */
.glf-recipient .glf-category-media{height:230px!important;aspect-ratio:auto!important}
.glf-occasion .glf-category-media{height:220px!important;aspect-ratio:auto!important}
.glf-recipient .glf-category-media img,.glf-occasion .glf-category-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.glf-occasion{min-height:390px!important}
@media(max-width:1024px){.glf-recipient .glf-category-media{height:210px!important}.glf-occasion .glf-category-media{height:205px!important}}
@media(max-width:767px){.glf-recipient .glf-category-media{height:205px!important}.glf-occasion .glf-category-media{height:200px!important}.glf-occasion{min-height:360px!important}}


/* GiftlyFind v2.7 recipient grid */
.glf-recipient-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
@media(max-width:1024px){
  .glf-recipient-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:767px){
  .glf-recipient-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   GiftlyFind v2.8 layout polish
   - aligned Popular Gift cards
   - centered incomplete Recipient rows
   - more compact Occasion cards
   ========================================================= */

/* Popular Gift Ideas: all internal content aligns */
.glf-popular-grid{
  align-items:stretch;
}
.glf-popular-grid .glf-gift-card{
  height:100%;
  min-height:0!important;
}
.glf-popular-grid .glf-gift-body{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:18px 18px 18px;
}
.glf-popular-grid .glf-gift-body h3{
  line-height:1.18;
  min-height:2.36em;
  max-height:2.36em;
  overflow:hidden;
  margin-bottom:10px;
}
.glf-popular-grid .glf-gift-body > p{
  line-height:1.5;
  min-height:4.5em;
  max-height:4.5em;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:10px;
}
.glf-popular-grid .glf-price{
  min-height:24px;
  margin:0 0 10px;
  display:flex;
  align-items:center;
}
.glf-popular-grid .glf-tags{
  margin-top:auto;
  margin-bottom:12px;
  min-height:26px;
  align-content:flex-start;
}
.glf-popular-grid .glf-gift-btn{
  min-height:48px;
}

/* Recipient: center incomplete last row.
   With 7 categories desktop becomes 4 + centered 3. */
.glf-recipient-grid{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px!important;
}
.glf-recipient-grid > .glf-recipient{
  flex:0 0 calc((100% - 60px) / 4);
  max-width:calc((100% - 60px) / 4);
  box-sizing:border-box;
}

/* Occasion: reduce excess blank space */
.glf-occasion{
  min-height:330px!important;
}
.glf-occasion .glf-category-media{
  height:190px!important;
}
.glf-occasion h3{
  margin:18px 18px 7px!important;
  font-size:21px;
  line-height:1.2;
}
.glf-occasion p{
  margin:0 18px 18px!important;
  line-height:1.45;
}

@media(max-width:1024px){
  .glf-recipient-grid > .glf-recipient{
    flex:0 0 calc((100% - 20px) / 2);
    max-width:calc((100% - 20px) / 2);
  }
  .glf-occasion{
    min-height:315px!important;
  }
  .glf-occasion .glf-category-media{
    height:180px!important;
  }
}

@media(max-width:767px){
  .glf-recipient-grid{
    gap:16px!important;
  }
  .glf-recipient-grid > .glf-recipient{
    flex:0 0 100%;
    max-width:100%;
  }

  .glf-popular-grid .glf-gift-body h3{
    min-height:0;
    max-height:none;
  }
  .glf-popular-grid .glf-gift-body > p{
    min-height:0;
    max-height:4.5em;
  }

  .glf-occasion{
    min-height:300px!important;
  }
  .glf-occasion .glf-category-media{
    height:170px!important;
  }
}


/* =========================================================
   GiftlyFind v3.1 — unified grids/sliders + premium hovers
   ========================================================= */

.glf-section,
.glf-slider-section{
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

.glf-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}

/* Editable label colors */
.glf-badge{
  background:var(--glf-badge-bg,#fff)!important;
  color:var(--glf-badge-text,#252221)!important;
}
.glf-tags span{
  background:var(--glf-tag-bg,#F3F5F7)!important;
  color:var(--glf-tag-text,#607087)!important;
}

/* Generic track */
.glf-card-track{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.glf-card-track.glf-is-slider{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:var(--glf-slider-gap,24px)!important;
  overflow-x:auto!important;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:2px 0 14px;
}
.glf-card-track.glf-is-slider::-webkit-scrollbar{display:none}

.glf-card-track.glf-is-slider > *{
  flex:0 0 var(--glf-card-d)!important;
  width:var(--glf-card-d)!important;
  max-width:var(--glf-card-d)!important;
  min-width:0;
  scroll-snap-align:start;
  box-sizing:border-box;
}

/* Generic grid */
.glf-card-track.glf-is-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px!important;
  overflow:visible!important;
}
.glf-card-track.glf-is-grid > *{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}

/* Popular product cards */
.glf-popular-grid.glf-is-slider .glf-gift-card,
.glf-popular-grid.glf-is-grid .glf-gift-card{
  height:100%;
}

/* Recipient no longer uses the older flex centering rules */
.glf-recipient-grid.glf-card-track{
  justify-content:initial!important;
}
.glf-recipient-grid.glf-is-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.glf-recipient-grid.glf-is-grid > .glf-recipient{
  flex:none!important;
  max-width:none!important;
}

/* Premium hover shared everywhere */
.glf-gift-card,
.glf-recipient,
.glf-occasion{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease!important;
}
.glf-gift-visual img,
.glf-category-media img{
  transition:transform .38s ease!important;
}
.glf-gift-card:hover,
.glf-recipient:hover,
.glf-occasion:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 42px rgba(37,34,33,.10)!important;
}
.glf-gift-card:hover .glf-gift-visual img,
.glf-recipient:hover .glf-category-media img,
.glf-occasion:hover .glf-category-media img{
  transform:scale(1.03);
}

/* Keep recipient and occasion image areas internally consistent */
.glf-recipient .glf-category-media{
  height:220px!important;
  aspect-ratio:auto!important;
}
.glf-occasion .glf-category-media{
  height:180px!important;
  aspect-ratio:auto!important;
}
.glf-recipient .glf-category-media img,
.glf-occasion .glf-category-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Occasion more compact */
.glf-occasion{
  min-height:305px!important;
}
.glf-occasion h3{
  margin:16px 18px 6px!important;
}
.glf-occasion p{
  margin:0 18px 16px!important;
}

/* Slider arrows same across products / recipient / occasion */
.glf-slider-arrows{
  display:flex;
  gap:10px;
  flex:0 0 auto;
  margin-top:2px;
}
.glf-slider-arrow{
  width:44px;
  height:44px;
  border-radius:12px!important;
  background:#fff;
  border:1px solid #E0D7E6;
  color:var(--glf-coral);
  transition:transform .2s ease,background .2s ease,opacity .2s ease;
}
.glf-slider-arrow:hover:not(:disabled){
  transform:translateY(-2px);
  background:#FCFAFD;
}
.glf-slider-arrow:disabled{
  opacity:.35;
  cursor:not-allowed;
}

@media(max-width:1024px){
  .glf-card-track.glf-is-slider > *{
    flex-basis:var(--glf-card-t)!important;
    width:var(--glf-card-t)!important;
    max-width:var(--glf-card-t)!important;
  }
  .glf-card-track.glf-is-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .glf-recipient .glf-category-media{height:205px!important}
  .glf-occasion .glf-category-media{height:175px!important}
}

@media(max-width:767px){
  .glf-section-head{
    gap:12px;
  }
  .glf-slider-arrows{
    display:none;
  }

  .glf-card-track.glf-is-slider{
    gap:16px!important;
    padding-right:18px;
  }
  .glf-card-track.glf-is-slider > *{
    flex-basis:var(--glf-card-m)!important;
    width:var(--glf-card-m)!important;
    max-width:var(--glf-card-m)!important;
  }
  .glf-card-track.glf-is-grid{
    grid-template-columns:1fr!important;
  }

  .glf-recipient .glf-category-media{height:200px!important}
  .glf-occasion .glf-category-media{height:165px!important}
  .glf-occasion{min-height:285px!important}
}
