/* =========================================================
   ONZE KEUKEN — RECIPE DETAIL V2

   Alleen normale receptdetailpagina.
   Kookmodus bewust onaangeraakt.
   ========================================================= */


/* =========================================================
   PAGINA
   ========================================================= */

.recipe-detail-page {
  width: min(
    calc(100% - 36px),
    1280px
  );

  max-width: 1280px;

  margin:
    0
    auto;

  padding-bottom: 70px;
}


.recipe-detail-page .page-header {
  margin-bottom: 22px;
}


/* Owner edit button */

.recipe-detail-page
.recipe-edit-detail-button {
  margin-left: auto;

  min-height: 46px;

  padding:
    0
    17px;

  border:
    1px
    solid
    #e2d6cb;

  border-radius: 15px;

  background: #fff;

  color: #594a40;

  box-shadow:
    0
    5px
    16px
    rgba(70, 48, 32, .05);
}


/* =========================================================
   HERO
   ========================================================= */

.recipe-detail-page
.recipe-hero {
  overflow: hidden;

  border:
    1px
    solid
    #e9ddd3;

  border-radius: 28px;

  background: #fff;

  box-shadow:
    0
    10px
    34px
    rgba(64, 44, 30, .055);
}


.recipe-detail-page
.recipe-hero-image-wrap {
  width: 100%;

  max-height: 430px;

  aspect-ratio: 16 / 6;

  overflow: hidden;

  background: #eee5dc;
}


.recipe-detail-page
.recipe-hero-image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}


.recipe-detail-page
.recipe-hero-content {
  padding:
    30px
    34px
    32px !important;
}


.recipe-detail-page
.recipe-hero-content > h1 {
  max-width: 960px;

  margin:
    0
    0
    10px;

  font-size:
    clamp(
      34px,
      3.3vw,
      48px
    );

  line-height: 1.04;

  letter-spacing: -.025em;
}


.recipe-detail-page
.description {
  max-width: 920px;

  margin:
    0;

  color: #756a62;

  font-size: 16px;

  line-height: 1.6;
}


/* =========================================================
   BEDIENINGSVLAK
   ========================================================= */

.recipe-detail-page
.family-hero-controls-v10 {
  margin-top: 26px;

  grid-template-columns:
    minmax(390px, .95fr)
    minmax(0, 1.05fr);

  border-color: #e4d7cc;

  border-radius: 22px;

  background: #f7f1eb;

  box-shadow:
    inset
    0
    1px
    rgba(255,255,255,.65);
}


.recipe-detail-page
.family-hero-actions-v10 {
  padding:
    22px !important;
}


.recipe-detail-page
.family-hero-info-v10 {
  padding:
    24px
    26px !important;
}


.recipe-detail-page
.family-info-pill-v10 {
  min-height: 42px;

  display: inline-flex;
  align-items: center;

  padding:
    0
    14px;

  border-radius: 999px;

  background:
    rgba(255,255,255,.86);

  font-weight: 750;
}


/* Portiekeuze */

.recipe-detail-page
.family-servings-box {
  border:
    1px
    solid
    rgba(226,214,203,.7);

  background:
    rgba(255,255,255,.78)
    !important;
}


.recipe-detail-page
.family-servings-button {
  border-radius:
    15px !important;
}


/* Acties wat rustiger */

.recipe-detail-page
.family-hero-actions-v10
#start-cooking,

.recipe-detail-page
.family-hero-actions-v10
#recipe-shopping-button,

.recipe-detail-page
.family-hero-actions-v10
#recipe-share-button {
  border-radius:
    16px !important;

  box-shadow: none !important;
}


/* =========================================================
   INGREDIËNTEN + STAPPEN
   ========================================================= */

.recipe-detail-page
.recipe-columns {
  display: grid;

  grid-template-columns:
    minmax(300px, .72fr)
    minmax(0, 1.55fr);

  align-items: start;

  gap: 20px;

  margin-top: 22px;
}


.recipe-detail-page
.recipe-section {
  box-sizing: border-box;

  padding:
    25px
    26px;

  border:
    1px
    solid
    #e9dfd6;

  border-radius: 24px;

  background: #fff;

  box-shadow:
    0
    7px
    24px
    rgba(62, 43, 29, .045);
}


.recipe-detail-page
.recipe-section > h2 {
  margin:
    0
    0
    18px;

  font-size: 26px;

  line-height: 1.15;

  letter-spacing: -.015em;
}


/* =========================================================
   INGREDIËNTEN
   ========================================================= */

.recipe-detail-page
.ingredients {
  margin: 0;
  padding: 0;
}


.recipe-detail-page
.ingredients li {
  min-height: 28px;

  padding:
    10px
    0;

  border-bottom:
    1px
    solid
    #f0e8e1;

  font-size: 15px;

  line-height: 1.45;
}


.recipe-detail-page
.ingredients li:last-child {
  border-bottom: 0;
}


/* =========================================================
   BEREIDINGSSTAPPEN
   ========================================================= */

.recipe-detail-page
.instructions {
  display: grid;

  gap: 0;
}


.recipe-detail-page
.instruction {
  display: grid;

  grid-template-columns:
    44px
    minmax(0, 1fr);

  gap: 15px;

  align-items: start;

  padding:
    14px
    0;

  border-bottom:
    1px
    solid
    #f0e8e1;
}


.recipe-detail-page
.instruction:first-child {
  padding-top: 2px;
}


.recipe-detail-page
.instruction:last-child {
  padding-bottom: 2px;

  border-bottom: 0;
}


.recipe-detail-page
.step-number {
  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  border-radius: 14px;

  background: var(--accent);

  color: #fff;

  font-size: 15px;
  font-weight: 900;
}


.recipe-detail-page
.step-content {
  padding-top: 8px;

  font-size: 15px;

  line-height: 1.6;
}


.recipe-detail-page
.step-content strong {
  display: block;

  margin-bottom: 5px;

  font-size: 16px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

  .recipe-detail-page {
    width:
      calc(100% - 28px);
  }


  .recipe-detail-page
  .recipe-hero-content {
    padding:
      26px
      26px
      28px !important;
  }


  .recipe-detail-page
  .recipe-hero-image-wrap {
    aspect-ratio:
      16 / 7;
  }


  .recipe-detail-page
  .family-hero-controls-v10 {
    grid-template-columns:
      1fr;
  }


  .recipe-detail-page
  .recipe-columns {
    grid-template-columns:
      1fr;
  }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

  .recipe-detail-page {
    width:
      calc(100% - 20px);

    padding-bottom:
      110px;
  }


  .recipe-detail-page
  .recipe-hero {
    border-radius: 22px;
  }


  .recipe-detail-page
  .recipe-hero-image-wrap {
    max-height: none;

    aspect-ratio:
      4 / 3;
  }


  .recipe-detail-page
  .recipe-hero-content {
    padding:
      20px
      19px
      22px !important;
  }


  .recipe-detail-page
  .recipe-hero-content > h1 {
    font-size:
      30px;
  }


  .recipe-detail-page
  .description {
    font-size: 15px;
  }


  .recipe-detail-page
  .recipe-columns {
    gap: 16px;

    margin-top: 16px;
  }


  .recipe-detail-page
  .recipe-section {
    padding:
      20px;

    border-radius: 20px;
  }


  .recipe-detail-page
  .recipe-section > h2 {
    font-size: 23px;
  }


  .recipe-detail-page
  .instruction {
    grid-template-columns:
      40px
      minmax(0, 1fr);

    gap: 12px;
  }


  .recipe-detail-page
  .step-number {
    width: 40px;
    height: 40px;

    border-radius: 13px;
  }
}


/* =========================================================
   RECIPE DETAIL V2.1
   Compactere desktop hero
   ========================================================= */

@media (min-width: 901px) {

  .recipe-detail-page
  .recipe-hero-image-wrap {
    max-height: 360px;

    aspect-ratio: 16 / 5.5;
  }


  .recipe-detail-page
  .recipe-hero-content {
    padding:
      27px
      32px
      30px !important;
  }


  .recipe-detail-page
  .recipe-hero-content > h1 {
    max-width: 900px;

    font-size:
      clamp(
        34px,
        3vw,
        43px
      );

    line-height: 1.06;
  }


  .recipe-detail-page
  .description {
    max-width: 880px;
  }
}


/* =========================================================
   RECIPE DETAIL V2.2
   Shopping-button mag na toevoegen netjes afbreken
   ========================================================= */

.recipe-detail-page
.family-hero-actions-v10
#recipe-shopping-button {
  min-width: 0 !important;
  width: 100% !important;

  padding:
    8px
    12px !important;

  white-space: normal !important;
  overflow-wrap: anywhere;

  line-height: 1.25 !important;

  text-align: center !important;
}


/*
 * Op compactere breedtes mag de tekst iets
 * kleiner worden als de succesmelding lang is.
 */
@media
  (min-width: 651px)
  and (max-width: 1100px) {

  .recipe-detail-page
  .family-hero-actions-v10
  #recipe-shopping-button {
    font-size: 14px !important;
  }
}
