/* Milk World: responsive corrections only. Existing site styling remains authoritative. */
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe, svg { max-width: 100%; height: auto; }
input, select, textarea, button { max-width: 100%; font: inherit; }

.elementor,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.e-con,
.e-con-inner { min-width: 0; max-width: 100%; }
.elementor-widget-text-editor,
.elementor-heading-title { overflow-wrap: anywhere; }

/* Contact page only */
.mwd-contact { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: clamp(125px, 13vw, 170px) 0 clamp(60px, 8vw, 100px); }
.mwd-contact-intro { max-width: 760px; margin: 0 0 clamp(30px, 4vw, 48px); }
.mwd-eyebrow { display: inline-block; margin-bottom: 12px; color: #16853b; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mwd-contact h1 { margin: 0 0 16px; color: #003f73; font-size: clamp(38px, 5vw, 66px); line-height: 1.05; }
.mwd-contact-intro > p { margin: 0; max-width: 650px; color: #3d4b5c; font-size: clamp(16px, 1.7vw, 19px); line-height: 1.7; }
.mwd-contact-layout { display: block; }
.mwd-contact-card { border: 1px solid rgba(0,63,115,.1); border-radius: 22px; background: #fff; box-shadow: 0 16px 45px rgba(0,35,70,.09); }
.mwd-form-card { padding: clamp(26px, 4vw, 46px); }
.mwd-contact-card h2 { margin: 0 0 26px; color: #003f73; font-size: clamp(25px, 3vw, 36px); }
.mwd-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mwd-field-full { grid-column: 1 / -1; }
.mwd-field label { display: block; margin-bottom: 8px; color: #17354c; font-size: 14px; font-weight: 700; }
.mwd-field label span { color: #d64545; }
.mwd-field input, .mwd-field select, .mwd-field textarea { width: 100%; min-height: 54px; padding: 14px 15px; border: 1px solid #ced8e1; border-radius: 9px; background: #fff; color: #172b3a; transition: border-color .2s ease, box-shadow .2s ease; }
.mwd-field textarea { min-height: 170px; resize: vertical; }
.mwd-field input:focus, .mwd-field select:focus, .mwd-field textarea:focus { outline: none; border-color: #003f73; box-shadow: 0 0 0 3px rgba(0,63,115,.12); }
.mwd-submit { display: flex; width: 100%; min-height: 56px; margin-top: 22px; padding: 14px 26px; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: linear-gradient(135deg, #003f73, #075b98); color: #fff; font-weight: 800; cursor: pointer; }
.mwd-submit:hover, .mwd-submit:focus { background: #00345e; color: #fff; }
.mwd-form-notice { margin: 0 0 20px; padding: 14px 16px; border-radius: 10px; font-size: 14px; }
.mwd-form-notice.success { background: #edf7ec; color: #245c24; }
.mwd-form-notice.error { background: #fff0f0; color: #8b1f1f; }
.mwd-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.mwd-details-section { margin-top: clamp(36px, 6vw, 70px); padding: clamp(28px, 5vw, 52px); border-radius: 24px; background: linear-gradient(145deg, #f7fafc, #edf3f9); text-align: center; }
.mwd-details-section > h2 { margin: 0 0 10px; color: #003f73; font-size: clamp(28px, 4vw, 44px); }
.mwd-details-section > p { margin: 0 auto 28px; color: #536476; }
.mwd-details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mwd-detail-card { min-width: 0; padding: 28px 22px; border: 1px solid rgba(0,63,115,.1); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(0,35,70,.07); }
.mwd-detail-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 16px; place-items: center; border-radius: 50%; background: #edf6eb; color: #4b7f3b; font-size: 24px; font-weight: 700; }
.mwd-detail-card h3 { margin: 0 0 10px; color: #003f73; font-size: 20px; }
.mwd-detail-card a, .mwd-detail-card p { margin: 0; color: #26394a; line-height: 1.6; text-decoration: none; overflow-wrap: anywhere; }

/* Our Story: desktop remains untouched; these rules activate only on smaller screens. */
@media (max-width: 1024px) {
  .elementor-section.elementor-section-boxed > .elementor-container,
  .e-con-boxed > .e-con-inner { width: min(100% - 36px, 1140px); }
}

@media (max-width: 767px) {
  body { width: 100%; }
  .elementor-section.elementor-section-boxed > .elementor-container,
  .e-con-boxed > .e-con-inner { width: min(100% - 28px, 1140px); }
  .elementor-column { width: 100%; }
  .elementor-widget-image img { display: block; margin-inline: auto; }
  .elementor-button { white-space: normal; text-align: center; }

  .mwd-contact { width: min(100% - 28px, 1120px); padding: 150px 0 58px; }
  .mwd-contact-intro { margin-bottom: 26px; }
  .mwd-form-grid { grid-template-columns: 1fr; gap: 16px; }
  .mwd-field-full { grid-column: auto; }
  .mwd-contact-card { border-radius: 16px; }
  .mwd-form-card { padding: 24px 18px; }
  .mwd-details-section { padding: 28px 16px; border-radius: 18px; }
  .mwd-details-grid { grid-template-columns: 1fr; gap: 14px; }
  .mwd-detail-card { display: grid; grid-template-columns: 54px 1fr; column-gap: 14px; align-items: center; padding: 18px; text-align: left; }
  .mwd-detail-icon { grid-row: 1 / span 2; margin: 0; }
  .mwd-detail-card h3 { margin: 0 0 3px; font-size: 18px; }

  /* Force the Our Story Elementor layout to fit the viewport. */
  body.mwd-story-page .elementor,
  body.mwd-story-page .elementor-section,
  body.mwd-story-page .elementor-container,
  body.mwd-story-page .elementor-column,
  body.mwd-story-page .elementor-widget-wrap,
  body.mwd-story-page .e-con,
  body.mwd-story-page .e-con-inner,
  body.mwd-story-page .elementor-widget,
  body.mwd-story-page .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
  }
  body.mwd-story-page .elementor-section,
  body.mwd-story-page .e-con { overflow: hidden !important; }
  body.mwd-story-page .elementor-container,
  body.mwd-story-page .e-con-inner { padding-left: 16px !important; padding-right: 16px !important; }
  body.mwd-story-page .elementor-column,
  body.mwd-story-page .e-con > .e-con-inner > .e-con,
  body.mwd-story-page .e-con-inner > .elementor-element { flex: 0 0 100% !important; }
  body.mwd-story-page .elementor-widget-wrap,
  body.mwd-story-page .e-con-inner { flex-wrap: wrap !important; }
  body.mwd-story-page .elementor-widget-container { height: auto !important; min-height: 0 !important; }
  body.mwd-story-page .elementor-heading-title,
  body.mwd-story-page .elementor-widget-text-editor,
  body.mwd-story-page .elementor-widget-text-editor p,
  body.mwd-story-page .elementor-icon-box-description,
  body.mwd-story-page .elementor-icon-box-title { white-space: normal !important; overflow-wrap: anywhere !important; word-break: normal !important; }
  body.mwd-story-page .elementor-widget-image img { width: auto !important; max-width: 100% !important; height: auto !important; object-fit: cover; }
  body.mwd-story-page [style*="width:"] { max-width: 100% !important; }
  body.mwd-story-page [style*="min-width:"] { min-width: 0 !important; }
  body.mwd-story-page [style*="margin-left: -"],
  body.mwd-story-page [style*="margin-right: -"] { margin-left: 0 !important; margin-right: 0 !important; }
  body.mwd-story-page .elementor-absolute,
  body.mwd-story-page .elementor-widget.elementor-absolute { position: relative !important; inset: auto !important; }

  /* Cards and icon boxes become compact, readable mobile blocks. */
  body.mwd-story-page .elementor-icon-box-wrapper,
  body.mwd-story-page .elementor-widget-icon-box .elementor-widget-container,
  body.mwd-story-page .elementor-widget-text-editor .elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
  }
  body.mwd-story-page .elementor-icon-box-wrapper { padding: 22px 18px !important; }
  body.mwd-story-page .elementor-icon-box-icon { margin-bottom: 14px !important; }
  body.mwd-story-page .elementor-icon-box-title { margin-bottom: 10px !important; }
  body.mwd-story-page .elementor-icon-box-description,
  body.mwd-story-page .elementor-widget-text-editor { font-size: 16px !important; line-height: 1.65 !important; }
  body.mwd-story-page h1 { font-size: clamp(34px, 10vw, 48px) !important; line-height: 1.08 !important; }
  body.mwd-story-page h2 { font-size: clamp(28px, 8vw, 38px) !important; line-height: 1.15 !important; }
  body.mwd-story-page h3 { font-size: clamp(22px, 6.5vw, 30px) !important; line-height: 1.2 !important; }
  body.mwd-story-page section { max-width: 100vw !important; }
}

@media (max-width: 420px) {
  .mwd-contact { width: min(100% - 22px, 1120px); }
  .mwd-form-card { padding: 22px 16px; }
  body.mwd-story-page .elementor-container,
  body.mwd-story-page .e-con-inner { padding-left: 12px !important; padding-right: 12px !important; }
}
