/* Elanterna campaign component. The child theme owns the shared visual tokens. */
.el-chef {
  margin-block:56px;
  color:var(--el-ink);
  font-size:var(--el-text-sm);
  line-height:1.6;
}
.el-chef__hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  overflow:hidden;
  border-radius:var(--el-radius-panel);
  background:var(--el-deep);
}
.el-chef__copy {
  padding:clamp(28px,3.4vw,48px);
  color:var(--el-paper);
}
.el-chef .el-chef__eyebrow {font-size:var(--el-text-sm);color:var(--el-sage)}
.el-chef h2 {
  margin:22px 0;
  color:inherit;
  font-size:clamp(38px,4.4vw,62px);
  line-height:1.06;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.el-chef h2 em {font-style:normal;color:var(--el-sage)}
.el-chef .el-chef__intro,.el-chef .el-chef__instruction {
  font-size:var(--el-text-sm);
  line-height:1.7;
  margin:0 0 24px;
  color:inherit;
}
.el-chef__voucher {
  display:grid;
  justify-items:start;
  gap:5px;
  padding:17px 22px;
  margin-bottom:20px;
  border:1px dashed var(--el-muted);
  border-radius:var(--el-radius-card);
  background:var(--el-paper);
  color:var(--el-ink);
}
.el-chef__voucher-label {font-size:var(--el-text-sm);letter-spacing:.04em;font-weight:700}
.el-chef .el-chef__voucher code {
  display:block;
  padding:0;
  color:var(--el-orange);
  background:none;
  font:700 clamp(28px,3vw,38px)/1.15 var(--el-font);
  letter-spacing:.07em;
  user-select:all;
}
.el-chef__voucher-detail {font-size:var(--el-text-sm);line-height:1.5}
.el-chef__visual {position:relative;min-width:0;isolation:isolate}
.el-chef__scene {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.el-chef__visual::after {
  content:"";
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(transparent,var(--el-deep));
  opacity:.88;
  z-index:1;
  pointer-events:none;
}
.el-chef__badge {
  position:absolute;
  top:28px;
  right:28px;
  display:grid;
  align-content:center;
  justify-items:center;
  width:138px;
  height:138px;
  padding:14px;
  border-radius:50%;
  background:var(--el-orange);
  color:var(--el-surface);
  text-align:center;
  box-shadow:0 10px 30px #17333a26;
  z-index:2;
}
.el-chef__badge strong {font-size:38px;line-height:1.1;letter-spacing:-.04em}
.el-chef__badge span {margin-top:4px;font-size:var(--el-text-sm);line-height:1.35}
.el-chef__caption {position:absolute;inset:auto 32px 30px;z-index:2;color:var(--el-surface)}
.el-chef__caption span {display:block;font-size:var(--el-text-sm);font-weight:700;letter-spacing:.04em}
.el-chef__caption strong {display:block;font-size:clamp(24px,2.5vw,34px);line-height:1.3;letter-spacing:-.025em}
.el-chef__collection {padding:28px 0 0}
.el-chef__collection-heading {display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:0 0 20px}
.el-chef__collection-heading h3 {font-size:clamp(24px,2.5vw,30px);line-height:1.25;letter-spacing:-.025em;margin:0;color:var(--el-ink)}
.el-chef__collection-heading>span {color:var(--el-muted);font-size:var(--el-text-sm)}
.el-chef__products {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.el-chef__product {
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--el-line);
  border-radius:var(--el-radius-card);
  background:var(--el-surface);
  color:var(--el-ink);
  text-decoration:none;
  transition:border-color .18s ease;
}
.el-chef__product:hover {border-color:var(--el-orange);color:var(--el-ink)}
.el-chef__product-media {display:block;padding:18px 24px 0}
.el-chef__product-media img {display:block;width:100%;height:190px;object-fit:contain}
.el-chef__product-copy {display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:20px 24px 18px}
.el-chef__product-use {color:var(--el-orange);font-size:var(--el-text-sm);line-height:1.45}
.el-chef__product h4 {font-size:21px;line-height:1.35;margin:7px 0 10px;letter-spacing:-.02em;color:var(--el-ink)}
.el-chef__product-description {font-size:var(--el-text-sm);line-height:1.6;color:var(--el-muted);margin-bottom:12px}
.el-chef__product .el-text-link {margin-top:auto}
.el-chef .el-chef__conditions {margin:20px 0 0;font-size:var(--el-text-sm);line-height:1.65;color:var(--el-muted)}
@media (max-width:991px) {
  .el-chef__hero {grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
  .el-chef__copy {padding:28px}
  .el-chef__products {gap:12px}
  .el-chef__product-copy {padding:16px}
  .el-chef__product-media {padding:14px 16px 0}
  .el-chef__product-media img {height:160px}
  .el-chef__caption {inset:auto 24px 24px}
}
@media (max-width:767px) {
  .el-chef {margin-block:36px}
  .el-chef__hero {grid-template-columns:minmax(0,1fr)}
  .el-chef__copy {padding:28px 24px}
  .el-chef h2 {font-size:clamp(38px,10vw,52px);margin:18px 0}
  .el-chef__visual {min-height:290px;aspect-ratio:1.16}
  .el-chef__scene {object-position:center}
  .el-chef__badge {top:20px;right:20px;width:120px;height:120px}
  .el-chef__badge strong {font-size:34px}
  .el-chef__caption {inset:auto 24px 24px}
  .el-chef__copy>.el-button {width:100%}
  .el-chef__collection-heading {gap:8px}
  .el-chef__products {grid-template-columns:minmax(0,1fr)}
  .el-chef__product {display:grid;grid-template-columns:minmax(84px,32%) minmax(0,1fr);align-items:center}
  .el-chef__product-media {padding:12px 0 12px 12px}
  .el-chef__product-media img {height:auto;aspect-ratio:1}
  .el-chef__product-copy {padding:18px 16px}
  .el-chef__product h4 {font-size:20px}
  .el-chef__product-description {margin-bottom:6px}
}
@media (prefers-reduced-motion:reduce) {
  .el-chef__product {transition:none}
}
