/* SimpleSite global stylesheet — hand-written for Farmacia San Matteo Pavia.
   Brand: Italian pharmacy green/cross theme on warm cream background. */

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: #2a2a2a;
  background: #f5f3ee;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1, h2, h3, h4, h5 { font-family: inherit; font-weight: 600; line-height: 1.25; color: #1f3a2a; margin: 0 0 14px; }
h1 { font-size: 30px; }
h2 { font-size: 24px; }
h3 { font-size: 19px; }
h4 { font-size: 16px; }

p { margin: 0 0 14px; }
img { max-width: 100%; height: auto; display: inline-block; vertical-align: middle; }

/* Links */
a { color: #2e7d3e; text-decoration: none; transition: color 0.2s ease; }
a:hover { color: #1f5a2a; text-decoration: underline; }

/* SimpleSite sectioning */
#website, .siteWrapper, .simplesiteRoot { width: 100%; min-height: 100vh; }

/* Basic layout: header / content / sidebar / footer */
#header, .top-header, .ssHeader {
  background: linear-gradient(90deg, #2e7d3e 0%, #3aaa3a 100%);
  color: #ffffff;
  padding: 14px 30px;
  text-align: center;
  border-bottom: 4px solid #1f5a2a;
}
#header h1, .top-header h1 { color: #ffffff; margin: 0; font-size: 28px; letter-spacing: 0.5px; }
#header img, .top-header img { max-height: 80px; }

/* Sidebar menu (SimpleSite default left-side menu) */
.menu, .ssMenu, ul.menuList {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #ffffff;
  border: 1px solid #e6e0d3;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,.04);
  overflow: hidden;
}
.menu li, ul.menuList > li { border-bottom: 1px solid #f0ebde; }
.menu li:last-child { border-bottom: 0; }
.menu li a, ul.menuList > li > a {
  display: block;
  padding: 12px 18px;
  color: #2a2a2a;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  text-decoration: none;
  transition: all 0.18s ease;
}
.menu li a:hover, ul.menuList > li > a:hover {
  background: #f0f7ee;
  color: #2e7d3e;
  padding-left: 22px;
  text-decoration: none;
}
.menu li ul { padding-left: 0; }
.menu li ul li a { padding-left: 32px; font-size: 13px; text-transform: none; color: #4a4a4a; }

/* Main content */
#content, .ssContent, .mainContent {
  background: #ffffff;
  padding: 28px 36px;
  border: 1px solid #e6e0d3;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
  min-height: 400px;
}

/* Forms / buttons */
button, .btn, input[type=submit] {
  background: #2e7d3e;
  color: #fff;
  border: 0;
  padding: 10px 22px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  border-radius: 3px;
  cursor: pointer;
  transition: background 0.2s;
}
button:hover, .btn:hover, input[type=submit]:hover { background: #1f5a2a; }

input[type=text], input[type=email], input[type=tel], textarea, select {
  font-family: inherit;
  font-size: 14px;
  padding: 8px 12px;
  border: 1px solid #d6cfbf;
  border-radius: 3px;
  width: 100%;
  background: #fff;
}

/* Footer */
#footer, .ssFooter {
  background: #1f3a2a;
  color: #d8d4c5;
  padding: 22px 30px;
  text-align: center;
  font-size: 13px;
  margin-top: 30px;
}
#footer a, .ssFooter a { color: #a3d8a3; }

/* Tables */
table { width: 100%; border-collapse: collapse; }
table th, table td { padding: 8px 12px; border-bottom: 1px solid #eee5d2; text-align: left; }
table th { background: #f0ebde; font-weight: 600; color: #1f3a2a; }

/* Lists */
ul, ol { padding-left: 24px; }
ul li, ol li { margin-bottom: 4px; }

/* Responsive */
@media (max-width: 767px) {
  body { font-size: 14px; }
  #header { padding: 10px 14px; }
  #content { padding: 16px; }
  .menu li a { padding: 10px 14px; }
  h1 { font-size: 24px; } h2 { font-size: 20px; }
}
