 .merriweather-light {
    font-family: "Merriweather", serif;
    font-weight: 300;
    font-style: normal;
  }
  
  .merriweather-regular {
    font-family: "Merriweather", serif;
    font-weight: 400;
    font-style: normal;
  }
  
  .merriweather-bold {
    font-family: "Merriweather", serif;
    font-weight: 700;
    font-style: normal;
  }
  
  .merriweather-regular-italic {
    font-family: "Merriweather", serif;
    font-weight: 400;
    font-style: italic;
  }
  
  .merriweather-bold-italic {
    font-family: "Merriweather", serif;
    font-weight: 700;
    font-style: italic;
  }

  body{
    background-image: url("../images/peacefulStream.jpg");
    background-size: cover;
    /* min-width: 700px removed — Stage 3 responsive upgrade */
  }

  main{
    max-width: 1000px !important;
    background-color: #f7fce5;
  }

  div#detailsDiv figure{
    width: 70%;
    max-width: 600px;
  }

  button{
    width: 100px;
    margin-top: 0; /* spacing handled by flex gap on action button row */
  }

  .clearMe{
    clear: both;
  }

  .invisible{
    visibility: hidden;
  }
  
  figure img{
    width: 100%;
    height: auto;
  }

  /* used on the loading paragraph to force footer to bottom of page */
  .stickyFooter{
    min-height: calc(100vh - 70px);
  }
  
  img#mastheadImg{
    width: 80px;
    height: auto;
    margin-right: 10px;
    border-radius: 50%;
    float: left;
    border: 1px solid gray;
    background-color: white;
  }

  img#printImg, img#reminderImg{
    width: 40px;
    height: auto;
    margin-right: 10px;
    margin-top: 20px;
    cursor: pointer;
    float: right;
  }

  header{
    background-image: url("../images/bgTile.png");
    min-height: 80px;
    padding: 0.25rem 0;
  }

  /* Fluid h1 title scales from phone to desktop — Stage 3 */
  header h1{
    font-size: clamp(1.1rem, 4vw, 1.9rem);
  }

  div#primaryContent{
    min-height: 800px;
  }

  textarea{
    display: block;
    width: 100%;
    margin-bottom: 20px;
  }

  label span{
    border: 1px solid gray;
    border-radius: 50%;
    background-color: white;
    color: black;
    padding: 3px;
    padding-left: 8px;
    padding-right: 8px;
    margin-right: 5px;
    font-family: 'merriweather-regular';
  }

  .verticalText{
    writing-mode:sideways-lr;
    margin: auto;
    font-size: 1.5em;
    
    padding-left: 20px;
  }

  /* Constrain heading sizes inside the 'About the app' accordion so they
     remain visually subordinate to the h1 page title */
  details h2 { font-size: 1.5rem; }
  details h3 { font-size: 1.25rem; }
  details h4 { font-size: 1.1rem;  }

  div#footerContent{
    font-size: .8em;
    margin: auto;
    width: 50%;
    max-width: 600px;
  }

  a{
    text-decoration: none;
    font-weight: bold;
    color: #a96210;
  } 

  div#groupDiv4{
    min-height: 80px; /* was: height: 150px — fixed height cropped paragraph on narrow screens */
  }

  /* Moved from inline <style> in appStory.html — Stage 3 */
  span#dayDateSpan{
    cursor: pointer;
  }

  .clearImg{
    width: 30px;
    height: auto;
    float: right;
    margin-right: 10px;
    cursor: pointer;
    margin-top: -2px;
  }

  .vtextShort{
    padding-top: 0%;
    padding-bottom: 0%;
  }

  .target{
    color:inherit; /*dummy property*/
  }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE OVERRIDES — Stage 3 mobile refactor
   Applies below Bootstrap's md breakpoint (< 768 px).
   Desktop layout above this breakpoint is unchanged.
═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* Section labels: pivot from vertical to horizontal above content */
  .verticalText {
    writing-mode: horizontal-tb;
    font-size: 1em;
    padding: 0.4rem 0.75rem;
    margin: 0;
  }

  /* Feeling wheel: stop floating next to text on narrow screens */
  div#detailsDiv figure {
    float: none !important;
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
  }

  /* Header icons: scale down slightly to keep the h1 from crowding */
  img#mastheadImg {
    width: 60px;
  }
  img#printImg, img#reminderImg {
    width: 32px;
    margin-top: 12px;
  }

}
  