/* Bump to Breast site styles. Brand: pink #D4537E, maroon #72243E, blush #FBEAF0, ink #2C2C2A */
@font-face { font-family: 'Jimmy Script'; src: url('fonts/JimmyScript-Rg.otf') format('opentype'); font-display: swap; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #FBEAF0; overflow-x: hidden; }
a { color: #D4537E; }
a:hover { color: #72243E; }
img { max-width: 100%; }
/* every pill button uses the same type as "Book a consult" */
[style*="border-radius:999px"][style*="padding"] { font-family: 'Lekton', monospace !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase; }
[data-href], [role="button"] { cursor: pointer; }
a:focus-visible, [role="button"]:focus-visible, [data-href]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #D4537E; outline-offset: 3px; }
form { margin: 0; }
.field-error { border-color: #D4537E !important; box-shadow: 0 0 0 3px #F6C9D8; }
.form-note { font-family: 'Lekton', monospace; font-weight: 700; font-size: 12px; letter-spacing: 1px; color: #72243E; margin-top: 10px; }

/* mobile menu button (hidden on desktop) */
.nav-right { display: none; align-items: center; gap: 10px; }
.nav-toggle { display: none; background: #D4537E; color: #FBEAF0; border: 3px solid #2C2C2A; border-radius: 999px; padding: 8px 16px;
  font-family: 'Lekton', monospace; font-weight: 700; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; }

@media (max-width: 1200px) {
  .nav-inner { padding: 14px 20px !important; flex-wrap: wrap; gap: 12px !important; }
  .nav-inner > div:first-child > div { font-size: 24px !important; }
  .nav-toggle { display: inline-block; }
  .nav-right { display: flex; }
  .nav-book { display: inline-block !important; }
  .nav-links { display: none !important; width: 100%; flex-direction: column; align-items: flex-start !important; gap: 0 !important; padding: 8px 0 6px; }
  .nav-links.open { display: flex !important; }
  .nav-links > * { padding: 12px 0 !important; font-size: 15px !important; width: 100%; border-bottom: 2px solid #F6C9D8; }
  .nav-links > *:last-child { border: 3px solid #2C2C2A !important; text-align: center; margin-top: 12px; padding: 12px 22px !important; }
}

@media (max-width: 760px) {
  .nav-book { padding: 7px 12px !important; font-size: 11px !important; letter-spacing: 1px !important; }
  .nav-toggle { padding: 7px 12px; font-size: 11px; letter-spacing: 1px; }
  .nav-inner[style] { padding: 12px 14px !important; flex-wrap: nowrap; }
  .nav-inner.menu-open { flex-wrap: wrap; }
  .nav-right { gap: 6px; }
  .nav-inner > div:first-child > div { font-size: 19px !important; }
  /* stack every multi-column layout */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="grid-column:span"] { grid-column: auto !important; }
  /* section spacing */
  [style*="max-width:1240px"][style*="padding:"] { padding: 52px 20px !important; }
  .nav-inner[style] { padding: 14px 20px !important; }
  [style*="gap:56px"], [style*="gap:52px"], [style*="gap:48px"], [style*="gap:44px"], [style*="gap:40px"] { gap: 28px !important; }
  /* cards */
  [style*="border:3px solid #2C2C2A"][style*="padding:"]:not([style*="border-radius:999px"]):not(input):not(select):not(textarea) { padding: 24px 22px !important; }
  [style*="border-right:3px solid #2C2C2A"] { border-right: 0 !important; border-bottom: 3px solid #2C2C2A; }
  /* type scale */
  [style*="font-size:4"], [style*="font-size:5"], [style*="font-size:6"], [style*="font-size:7"], [style*="font-size:8"], [style*="font-size:9"] { font-size: 36px !important; line-height: 1 !important; }
  [style*="font-size:3"] { font-size: 28px !important; }
  h1[style] { font-size: 44px !important; }
  [style*="font-size:19px"], [style*="font-size:18px"] { font-size: 17px !important; }
  [style*="letter-spacing:5px"] { letter-spacing: 3px !important; }
  [style*="white-space:nowrap"]:not(.nav-links *) { white-space: normal !important; }
  [style*="display:flex"] { flex-wrap: wrap; }
  [style*="border-radius:999px"][style*="padding:18px 4"] { padding: 16px 28px !important; }
  /* announcement bar */
  body > div > div:first-child > div { font-size: 10px !important; letter-spacing: 1.5px !important; padding: 0 12px; }
  /* decorative floating images */
  [style*="position:absolute"] img, img[style*="position:absolute"] { max-width: 34vw; }
}

/* booking request form */
.lbl { font-family: 'Lekton', monospace; font-weight: 700; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #72243E; margin-bottom: 8px; }
.inp { width: 100%; border: 3px solid #2C2C2A; border-radius: 10px; background: #fff; padding: 14px 16px; font-family: 'Archivo', sans-serif; font-size: 16px; color: #2C2C2A; outline: none; }
textarea.inp { resize: vertical; line-height: 1.6; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.visit-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.visit input, .chips input { position: absolute; opacity: 0; pointer-events: none; }
.visit span { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; border: 3px solid #2C2C2A; border-radius: 12px; padding: 16px 18px; cursor: pointer; background: #FBEAF0; }
.visit b { font-family: 'Bodoni Moda', serif; font-weight: 800; font-size: 22px; text-transform: uppercase; color: #72243E; }
.visit em { font-style: normal; grid-row: span 2; align-self: center; font-family: 'Bodoni Moda', serif; font-weight: 800; font-size: 28px; color: #2C2C2A; }
.visit i { font-style: normal; font-family: 'Archivo', sans-serif; font-size: 13px; color: #2C2C2A; }
.visit input:checked + span { background: #D4537E; box-shadow: 4px 4px 0 #2C2C2A; }
.visit input:checked + span b, .visit input:checked + span em, .visit input:checked + span i { color: #FBEAF0; }
.visit input:focus-visible + span, .chips input:focus-visible + span { outline: 3px solid #D4537E; outline-offset: 3px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chips span { display: inline-block; border: 3px solid #2C2C2A; border-radius: 999px; padding: 9px 16px; cursor: pointer; background: #fff; font-family: 'Lekton', monospace; font-weight: 700; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: #2C2C2A; }
.chips input:checked + span { background: #2C2C2A; color: #FBEAF0; }
@media (max-width: 760px) { .row2, .visit-pick { grid-template-columns: 1fr; } }
.visit b { grid-column: 1; grid-row: 1; }
.visit i { grid-column: 1; grid-row: 2; }
.visit em { grid-column: 2; grid-row: 1 / span 2; }

/* ebook image gallery */
.gal { position: relative; border: 3px solid #2C2C2A; border-radius: 14px; overflow: hidden; background: #FBEAF0; }
.gal-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; outline: none; }
.gal-track::-webkit-scrollbar { display: none; }
.gal-track img { flex: 0 0 100%; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; scroll-snap-align: start; display: block; }
.gal-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 3px solid #2C2C2A; background: #FBEAF0; color: #2C2C2A; font-size: 30px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 0 4px; }
.gal-btn:hover { background: #D4537E; color: #FBEAF0; }
.gal-prev { left: 12px; } .gal-next { right: 12px; }
.gal-dots { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 8px; }
.gal-dots button { width: 11px; height: 11px; border-radius: 50%; border: 2px solid #2C2C2A; background: #FBEAF0; padding: 0; cursor: pointer; }
.gal-dots button[aria-selected="true"] { background: #D4537E; }
@media (max-width: 760px) { .gal-btn { width: 38px; height: 38px; font-size: 24px; } }

/* header links and Book now button (class-based so Safari renders them reliably) */
.site-nav a.nav-link, .site-nav a.nav-link:link, .site-nav a.nav-link:visited {
  display: block; white-space: nowrap; text-decoration: none; cursor: pointer;
  font-family: 'Lekton', monospace; font-weight: 700; font-size: 13px; letter-spacing: 2px; text-transform: uppercase;
  color: #2C2C2A; -webkit-text-fill-color: #2C2C2A; }
.site-nav a.nav-link.active, .site-nav a.nav-link:hover { color: #D4537E; -webkit-text-fill-color: #D4537E; }
.site-nav a.nav-cta, .site-nav a.nav-cta:link, .site-nav a.nav-cta:visited {
  display: inline-block; white-space: nowrap; text-decoration: none; cursor: pointer;
  border: 3px solid #2C2C2A; border-radius: 999px; background: #D4537E; padding: 10px 22px;
  font-family: 'Lekton', monospace; font-weight: 700; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; line-height: 1.2;
  color: #FBEAF0; -webkit-text-fill-color: #FBEAF0; }
.site-nav a.nav-cta:hover { background: #72243E; color: #FBEAF0; -webkit-text-fill-color: #FBEAF0; }
@media (max-width: 760px) {
  .site-nav a.nav-cta.nav-book { padding: 7px 12px; font-size: 11px; letter-spacing: 1px; }
}
.site-nav a.nav-cta .nav-cta-text { color: #FBEAF0 !important; -webkit-text-fill-color: #FBEAF0 !important; font: inherit; letter-spacing: inherit; text-transform: uppercase; opacity: 1; visibility: visible; }

/* hover states from the design */
.hv1:hover{background:#72243E !important}
.hv2:hover{background:#FBEAF0 !important;color:#72243E !important}
.hv3:hover{background:#D4537E !important;color:#FBEAF0 !important}