/* ============================================================
   PREZENT DLA NIEJ
   ============================================================ */
.gift{
  --gift-heading:#141414;
  --gift-text:#5A5A5A;
  --gift-muted:#9A948C;
  --gift-accent:#C9A46A;
  --gift-accent-strong:#A58C73;
  --gift-bg:#FFFFFF;
  --gift-bg-soft:#F7F3ED;
  --gift-border:#E5DCD0;
  --gift-serif:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --gift-radius:2px;

  position:relative;
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:clamp(52px,7vw,108px) clamp(20px,5vw,56px);
  background:
    radial-gradient(120% 90% at 50% 0%, #FBF8F4 0%, rgba(251,248,244,0) 60%),
    var(--gift-bg-soft);
  color:var(--gift-text);
  line-height:1.7;
  text-align:center;
  overflow:hidden;
}
.gift,.gift *,.gift *::before,.gift *::after{box-sizing:border-box;}

/* delikatne linie obramowujące sekcję */
.gift::before,
.gift::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:min(1180px,88%);
  height:1px;
  background:linear-gradient(to right,transparent,var(--gift-border) 18%,var(--gift-border) 82%,transparent);
}
.gift::before{top:0;}
.gift::after{bottom:0;}

.gift__inner{max-width:940px;margin:0 auto;}
.gift__view[hidden]{display:none;}
.gift__view{animation:gift-in .42s cubic-bezier(.22,.72,.24,1) both;}
@keyframes gift-in{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

/* ---------- nagłówek ---------- */
.gift__kicker{
  display:block;
  color:var(--gift-accent-strong);
  font-size:11px;
  font-weight:600;
  letter-spacing:.3em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.gift .gift__title{
  font-family:var(--gift-serif);
  color:var(--gift-heading);
  font-size:clamp(30px,4.4vw,52px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.01em;
  margin:0;
  text-wrap:balance;
}
.gift__rule{
  display:flex;align-items:center;justify-content:center;gap:16px;
  width:min(100%,220px);margin:22px auto 26px;color:var(--gift-accent);
}
.gift__rule i{display:block;height:1px;flex:1 1 auto;}
.gift__rule i:first-child{background:linear-gradient(to right,transparent,currentColor);}
.gift__rule i:last-child{background:linear-gradient(to left,transparent,currentColor);}
.gift__rule svg{width:13px;height:13px;flex:none;display:block;}

.gift__lead{
  margin:0 auto 16px;
  max-width:36ch;
  font-family:var(--gift-serif);
  font-style:italic;
  color:var(--gift-heading);
  font-size:clamp(20px,2.5vw,27px);
  line-height:1.4;
}
.gift__text{
  margin:0 auto 34px;
  max-width:46ch;
  font-size:15px;
  color:var(--gift-text);
}

.gift__note{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:26px auto 0;
  max-width:340px;
  font-size:11.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gift-muted);
}
.gift__note-line{
  flex:1 1 auto;
  height:1px;
  background:var(--gift-border);
}

/* ---------- przyciski ---------- */
.gift .gift-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 40px;
  background:var(--gift-heading);
  border:1px solid var(--gift-heading);
  border-radius:0 !important;
  color:#FFFFFF !important;
  font-family:inherit;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  line-height:1;
  text-decoration:none !important;
  cursor:pointer;
  appearance:none;-webkit-appearance:none;
  box-shadow:none !important;
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.gift .gift-btn svg{width:17px;height:17px;display:block;transition:transform .3s ease;}
.gift .gift-btn:hover{
  background:var(--gift-accent-strong);
  border-color:var(--gift-accent-strong);
}
.gift .gift-btn:hover svg{transform:translateX(4px);}
.gift .gift-btn:focus{outline:none !important;box-shadow:none !important;}
.gift .gift-btn:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 3px rgba(165,140,115,.32) !important;
}
.gift .gift-btn[disabled]{
  background:transparent;
  border-color:var(--gift-border);
  color:var(--gift-muted) !important;
  pointer-events:none;
}
.gift .gift-btn--wide{margin-top:30px;}

/* link „Zmień odpowiedzi" — motyw dokłada własne style przyciskom,
   więc kasujemy je jawnie na wszystkich stanach */
.gift .gift-link,
.gift .gift-link:link,
.gift .gift-link:visited,
.gift .gift-link:hover,
.gift .gift-link:focus,
.gift .gift-link:active{
  display:inline-block;
  width:auto !important;
  height:auto !important;
  margin:34px 0 0 !important;
  padding:0 0 4px !important;
  background:none !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none !important;
  text-shadow:none !important;
  font-family:inherit !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.gift .gift-link{
  color:var(--gift-muted) !important;
  border-bottom:1px solid var(--gift-border) !important;
  transition:color .25s ease,border-color .25s ease;
}
.gift .gift-link:hover,
.gift .gift-link:active{
  color:var(--gift-heading) !important;
  border-bottom:1px solid var(--gift-accent) !important;
}
.gift .gift-link:focus-visible{
  color:var(--gift-heading) !important;
  border-bottom:1px solid var(--gift-accent-strong) !important;
}

/* ---------- postęp ---------- */
.gift-progress{
  display:flex;
  align-items:center;
  gap:18px;
  max-width:420px;
  margin:0 auto 42px;
}
.gift-progress__back{
  flex:none;
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  border:1px solid var(--gift-border);
  border-radius:50%;
  background:transparent;
  color:var(--gift-heading);
  cursor:pointer;
  appearance:none;-webkit-appearance:none;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.gift-progress__back[hidden]{display:none;}
.gift-progress__back:hover{background:var(--gift-heading);border-color:var(--gift-heading);color:#fff;}
.gift-progress__back svg{width:15px;height:15px;display:block;}

.gift-progress__steps{
  flex:1 1 auto;
  display:flex;
  gap:6px;
}
.gift-progress__steps i{
  flex:1 1 auto;
  height:2px;
  background:var(--gift-border);
  transition:background .4s ease;
}
.gift-progress__steps i.is-done{background:var(--gift-accent);}

.gift-progress__label{
  flex:none;
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  font-family:var(--gift-serif);
  font-size:15px;
  color:var(--gift-muted);
  letter-spacing:.06em;
}
.gift-progress__label em{font-style:normal;}
.gift-progress__label em[data-gift-current]{color:var(--gift-heading);}

/* ---------- pytania ---------- */
.gift-step[hidden]{display:none;}
.gift-step{animation:gift-in .36s cubic-bezier(.22,.72,.24,1) both;}
.gift .gift-step__title{
  font-family:var(--gift-serif);
  color:var(--gift-heading);
  font-size:clamp(24px,3.2vw,36px);
  font-weight:400;
  line-height:1.15;
  margin:0 0 10px;
  text-wrap:balance;
}
.gift-step__hint{
  margin:0 auto 32px;
  max-width:42ch;
  font-size:13.5px;
  color:var(--gift-muted);
}

.gift-options{
  display:grid;
  gap:10px;
  max-width:520px;
  margin:0 auto;
  text-align:left;
}

.gift .gift-option{
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  padding:20px 24px;
  background:var(--gift-bg);
  border:1px solid var(--gift-border);
  border-radius:var(--gift-radius) !important;
  color:var(--gift-heading);
  font-family:inherit;
  font-size:16px;
  line-height:1.4;
  text-align:left !important;
  cursor:pointer;
  appearance:none;-webkit-appearance:none;
  box-shadow:none;
  transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}
.gift .gift-option:hover{
  border-color:var(--gift-accent);
  box-shadow:0 10px 26px rgba(120,96,64,.08);
  transform:translateY(-2px);
}
.gift .gift-option:focus{outline:none !important;box-shadow:none !important;}
.gift .gift-option:focus-visible{
  outline:none !important;
  border-color:var(--gift-accent-strong) !important;
  box-shadow:0 0 0 3px rgba(165,140,115,.26) !important;
}
.gift .gift-option.is-selected{
  border-color:var(--gift-heading);
  box-shadow:inset 3px 0 0 var(--gift-accent);
}

.gift-option__label{
  flex:1 1 auto;
  text-align:left;
  font-weight:500;
}
.gift-option__label em{
  display:block;
  margin-top:3px;
  font-style:normal;
  font-size:13px;
  font-weight:400;
  color:var(--gift-muted);
  letter-spacing:.01em;
}

.gift-option__dot{
  flex:none;
  width:30px;height:30px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.7);
}
.gift-option__dot--gold{background:linear-gradient(140deg,#F2E1C2,#C9A46A 62%,#AD8A52);}
.gift-option__dot--silver{background:linear-gradient(140deg,#F4F6F7,#C4CBD1 62%,#A3ABB2);}
.gift-option__dot--both{background:linear-gradient(140deg,#F2E1C2 0 48%,#C9A46A 48% 50%,#C4CBD1 50% 100%);}

.gift-option__ico{
  flex:none;
  width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gift-accent-strong);
}
.gift-option__ico svg{width:22px;height:22px;display:block;}

.gift-option__check{
  flex:none;
  width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gift-border);
  border-radius:50%;
  color:transparent;
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.gift-option__check svg{width:11px;height:11px;display:block;}
.gift .gift-option.is-selected .gift-option__check{
  background:var(--gift-accent);
  border-color:var(--gift-accent);
  color:#FFFFFF;
}

/* ---------- wyniki ---------- */
.gift-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0 0 36px;
}
.gift-tag{
  display:inline-block;
  padding:6px 15px;
  border:1px solid var(--gift-border);
  border-radius:999px;
  background:rgba(255,255,255,.6);
  font-size:11.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gift-accent-strong);
}

.gift-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:clamp(18px,2.5vw,30px);
  text-align:left;
}
.gift-card{
  display:flex;
  flex-direction:column;
  background:var(--gift-bg);
  border:1px solid var(--gift-border);
  transition:box-shadow .32s ease,transform .32s ease;
}
.gift-card:hover{
  box-shadow:0 18px 40px rgba(120,96,64,.1);
  transform:translateY(-3px);
}
.gift-card__media{
  display:block;
  overflow:hidden;
  background:var(--gift-bg-soft);
}
.gift-card__media img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.22,.72,.24,1);
}
.gift-card:hover .gift-card__media img{transform:scale(1.05);}

.gift-card__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:22px 22px 24px;
}
.gift .gift-card__name{
  font-family:var(--gift-serif);
  color:var(--gift-heading);
  font-size:21px;
  font-weight:400;
  line-height:1.25;
  margin:0 0 6px;
}
.gift-card__price{
  margin:0 0 14px;
  color:var(--gift-accent-strong);
  font-size:14px;
  letter-spacing:.06em;
}
.gift-card__why{
  margin:0 0 20px;
  flex:1 1 auto;
  font-size:14px;
  color:var(--gift-text);
  line-height:1.65;
}
.gift .gift-card__link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  align-self:flex-start;
  padding-bottom:4px;
  border-bottom:1px solid var(--gift-accent);
  color:var(--gift-heading) !important;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:color .25s ease,gap .25s ease;
}
.gift .gift-card__link svg{width:15px;height:15px;display:block;}
.gift .gift-card__link:hover{color:var(--gift-accent-strong) !important;gap:14px;}

/* ---------- telefon ---------- */
@media (max-width:640px){
  .gift{padding:44px 18px 52px;}
  .gift__lead br{display:none;}
  .gift .gift-option{padding:17px 18px;gap:14px;font-size:15px;}
  .gift-option__dot,
  .gift-option__ico{width:26px;height:26px;}
  .gift .gift-btn{width:100%;padding:17px 26px;}
  .gift-progress{gap:14px;margin-bottom:32px;}
  .gift-cards{grid-template-columns:1fr;gap:14px;}
  .gift-card{flex-direction:row;}
  .gift-card__media{flex:none;width:38%;}
  .gift-card__media img{aspect-ratio:3/4;height:100%;}
  .gift-card__body{padding:16px 16px 18px;}
  .gift .gift-card__name{font-size:18px;}
  .gift-card__why{font-size:13px;margin-bottom:14px;}
}

@media (prefers-reduced-motion:reduce){
  .gift__view,.gift-step{animation:none;}
  .gift .gift-option,.gift-card,.gift-card__media img{transition:none;}
}

/* ============================================================
   WYNIKI POBIERANE Z SKLEPU
   ============================================================ */
.gift-cards[hidden]{display:none;}

.gift-cards.is-loading{
	min-height:200px;
	position:relative;
}
.gift-cards.is-loading::after{
	content:"";
	position:absolute;
	top:50%;left:50%;
	width:30px;height:30px;
	margin:-15px 0 0 -15px;
	border:1px solid var(--gift-border);
	border-top-color:var(--gift-accent);
	border-radius:50%;
	animation:gift-spin .8s linear infinite;
}
@keyframes gift-spin{to{transform:rotate(360deg);}}

/* karta z prawdziwego produktu — obrazek wstawia WooCommerce */
.gift .gift-card__media img{
	display:block;
	width:100%;
	aspect-ratio:4/5;
	object-fit:cover;
	border-radius:0 !important;
	transition:transform .8s cubic-bezier(.22,.72,.24,1);
}
.gift-card__price del{opacity:.5;margin-right:6px;font-size:13px;}
.gift-card__price ins{text-decoration:none;}

/* brak dopasowania */
.gift-empty{
	max-width:44ch;
	margin:0 auto;
	text-align:center;
}
.gift-empty[hidden]{display:none;}
.gift-empty p{
	margin:0 0 22px;
	font-family:var(--gift-serif);
	font-style:italic;
	font-size:19px;
	line-height:1.5;
	color:var(--gift-heading);
}

@media (prefers-reduced-motion:reduce){
	.gift-cards.is-loading::after{animation:none;}
}
