/* farmaciabosipc.com — hand-written per-site overrides.
   Kept in its own file, loaded after restore-extras.css: restore_04_polish.py regenerates
   restore-extras.css on every run, so anything site-specific placed there would be lost. */

/* The theme's minislider caption is a white strip pulled 22px up over the photo and given a
   -5px bottom margin, so it sticks 5px past the <li>. bxSlider's viewport is exactly the <li>
   height with overflow:hidden, which shaves that overhang off every caption. Give the viewport
   the few pixels the design actually needs. */
.widget-minislider .bx-viewport { height: auto !important; padding-bottom: 6px; }
.widget-minislider li.slide { padding-bottom: 6px; }

/* The footer logo band is pulled out with `margin: -20px -25px 30px -25px !important` so it
   bleeds to the footer edges. The footer only has 20px of padding to give back, so it overshoots
   by 5px each side. On desktop that is invisible (the .container is narrower than the window),
   but below 768px Bootstrap's container fills the viewport, so those 5px made every inner page
   pannable sideways on a phone. -20px reaches the edge exactly and bleeds just the same. */
@media (max-width: 767px) {
  footer .logo-footer { margin-left: -20px !important; margin-right: -20px !important; }
}

/* Static share links replacing the dead AddToAny kit. FontAwesome is shipped and loading, so
   these are real icons, sized to the 32px the old kit occupied. */
.a2a_kit { display: flex; justify-content: center; gap: 14px; }
.share-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255, 255, 255, .92); color: #4c8062;
  font-size: 19px; line-height: 1; text-decoration: none;
  transition: transform .15s ease, background .15s ease;
}
.share-btn:hover, .share-btn:focus {
  background: #fff; color: #2f5c44; transform: translateY(-2px); text-decoration: none;
}
.share-btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

/* Contact form: the theme styles .form-control but never had to lay this column out on its
   own, and the restored form needs the same rhythm as the info column beside it. */
#frmInviaEmailContattaci .form-group { margin-bottom: 16px; }
#frmInviaEmailContattaci .checkbox label {
  display: block; font-size: 13px; line-height: 1.5; margin-bottom: 10px; padding-left: 24px;
}
#frmInviaEmailContattaci .checkbox input[type="checkbox"] { margin-left: -24px; }
#frmInviaEmailContattaci button[type="submit"] { margin-top: 8px; }
.form-mailto-note { margin-top: 14px; color: #6b6b6b; }

/* No-JS fallback inside the map containers, so they are never a blank box. */
.map-fallback {
  margin: 0; padding: 26px 20px; text-align: center; line-height: 1.7;
  background: #f2f7f4; border: 1px solid #dfe6e1; color: #4a4a4a; font-size: 14px;
}

/* Legal pages: long-form text needs a comfortable measure and clear hierarchy — the theme only
   ever styled short widget copy. */
/* padding-top/bottom only: this class sits on a Bootstrap .container, whose 15px side padding
   is what absorbs the -15px margins of the .row inside it. Zeroing it made the row stick out
   both sides and the page pan sideways on a phone. */
.legal-page { padding-top: 40px; padding-bottom: 60px; }
.legal-page h2 { font-size: 24px; margin: 34px 0 12px; }
.legal-page h3 { font-size: 18px; margin: 24px 0 8px; }
.legal-page p, .legal-page li { line-height: 1.75; }
.legal-page ul { padding-left: 22px; margin-bottom: 16px; }
.legal-page li { margin-bottom: 6px; }
.legal-page .legal-updated { color: #777; font-size: 13px; margin-bottom: 26px; }
.legal-page table { width: 100%; margin: 12px 0 22px; border-collapse: collapse; }
.legal-page th, .legal-page td {
  border: 1px solid #dfe6e1; padding: 9px 12px; text-align: left; vertical-align: top;
  font-size: 14px; line-height: 1.6;
}
.legal-page th { background: #f2f7f4; font-weight: 700; }
@media (max-width: 600px) {
  .legal-page table, .legal-page thead, .legal-page tbody,
  .legal-page tr, .legal-page th, .legal-page td { display: block; }
  .legal-page thead { display: none; }
  .legal-page tr { margin-bottom: 14px; border: 1px solid #dfe6e1; }
  .legal-page td { border: 0; border-bottom: 1px solid #eef2f0; }
}
