/* Per-page CSS for Elementor page 1403. */

/* -------------------------------------------------------------------------- */
/* Container framework */
/* -------------------------------------------------------------------------- */
.elementor-1403 .e-con.e-parent {
 width: 100%;
 display: flex;
 flex-direction: column;
 align-items: stretch;
 padding: 60px 20px;
 box-sizing: border-box;
}
.elementor-1403 .e-con.e-parent > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child > .e-con-inner {
 max-width: 1200px;
 width: 100%;
 margin: 0 auto;
 display: flex;
 flex-direction: column;
 gap: 24px;
 padding: 0;
 box-sizing: border-box;
}

/* Default child containers stack widgets vertically */
.elementor-1403 .e-con-full.e-flex.e-child,
.elementor-1403 .e-con-boxed.e-flex.e-child {
 display: flex;
 flex-direction: column;
 flex: 1 1 0;
 min-width: 0;
 gap: 14px;
 align-items: stretch;
 justify-content: flex-start;
}

/* -------------------------------------------------------------------------- */
/* Section 1 — Hero with background video */
/* -------------------------------------------------------------------------- */
.elementor-1403 .e-con.e-parent.elementor-element-c57823b {
 position: relative;
 min-height: 480px;
 padding: 180px 20px 100px;
 overflow: hidden;
 background-color: #1F201B;
 display: flex;
 align-items: center;
 justify-content: center;
}

/* Background video — fill the section */
.elementor-1403 .elementor-element-c57823b .elementor-background-video-container {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
 pointer-events: none;
 z-index: 0;
}
.elementor-1403 .elementor-element-c57823b .elementor-background-video-container video,
.elementor-1403 .elementor-element-c57823b .elementor-background-video-hosted {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
}

/* Dark overlay so the white heading is readable */
.elementor-1403 .e-con.e-parent.elementor-element-c57823b::before {
 content: "";
 position: absolute;
 inset: 0;
 background: rgba(0, 0, 0, 0.45);
 z-index: 1;
}

.elementor-1403 .e-con.e-parent.elementor-element-c57823b > .e-con-inner {
 position: relative;
 z-index: 2;
 align-items: center;
 text-align: center;
}

/* Hero heading */
.elementor-1403 .elementor-element-f7603fe .elementor-heading-title {
 font-family: "Playfair Display", "Noto Serif Display", serif;
 font-size: 56px;
 font-weight: 500;
 color: #fff;
 line-height: 1.15;
 margin: 0;
 text-align: center;
}

/* -------------------------------------------------------------------------- */
/* Section 2 — Mission + 8 alternating rows */
/* -------------------------------------------------------------------------- */
.elementor-1403 .e-con.e-parent.elementor-element-b3e2dac {
 background-color: #FFF2D5;
 padding: 80px 20px;
 align-items: center;
}

/* Mission section direct widget children — heading + subheading first */
.elementor-1403 .elementor-element-be56c16 {
 width: 100%;
 text-align: center;
}
.elementor-1403 .elementor-element-be56c16 .elementor-heading-title {
 font-family: "Playfair Display", serif;
 font-size: 40px;
 font-weight: 500;
 color: #1F201B;
 text-align: center;
 margin: 0 0 12px;
 line-height: 1.2;
}
.elementor-1403 .elementor-element-f806ac4 {
 width: 100%;
 text-align: center;
 margin-bottom: 32px;
}
.elementor-1403 .elementor-element-f806ac4 .elementor-heading-title {
 font-family: "Playfair Display", serif;
 font-style: italic;
 font-size: 22px;
 font-weight: 400;
 color: #537052;
 text-align: center;
 margin: 0 auto;
 line-height: 1.4;
 max-width: 800px;
}

/* Constrain section #b3e2dac children to 1200 max */
.elementor-1403 .e-con.e-parent.elementor-element-b3e2dac > .elementor-element {
 max-width: 1200px;
 width: 100%;
 margin-left: auto;
 margin-right: auto;
}

/* Each image/text row — 2 columns side by side */
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-e46770c > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-cc118ec > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-baeaf3f > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-0fec65b > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-7cc69d8 > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-cb8e375 > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-b22e2ec > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-e774569 > .e-con-inner {
 flex-direction: row;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: 60px;
 padding: 30px 0;
}

/* Alternate direction on every other row (image right / text left) */
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-cc118ec > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-0fec65b > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-cb8e375 > .e-con-inner,
.elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-e774569 > .e-con-inner {
 flex-direction: row-reverse;
}

/* Image columns — flex-basis enough room, max-width prevents stretch */
.elementor-1403 .elementor-element-872e78a,
.elementor-1403 .elementor-element-1937ad9,
.elementor-1403 .elementor-element-60d19ad,
.elementor-1403 .elementor-element-672e3b8,
.elementor-1403 .elementor-element-90e1de3,
.elementor-1403 .elementor-element-53014fb,
.elementor-1403 .elementor-element-142d291,
.elementor-1403 .elementor-element-31ebfe9 {
 flex: 1 1 320px;
 max-width: 480px;
 align-items: center;
 position: relative;
}

/* Text columns */
.elementor-1403 .elementor-element-0aef918,
.elementor-1403 .elementor-element-98398c0,
.elementor-1403 .elementor-element-bfc8b10,
.elementor-1403 .elementor-element-d241740,
.elementor-1403 .elementor-element-21b02f9,
.elementor-1403 .elementor-element-49913c8,
.elementor-1403 .elementor-element-9010068,
.elementor-1403 .elementor-element-64b3126 {
 flex: 1 1 320px;
 max-width: 540px;
 gap: 12px;
}

/* All row images sized consistently */
.elementor-1403 .elementor-widget-image { text-align: center; }
.elementor-1403 .elementor-element-4be5445 img,
.elementor-1403 .elementor-element-8506f2a img,
.elementor-1403 .elementor-element-5955b70 img,
.elementor-1403 .elementor-element-b64577b img,
.elementor-1403 .elementor-element-7b0b192 img,
.elementor-1403 .elementor-element-5ccbd38 img,
.elementor-1403 .elementor-element-c74184c img,
.elementor-1403 .elementor-element-63e1736 img {
 width: 100%;
 max-width: 460px;
 height: auto;
 display: inline-block;
 border-radius: 8px;
}

/* Hide the duplicate absolute-positioned overlay images on certain rows */
.elementor-1403 .elementor-element-8fe61fb,
.elementor-1403 .elementor-element-7df1b05 {
 display: none;
}

/* Section headings inside rows ("Coffee", "Rainforest Alliance", etc.) */
.elementor-1403 .elementor-element-f613676 .elementor-heading-title,
.elementor-1403 .elementor-element-ded8638 .elementor-heading-title,
.elementor-1403 .elementor-element-b2528aa .elementor-heading-title,
.elementor-1403 .elementor-element-f302f12 .elementor-heading-title,
.elementor-1403 .elementor-element-556dd41 .elementor-heading-title,
.elementor-1403 .elementor-element-5882ac9 .elementor-heading-title,
.elementor-1403 .elementor-element-aa9089f .elementor-heading-title,
.elementor-1403 .elementor-element-df5fabb .elementor-heading-title {
 font-family: "Playfair Display", serif;
 font-size: 32px;
 font-weight: 500;
 color: #126c39;
 margin: 0 0 8px;
 line-height: 1.2;
}

/* Body text */
.elementor-1403 .elementor-widget-text-editor,
.elementor-1403 .elementor-widget-text-editor p {
 font-family: "Lato", sans-serif;
 font-size: 16px;
 line-height: 1.7;
 color: #333;
 margin: 0;
}

/* Bullet lists in sustain-box (Rainforest Alliance / Fairtrade) */
.elementor-1403 .elementor-widget-text-editor ul {
 margin: 8px 0 0;
 padding-left: 22px;
 list-style: disc;
}
.elementor-1403 .elementor-widget-text-editor li {
 font-family: "Lato", sans-serif;
 font-size: 15px;
 line-height: 1.6;
 color: #333;
 margin-bottom: 8px;
}

/* "sustain-box" treatment for Rainforest/Fairtrade text columns */
.elementor-1403 .sustain-box {
 background: #fff;
 padding: 24px 28px;
 border-radius: 12px;
 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

/* -------------------------------------------------------------------------- */
/* Mobile */
/* -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
 .elementor-1403 .e-con.e-parent { padding: 48px 20px; }
 .elementor-1403 .e-con.e-parent.elementor-element-c57823b {
 padding: 140px 20px 80px;
 min-height: 380px;
 }
 .elementor-1403 .elementor-element-f7603fe .elementor-heading-title {
 font-size: 42px;
 }
}

@media (max-width: 768px) {
 .elementor-1403 .e-con.e-parent { padding: 40px 16px; }
 .elementor-1403 .e-con.e-parent.elementor-element-c57823b {
 padding: 130px 16px 60px;
 min-height: 320px;
 }
 .elementor-1403 .elementor-element-f7603fe .elementor-heading-title { font-size: 32px; }
 .elementor-1403 .elementor-element-be56c16 .elementor-heading-title { font-size: 28px; }
 .elementor-1403 .elementor-element-f806ac4 .elementor-heading-title { font-size: 18px; }
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-e46770c > .e-con-inner,
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-cc118ec > .e-con-inner,
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-baeaf3f > .e-con-inner,
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-0fec65b > .e-con-inner,
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-7cc69d8 > .e-con-inner,
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-cb8e375 > .e-con-inner,
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-b22e2ec > .e-con-inner,
 .elementor-1403 .e-con-boxed.e-flex.e-child.elementor-element-e774569 > .e-con-inner {
 flex-direction: column;
 gap: 24px;
 padding: 16px 0;
 text-align: center;
 }
 .elementor-1403 .elementor-element-0aef918,
 .elementor-1403 .elementor-element-98398c0,
 .elementor-1403 .elementor-element-bfc8b10,
 .elementor-1403 .elementor-element-d241740,
 .elementor-1403 .elementor-element-21b02f9,
 .elementor-1403 .elementor-element-49913c8,
 .elementor-1403 .elementor-element-9010068,
 .elementor-1403 .elementor-element-64b3126 {
 text-align: center;
 align-items: center;
 }
 .elementor-1403 .elementor-widget-text-editor ul {
 text-align: left;
 display: inline-block;
 }
}
