/* ==========================================================
   CHOCO BONTÉ – SVÁTKY NA HOMEPAGE v3
   Vizuálně odlehčená verze
   ========================================================== */
#cb-nameday-reminder{
  --cb-pink:#c70342;
  --cb-pink-soft:#fff1f5;
  --cb-dark:#302529;
  --cb-text:#74686c;
  --cb-border:rgba(86,38,49,.10);
  max-width:1440px;
  margin:clamp(34px,4vw,58px) auto;
  padding:0 clamp(16px,3vw,28px);
  font-family:Montserrat,Arial,sans-serif;
}
#cb-nameday-reminder *{box-sizing:border-box}

.cb-nd-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:30px;margin-bottom:20px;
}
.cb-nd-intro{max-width:680px}
.cb-nd-label{
  display:inline-flex;align-items:center;gap:7px;
  margin:0 0 11px;padding:7px 11px;
  border-radius:999px;
  background:rgba(199,3,66,.10);
  color:var(--cb-pink);
  font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
}
.cb-nd-label:before{
  content:"♡";display:inline-grid;place-items:center;
  font-size:14px;line-height:1;font-weight:700;
}
.cb-nd-head h2{
  margin:0 0 8px;color:var(--cb-dark);
  font-size:clamp(28px,3vw,42px);line-height:1.06;
  letter-spacing:-.04em;font-weight:800;
}
.cb-nd-head h2 span{color:var(--cb-pink)}
.cb-nd-head p{
  margin:0;color:var(--cb-text);
  font-size:14px;line-height:1.55;
}
.cb-nd-all{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  padding:11px 16px;border:1px solid var(--cb-border);border-radius:999px;
  background:#fff;color:var(--cb-dark)!important;
  box-shadow:0 6px 20px rgba(73,31,44,.04);
  font-size:12px;font-weight:700;text-decoration:none!important;
}

/* Karty: méně textu, více vizuální hierarchie */
.cb-nd-grid,.cb-nd-more{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.cb-nd-more{display:none;margin-top:14px}
#cb-nameday-reminder.is-expanded .cb-nd-more{display:grid}

.cb-nd-card{
  position:relative;min-height:190px;padding:20px;
  border:1px solid var(--cb-border);border-radius:22px;
  background:#fff;overflow:hidden;
  box-shadow:0 8px 24px rgba(73,31,44,.045);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.cb-nd-card:after{
  content:"";position:absolute;right:-34px;bottom:-48px;
  width:128px;height:128px;border-radius:50%;
  background:rgba(199,3,66,.045);pointer-events:none;
}
.cb-nd-card:hover{
  transform:translateY(-2px);
  border-color:rgba(199,3,66,.16);
  box-shadow:0 14px 30px rgba(73,31,44,.075);
}
.cb-nd-card.today{
  background:linear-gradient(145deg,#c70342 0%,#a90038 100%);
  border-color:transparent;
  box-shadow:0 14px 34px rgba(199,3,66,.16);
}
.cb-nd-card.today:after{background:rgba(255,255,255,.08)}

.cb-nd-top{
  position:relative;z-index:1;
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;margin-bottom:18px;
}
.cb-nd-when{
  color:var(--cb-pink);font-size:9px;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;
}
.today .cb-nd-when{color:#ffd8e4}
.cb-nd-date{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;height:30px;padding:0 10px;
  border-radius:999px;background:var(--cb-pink-soft);
  color:var(--cb-pink);font-size:11px;font-weight:800;
}
.today .cb-nd-date{background:rgba(255,255,255,.15);color:#fff}

.cb-nd-card-main{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:14px;
  margin-bottom:22px;
}
.cb-nd-gift{
  flex:0 0 46px;width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:15px;background:var(--cb-pink-soft);
  color:var(--cb-pink);font-size:25px;line-height:1;
}
.today .cb-nd-gift{background:rgba(255,255,255,.14);color:#fff}
.cb-nd-name{
  margin:0 0 3px;color:var(--cb-dark);
  font-size:clamp(22px,1.8vw,28px);line-height:1.08;
  letter-spacing:-.03em;font-weight:800;
}
.today .cb-nd-name{color:#fff}
.cb-nd-hint{
  display:block;color:#94878b;
  font-size:11px;font-weight:500;
}
.today .cb-nd-hint{color:rgba(255,255,255,.72)}

.cb-nd-copy{display:none!important}
.cb-nd-cta{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;gap:7px;
  color:var(--cb-pink)!important;
  font-size:12px;font-weight:800;text-decoration:none!important;
}
.cb-nd-cta span{transition:transform .2s ease}
.cb-nd-cta:hover span{transform:translateX(3px)}
.today .cb-nd-cta{color:#fff!important}

.cb-nd-actions{display:flex;justify-content:center;margin-top:15px}
.cb-nd-toggle{
  padding:10px 15px;border:1px solid var(--cb-border);border-radius:999px;
  background:#fff;color:var(--cb-dark);
  box-shadow:0 5px 16px rgba(73,31,44,.035);
  font:inherit;font-size:11px;font-weight:700;cursor:pointer;
}

/* USP pod sekcí má díky menší sekci víc prostoru */
@media(max-width:900px){
  .cb-nd-grid,.cb-nd-more{grid-template-columns:1fr 1fr}
  .cb-nd-head{align-items:flex-start;flex-direction:column;gap:16px}
}
@media(max-width:620px){
  #cb-nameday-reminder{margin:30px auto 38px;padding:0 16px}
  .cb-nd-head{margin-bottom:16px}
  .cb-nd-head h2{font-size:30px}
  .cb-nd-head p{font-size:13px}
  .cb-nd-all{width:100%}
  .cb-nd-grid,.cb-nd-more{
    display:flex;overflow-x:auto;gap:12px;
    margin-left:-16px;margin-right:-16px;
    padding:0 16px 8px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .cb-nd-grid::-webkit-scrollbar,.cb-nd-more::-webkit-scrollbar{display:none}
  .cb-nd-more{display:none;margin-top:12px}
  #cb-nameday-reminder.is-expanded .cb-nd-more{display:flex}
  .cb-nd-card{
    flex:0 0 82%;min-height:178px;padding:18px;
    border-radius:20px;scroll-snap-align:start;
  }
  .cb-nd-card-main{margin-bottom:18px}
  .cb-nd-gift{width:42px;height:42px;flex-basis:42px;border-radius:13px}
}


/* FINAL – Svátky jsou samostatná BÍLÁ full-width sekce */
#cb-nameday-reminder{
    position:relative!important;
    z-index:2!important;
    max-width:1440px!important;
    margin:0 auto!important;
    padding:clamp(44px,4.5vw,64px) clamp(16px,3vw,28px) clamp(48px,5vw,72px)!important;
    background:#ffffff!important;
    box-shadow:0 0 0 100vmax #ffffff!important;
    clip-path:inset(0 -100vmax)!important;
}
@media(max-width:620px){
    #cb-nameday-reminder{
        margin:0 auto!important;
        padding:34px 16px 42px!important;
    }
}
