.elementor-12813 .elementor-element.elementor-element-6aec87f{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12813 .elementor-element.elementor-element-9ae0065 > .elementor-widget-container{margin:7px 0px -33px 0px;}.elementor-12813 .elementor-element.elementor-element-c538ae6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-12813 .elementor-element.elementor-element-0c334e5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12813 .elementor-element.elementor-element-0cd3561.elementor-element{--align-self:flex-start;}.woocommerce .elementor-12813 .elementor-element.elementor-element-0cd3561 .flex-viewport:not(:last-child){margin-bottom:11px;}.woocommerce .elementor-12813 .elementor-element.elementor-element-0cd3561 .flex-control-thumbs img{border-style:none;border-radius:10px 10px 10px 10px;}.woocommerce .elementor-12813 .elementor-element.elementor-element-0cd3561 .flex-control-thumbs li{padding-right:calc(50px / 2);padding-left:calc(50px / 2);padding-bottom:50px;}.woocommerce .elementor-12813 .elementor-element.elementor-element-0cd3561 .flex-control-thumbs{margin-right:calc(-50px / 2);margin-left:calc(-50px / 2);}.elementor-12813 .elementor-element.elementor-element-10a8d5e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:15px 0px;--row-gap:15px;--column-gap:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-12813 .elementor-element.elementor-element-1ed5974 > .elementor-widget-container{padding:0em 0em 0em 0em;}.elementor-12813 .elementor-element.elementor-element-1ed5974 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:2em;font-weight:900;text-transform:capitalize;line-height:1.5em;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );}.elementor-12813 .elementor-element.elementor-element-d070a50 > .elementor-widget-container{padding:5% 0% 0% 0%;}.elementor-12813 .elementor-element.elementor-element-d070a50 .cart button, .elementor-12813 .elementor-element.elementor-element-d070a50 .cart .button{background-color:var( --e-global-color-primary );transition:all 0.2s;}.elementor-12813 .elementor-element.elementor-element-d070a50 .cart button:hover, .elementor-12813 .elementor-element.elementor-element-d070a50 .cart .button:hover{background-color:#228A60;}.elementor-12813 .elementor-element.elementor-element-7b7efac{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12813 .elementor-element.elementor-element-cfd1712{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:3%;--margin-bottom:3%;--margin-left:0%;--margin-right:0%;}.elementor-12813 .elementor-element.elementor-element-4c78fd4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12813 .elementor-element.elementor-element-89026cb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-12813 .elementor-element.elementor-element-1332155{--display:flex;--margin-top:3%;--margin-bottom:5%;--margin-left:0%;--margin-right:0%;}.elementor-12813 .elementor-element.elementor-element-8aa20ec{--display:flex;}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.woocommerce .elementor-widget-woocommerce-product-related.elementor-wc-products .products > h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );}.elementor-12813 .elementor-element.elementor-element-39f09a6.elementor-wc-products ul.products li.product{--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;}.elementor-12813 .elementor-element.elementor-element-39f09a6.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-12813 .elementor-element.elementor-element-39f09a6.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(min-width:768px){.elementor-12813 .elementor-element.elementor-element-0c334e5{--width:50%;}.elementor-12813 .elementor-element.elementor-element-10a8d5e{--width:50%;}.elementor-12813 .elementor-element.elementor-element-4c78fd4{--width:50%;}.elementor-12813 .elementor-element.elementor-element-89026cb{--width:50%;}}@media(max-width:1024px){.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-12813 .elementor-element.elementor-element-39f09a6.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products ul.products li.product .button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-woocommerce-product-related.elementor-wc-products .added_to_cart{font-size:var( --e-global-typography-accent-font-size );}.elementor-12813 .elementor-element.elementor-element-39f09a6.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for container, class: .elementor-element-6aec87f */.woocommerce-breadcrumb{
  display:block !important;
  font-family:'Inter',sans-serif;
  font-size:12px !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#2F5233 !important;
  opacity:.65;
  font-weight:600;
  border-bottom:1px solid rgba(47,82,51,.15);
  padding-bottom:16px;
  margin-bottom:40px !important;
}
.woocommerce-breadcrumb a{
  color:#2F5233 !important;
  text-decoration:none;
}
.woocommerce-breadcrumb a:hover{
  text-decoration:underline;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-images, class: .elementor-element-0cd3561 *//* Thumbnail row: force a small fixed size + left alignment + consistent gap. */

.flex-control-thumbs{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:12px !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}

.flex-control-thumbs li{
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 64px !important;
  float:none !important;
}

.flex-control-thumbs li img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  object-fit:cover;
  border-radius:10px;
  opacity:.6;
  transition:opacity .2s ease, border-color .2s ease;
}
.flex-control-thumbs li img.flex-active,
.flex-control-thumbs li img:hover{
  opacity:1;
  border-color:#2F5233 !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8d678d1 */.csn-eyebrow-row{
  display:flex;
  gap:8px;
  margin-bottom:18px;
  flex-wrap:wrap;
}
.csn-tag{
  font-family:'Inter',sans-serif;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:700;
  color:#2F5233;
  background:rgba(143,174,148,.28);
  padding:5px 11px;
  border-radius:100px;
  display:inline-block;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-613a62a *//* =========================================================
   CHEESE SHOP — INGREDIENTS PANEL
   Widget CSS class: product-ingredients
   ========================================================= */


/* ---------------------------------------------------------
   Outer Elementor widget
   --------------------------------------------------------- */

.elementor-element.product-ingredients {
  position: relative;

  margin: 8px 0 14px !important;
  padding: 0 !important;

  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  overflow: visible !important;
}


/* Prevent old cached styles from creating duplicate panels */

.elementor-element.product-ingredients::before,
.elementor-element.product-ingredients::after {
  content: none !important;
  display: none !important;
}


/* ---------------------------------------------------------
   Ingredients panel
   --------------------------------------------------------- */

.elementor-element.product-ingredients
> .elementor-widget-container {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: 54px 28px 22px !important;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(201, 154, 73, 0.20),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      rgba(239, 245, 239, 0.96),
      rgba(255, 251, 241, 0.94)
    );

  border: 1px solid rgba(47, 88, 58, 0.16);
  border-radius: 20px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 12px 30px rgba(37, 73, 47, 0.08);
}


/* ---------------------------------------------------------
   Ingredients text
   Matches the description typography
   --------------------------------------------------------- */

.elementor-element.product-ingredients
> .elementor-widget-container
> p {
  position: relative;
  z-index: 2;

  margin: 0 !important;
  padding: 0 !important;

  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
}

.elementor-element.product-ingredients
> .elementor-widget-container
> p + p {
  margin-top: 0.65em !important;
}


/* ---------------------------------------------------------
   Ingredients label
   --------------------------------------------------------- */

.elementor-element.product-ingredients
> .elementor-widget-container::before {
  content: "INGREDIENTS";

  position: absolute;
  top: 14px;
  left: 27px;
  z-index: 3;

  display: block;
  padding: 8px 15px;

  color: #31583b;
  background: rgba(226, 235, 226, 0.96);

  border: 1px solid rgba(47, 88, 58, 0.16);
  border-radius: 999px;

  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.16em;

  box-shadow:
    0 5px 14px rgba(37, 73, 47, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}


/* ---------------------------------------------------------
   Subtle inner gold border
   --------------------------------------------------------- */

.elementor-element.product-ingredients
> .elementor-widget-container::after {
  content: "";

  position: absolute;
  inset: 8px;
  z-index: 1;

  display: block;
  pointer-events: none;

  border: 1px solid rgba(201, 154, 73, 0.18);
  border-radius: 14px;
}


/* ---------------------------------------------------------
   Hide the complete widget when the field is empty
   --------------------------------------------------------- */

.elementor-element.product-ingredients:not(
  :has(> .elementor-widget-container > p)
),
.elementor-element.product-ingredients:has(
  > .elementor-widget-container > p:only-child:empty
),
.elementor-element.product-ingredients:has(
  > .elementor-widget-container > p:only-child > br:only-child
),
.elementor-element.product-ingredients[hidden] {
  display: none !important;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 600px) {
  .elementor-element.product-ingredients {
    margin: 6px 0 12px !important;
  }

  .elementor-element.product-ingredients
  > .elementor-widget-container {
    padding: 50px 20px 19px !important;

    border-radius: 16px;

    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.9),
      0 10px 24px rgba(37, 73, 47, 0.07);
  }

  .elementor-element.product-ingredients
  > .elementor-widget-container::before {
    top: 13px;
    left: 19px;

    padding: 8px 14px;

    font-size: 10px;
    letter-spacing: 0.14em;
  }

  .elementor-element.product-ingredients
  > .elementor-widget-container::after {
    inset: 7px;
    border-radius: 11px;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-30fba63 */.product-ingredients {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  margin: 34px 0 42px;
  padding: 34px 28px 26px;

  /* Keeps the existing description typography */
  color: inherit;
  font-size: inherit;
  line-height: inherit;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(201, 154, 73, 0.20),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      rgba(239, 245, 239, 0.96),
      rgba(255, 251, 241, 0.94)
    );

  border: 1px solid rgba(47, 88, 58, 0.14);
  border-radius: 20px;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 16px 40px rgba(37, 73, 47, 0.09);
}

/* Fine gold detail */
.product-ingredients::after {
  content: "";
  position: absolute;
  inset: 9px;
  z-index: -1;
  pointer-events: none;

  border: 1px solid rgba(201, 154, 73, 0.16);
  border-radius: 14px;
}

/* Floating label */
.product-ingredients::before {
  content: "INGREDIENTS";
  position: absolute;
  top: 0;
  left: 27px;
  transform: translateY(-50%);

  padding: 9px 16px;

  color: #31583b;
  background: #edf2ec;
  border: 1px solid rgba(47, 88, 58, 0.14);
  border-radius: 999px;

  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.16em;

  box-shadow: 0 5px 14px rgba(37, 73, 47, 0.10);
}

.product-ingredients p {
  margin: 0;
}

@media (max-width: 600px) {
  .product-ingredients {
    margin: 30px 0 34px;
    padding: 32px 20px 22px;
    border-radius: 16px;
  }

  .product-ingredients::before {
    left: 19px;
  }
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-d070a50 *//* Targets WooCommerce's real Add to Cart button - no markup changes needed,
   this is pure styling on top of what the Woo widget already renders. */
.single_add_to_cart_button{
  display:block;
  width:100%;
  margin-top:4px;
  background:#8FAE94 !important;
  color:#2F5233 !important;
  border:none !important;
  padding:16px !important;
  border-radius:12px !important;
  font-family:'Inter',sans-serif;
  font-weight:800 !important;
  text-transform: uppercase;
  font-size:15px !important;
  letter-spacing:.01em;
  text-align:center;
  cursor:pointer;
  box-shadow:0 10px 20px -12px rgba(47,82,51,.45);
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
}
.single_add_to_cart_button:hover{
  background:#7FA184 !important;
  transform:translateY(-1px);
  box-shadow:0 14px 26px -14px rgba(47,82,51,.55);
}
.single_add_to_cart_button:focus-visible{
  outline:2px solid #2F5233;
  outline-offset:2px;
}

/* Disabled state - shown before a variation is picked, or if out of stock.
   Our wheel .elementor-12813 .elementor-element.elementor-element-d070a50 auto-picks 200g on load, so this mostly covers stock-outs. */
.single_add_to_cart_button.disabled,
.single_add_to_cart_button.wc-variation-selection-needed{
  background:#D9D9D2 !important;
  color:#8a8a80 !important;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

/* The "View basket" link WooCommerce shows after a successful add */
.added_to_cart{
  display:inline-block;
  margin-top:10px;
  font-size:13px;
  font-weight:600;
  color:#2F5233 !important;
  text-decoration:underline;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a9d17ce */@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@600;700&display=swap');

.csn-ticket{
  margin:40px 0;
  background:#fff;
  border-radius:16px;
  display:flex;
  flex-wrap:wrap;
  position:relative;
  border:1px dashed rgba(199,154,86,.6);
  box-shadow:0 20px 36px -28px rgba(47,82,51,.3);
  animation:csnTicketPop .5s ease both;
}
@keyframes csnTicketPop{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
  .csn-ticket{ animation:none; }
}

/* These two circles fake a die-cut ticket notch - their fill colour needs to
   match whatever background sits behind the ticket (cream, #FBF7EF, by default). */
.csn-ticket::before,.csn-ticket::after{
  content:"";
  position:absolute;
  top:50%;
  width:22px;
  height:22px;
  background:#FBF7EF;
  border-radius:50%;
  transform:translateY(-50%);
  box-shadow:inset 0 0 0 1px rgba(199,154,86,.35);
}
.csn-ticket::before{ left:-11px; }
.csn-ticket::after{ right:-11px; }

.csn-ticket-item{
  flex:1;
  min-width:140px;
  padding:22px 24px;
  border-right:1px dashed rgba(199,154,86,.4);
}
.csn-ticket-item:last-child{ border-right:none; }

.csn-k{
  font-family:'Inter',sans-serif;
  font-size:10.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#C79A56;
  font-weight:700;
  display:block;
  margin-bottom:6px;
}
.csn-v{
  font-family:'Fraunces',serif;
  font-size:17px;
  color:#2F5233;
  font-weight:500;
}

@media (max-width:600px){
  .csn-ticket{ flex-direction:column; }
  .csn-ticket-item{ border-right:none; border-bottom:1px dashed rgba(199,154,86,.4); }
  .csn-ticket-item:last-child{ border-bottom:none; }
  .csn-ticket::before,.csn-ticket::after{ display:none; } /* the notches only read correctly in a horizontal row */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-1723ac7 */.csn-dial{ margin-bottom:20px; }
.csn-dial-labels{ display:flex; justify-content:space-between; font-size:11.5px; color:#6b6b62;
  margin-bottom:7px; text-transform:uppercase; letter-spacing:.06em; font-weight:600; }
.csn-track{ height:6px; border-radius:4px; background:#EDE6D6; position:relative; overflow:hidden; }
.csn-fill{ position:absolute; inset:0 auto 0 0; border-radius:4px;
  background:linear-gradient(90deg,#8FAE94,#2F5233); }/* End custom CSS */
/* Start custom CSS for woocommerce-product-related, class: .elementor-element-39f09a6 */.related.products{
  display:flex !important;
  gap:16px !important;
  overflow-x:auto;
  padding-bottom:8px;
  list-style:none !important;
  margin:0 !important;
}
.related.products ul.products{
  display:contents !important; /* lets the li's join the flex row above instead of forming their own grid */
}
.related.products ul.products li.product{
  flex:0 0 168px !important;
  width:168px !important;
  background:#fff;
  border-radius:14px;
  padding:16px;
  border:1px solid rgba(47,82,51,.08);
  margin:0 !important;
  transition:transform .15s ease, box-shadow .15s ease;
}
.related.products ul.products li.product:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px -18px rgba(47,82,51,.4);
}
.related.products img{
  width:100% !important;
  aspect-ratio:1;
  border-radius:10px;
  object-fit:cover;
  margin-bottom:12px !important;
}
.related.products .woocommerce-loop-product__title{
  font-family:'Inter',sans-serif;
  font-size:13.5px;
  color:#2B2A26;
  font-weight:600;
  margin:0 0 4px !important;
}
.related.products .price{
  font-family:'Inter',sans-serif;
  font-size:12.5px;
  color:#2F5233 !important;
  font-weight:700;
}
.related.products .price ins{
  color:#2F5233 !important;
  text-decoration:none;
}
.related.products .price del{
  opacity:.5;
  margin-right:4px;
}/* End custom CSS */