/* Standalone content styles. Layout and typography retain the original Dara design. */
body { background: #daf2d5; }
.section { padding: 10px; }
.text-widget { display: flow-root; color: #7a7a7a; font-family: "Trykker", serif; font-weight: 400; }
.text-widget p { margin-top: 0; margin-bottom: 1.6em; }
.text-widget p:last-child { margin-bottom: 0; }
.text-widget::after, .section::after { content: ""; display: table; clear: both; }
.divider { padding: 10px 0; }
.divider span { display: block; border-top: 5px double #23a455; }
.home-divider { margin-bottom: 20px; }
.text-widget p:empty { min-height: 0; }
.service-panel { background: rgba(97,206,112,.27); transition: background .3s; }
.service-panel:hover { background: rgba(35,164,85,.35); }
.service-columns { max-width: 500px; margin: auto; display: flex; }
.service-column { width: 50%; padding: 10px; }
.service-column ul { padding: 0; margin: 0 0 1.6em 1.6em; }
.service-column li { white-space: normal; }
.services-divider { padding: 50px 0; }
.conditions { border: 2px solid rgba(77,165,94,.81); }
.conditions summary { padding: 15px 20px; list-style: none; cursor: pointer; font: 600 18px/1 "Source Sans Pro", sans-serif; color: rgba(71,119,63,.68); }
.conditions summary::-webkit-details-marker { display: none; }
.conditions summary::before { content: "+"; float: left; width: 1.2em; color: rgba(35,164,85,.92); }
.conditions[open] summary { color: #61ce70; }
.conditions[open] summary::before { content: "−"; }
.conditions-copy { border-top: 2px solid rgba(77,165,94,.81); padding: 15px 20px; font: 3px/1.6 "Times New Roman", serif; color: rgba(35,164,85,.59); }
.conditions-body { padding: 5.8px 12px; }
.conditions-copy p { margin: 0 0 4.8px; }
.conditions-copy p:last-child { margin-bottom: 0; }
.conditions-copy b { color: gray; }
.contact-intro { margin-bottom: 20px; }
.contact-intro a { color: inherit; }
.contact-divider { padding: 15px 0; margin-bottom: 20px; }
.contact-divider span { border-color: rgba(35,164,85,.53); }
.contact-form { margin: 0 0 24px; font-size: 16px; line-height: 1.3; }
.contact-form .field { padding: 10px 0; clear: both; }
.contact-form label { display: block; margin: 0 0 4px; font-weight: 700; }
.contact-form .required { color: red; }
.contact-form input, .contact-form textarea { display: block; border: 1px solid #ccc; border-radius: 0; background: #fff; color: #333; font: 16px/1.3 "Trykker", serif; padding: 6px 10px; width: 100%; height: 38px; box-sizing: border-box; }
.contact-form textarea { height: 120px; resize: vertical; }
.contact-form .medium { max-width: 60%; }
.name-row { display: flex; gap: 4%; }
.name-row > div { width: 48%; }
.contact-form .sublabel { margin: 4px 0 0; font-weight: 400; font-size: 13px; }
.contact-form .honeypot { position: absolute; left: -10000px; height: 1px; overflow: hidden; }
.submit-row { padding: 10px 0 0; }
.contact-form button { background: #eee; border: 1px solid #ddd; color: #333; padding: 10px 15px; font: 700 18px/36px "Source Sans Pro", sans-serif; letter-spacing: 0; text-transform: none; border-radius: 0; }
.contact-form button:hover { background: #ddd; border-color: #ccc; }
.contact-form button:disabled { opacity: .6; cursor: wait; }
#form-status { margin-top: 12px; color: #47773f; }
#form-status.error { color: #a40000; }
[hidden] { display: none !important; }
.gallery-top-divider { padding: 38px 0; margin-bottom: 20px; }
.gallery-bottom-divider { padding: 18px 0; }
.gallery { margin: 0 0 calc(1.6em + 20px); display: flex; flex-wrap: wrap; }
.gallery .gallery-item { margin: 0; padding: 0 4px; width: 25%; max-width: 25%; line-height: 0; }
.gallery img { vertical-align: middle; display: inline-block; border: 0; max-width: 100%; height: auto; }
.menu-toggle::before { font-family: inherit; content: "☰"; vertical-align: middle; margin-right: 8px; }
.main-navigation.toggled > .menu { display: block; }
:focus-visible { outline: 2px solid #23a455; outline-offset: 3px; }
#gallery-viewer { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 60px 70px; border: 0; background: rgba(0,0,0,.94); color: #fff; overflow: auto; }
#gallery-viewer::backdrop { background: rgba(0,0,0,.9); }
#gallery-viewer figure { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; }
#viewer-image { max-width: 100%; max-height: calc(100dvh - 155px); object-fit: contain; }
#viewer-caption { margin-top: 12px; }
.viewer-toolbar { position: absolute; top: 12px; left: 20px; right: 20px; display: flex; align-items: center; justify-content: space-between; }
.viewer-toolbar div { display: flex; gap: 8px; }
#gallery-viewer button, #viewer-download { background: transparent; color: #fff; border: 0; padding: 10px; font: 28px/1 sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; }
#viewer-prev, #viewer-next { position: absolute; top: 50%; transform: translateY(-50%); }
#viewer-prev { left: 12px; }
#viewer-next { right: 12px; }
#gallery-viewer.zoomed #viewer-image { max-width: none; max-height: none; }
body.viewer-open { overflow: hidden; }
@media (max-width: 767px) {
  .service-columns { display: block; }
  .service-column { width: 100%; }
  .gallery .gallery-item { width: 100%; max-width: 100%; }
  .conditions summary { font-size: 16px; padding: 12px 15px; }
  .conditions-copy { padding: 7px 15px; }
  .contact-form .medium { max-width: 100%; }
  .contact-form button { font-size: 16px; line-height: 32px; }
  #gallery-viewer { padding: 60px 42px; }
  .viewer-toolbar { left: 8px; right: 8px; }
  .viewer-toolbar div { gap: 0; }
}
