/* Boudoir by Brent — unified action buttons and About-page portrait fitting.
   All rules are confined to the private Fine Art theme (body.bbb-theme).
   One role = one treatment; dark/light contrast is adapted only where necessary. */

/* The three button families all share dimensions, alignment and typography. */
body.bbb-theme .bbb-hero-actions > a,
body.bbb-theme .bbb-booking-section > a,
body.bbb-theme .bbb-page-booking > a,
body.bbb-theme .bbb-feature-copy > a.bbb-btn,
body.bbb-theme .bbb-header-actions > a,
body.bbb-theme .bbb-contact-page a.bbb-page-cta,
body.bbb-theme .bbb-mobile-dropdown > a.bbb-mobile-booking,
body.bbb-theme .bbb-site-footer a.bbb-footer-booking {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  min-height:46px!important;
  padding:12px 17px!important;
  font:700 10px/1.35 "DM Sans",Arial,sans-serif!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  text-align:center!important;
  border-radius:0!important;
  box-shadow:none!important;
  white-space:normal;
  box-sizing:border-box;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease!important;
}

/* PRIMARY: every Online Booking CTA, including the nav bar, footer and mobile menu.
   The navbar's champagne-gold fill and charcoal type are the reference. */
body.bbb-theme a.bbb-btn[href="https://bklnk.co.za/boudoirbybrent"],
body.bbb-theme a.bbb-header-booking,
body.bbb-theme a.bbb-mobile-booking,
body.bbb-theme .bbb-site-footer a.bbb-footer-booking,
body.bbb-theme .bbb-inner-page a.bbb-page-cta[href="https://bklnk.co.za/boudoirbybrent"]{
  background:#b69a76!important;
  border:1px solid #b69a76!important;
  color:#211b1a!important;
}
body.bbb-theme a.bbb-btn[href="https://bklnk.co.za/boudoirbybrent"]:hover,
body.bbb-theme a.bbb-header-booking:hover,
body.bbb-theme a.bbb-mobile-booking:hover,
body.bbb-theme .bbb-site-footer a.bbb-footer-booking:hover,
body.bbb-theme .bbb-inner-page a.bbb-page-cta[href="https://bklnk.co.za/boudoirbybrent"]:hover{
  background:#d3b48b!important;
  border-color:#d3b48b!important;
  color:#211b1a!important;
}

/* SECONDARY: enquiries and contact actions always use wine / ivory.
   Header and wine-coloured CTA sections receive a champagne outline for definition. */
body.bbb-theme a.bbb-header-enquire,
body.bbb-theme a.bbb-hero-enquiry,
body.bbb-theme .bbb-booking-section > a[href$="/contact/"],
body.bbb-theme .bbb-page-booking > a[href$="/contact/"],
body.bbb-theme .bbb-inner-page a.bbb-page-cta[href$="/contact/"]{
  background:#633d48!important;
  border:1px solid #b69a76!important;
  color:#fff8f0!important;
}
body.bbb-theme a.bbb-header-enquire:hover,
body.bbb-theme a.bbb-hero-enquiry:hover,
body.bbb-theme .bbb-booking-section > a[href$="/contact/"]:hover,
body.bbb-theme .bbb-page-booking > a[href$="/contact/"]:hover,
body.bbb-theme .bbb-inner-page a.bbb-page-cta[href$="/contact/"]:hover{
  background:#79515d!important;
  border-color:#d3b48b!important;
  color:#fff8f0!important;
}

/* TERTIARY: portfolio / selected work actions use the same elegant outline.
   The shared shape is unchanged between backgrounds, only ink/border contrast adapts. */
body.bbb-theme .bbb-hero-actions > a[href*="/portfolio/"],
body.bbb-theme .bbb-feature-copy > a[href*="/portfolio/"],
body.bbb-theme .bbb-booking-section > a[href*="/portfolio/"]{
  background:transparent!important;
  border:1px solid #b69a76!important;
  color:#f4efe7!important;
}
body.bbb-theme .bbb-collections .bbb-booking-section > a[href*="/portfolio/"],
body.bbb-theme .bbb-experience .bbb-booking-section > a[href*="/portfolio/"],
body.bbb-theme .bbb-gallery-section .bbb-booking-section > a[href*="/portfolio/"]{
  border-color:#786047!important;
  color:#342e2c!important;
}
body.bbb-theme .bbb-hero-actions > a[href*="/portfolio/"]:hover,
body.bbb-theme .bbb-feature-copy > a[href*="/portfolio/"]:hover{
  background:#f4efe7!important;
  border-color:#f4efe7!important;
  color:#1b1919!important;
}
body.bbb-theme .bbb-collections .bbb-booking-section > a[href*="/portfolio/"]:hover,
body.bbb-theme .bbb-experience .bbb-booking-section > a[href*="/portfolio/"]:hover,
body.bbb-theme .bbb-gallery-section .bbb-booking-section > a[href*="/portfolio/"]:hover{
  background:#342e2c!important;
  border-color:#342e2c!important;
  color:#f4efe7!important;
}
body.bbb-theme .bbb-site-footer a.bbb-footer-booking{width:max-content;max-width:100%;margin-top:7px!important}
body.bbb-theme :is(.bbb-hero-actions,.bbb-booking-section,.bbb-page-booking,.bbb-header-actions,.bbb-site-footer) a:focus-visible,
body.bbb-theme .bbb-feature-copy a.bbb-btn:focus-visible{
  outline:3px solid #b69a76!important;
  outline-offset:3px!important;
}

/* Explicit enquiry button family: avoid inherited text-link/visited colours.
   Reuse on light-background contact CTAs. */
body.bbb-theme .bbb-booking-section > a.bbb-btn--enquiry,
body.bbb-theme .bbb-booking-section > a.bbb-btn--enquiry:link,
body.bbb-theme .bbb-booking-section > a.bbb-btn--enquiry:visited {
  background:#633d48!important;
  border:1px solid #b69a76!important;
  color:#fff8f0!important;
  text-decoration:none!important;
}
body.bbb-theme .bbb-booking-section > a.bbb-btn--enquiry:hover,
body.bbb-theme .bbb-booking-section > a.bbb-btn--enquiry:focus-visible {
  background:#79515d!important;
  border-color:#d3b48b!important;
  color:#fff8f0!important;
}

/* About-page contact action: the same burgundy/ivory treatment as the
   Enquire control in the header, including visited Firefox links. */
body.bbb-theme .bbb-profile-page .bbb-page-booking > a.bbb-about-enquire,
body.bbb-theme .bbb-profile-page .bbb-page-booking > a.bbb-about-enquire:link,
body.bbb-theme .bbb-profile-page .bbb-page-booking > a.bbb-about-enquire:visited {
  background:#633d48!important;
  border:1px solid #b69a76!important;
  color:#fff8f0!important;
  text-decoration:none!important;
}
body.bbb-theme .bbb-profile-page .bbb-page-booking > a.bbb-about-enquire:hover,
body.bbb-theme .bbb-profile-page .bbb-page-booking > a.bbb-about-enquire:focus-visible {
  background:#79515d!important;
  border-color:#d3b48b!important;
  color:#fff8f0!important;
}

/* About: both source photographs are 4:5. Constrain each desktop portrait
   to an equal, proportional frame; show every pixel without cropping/stretching. */
body.bbb-theme .bbb-profile-grid{
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center;
}
body.bbb-theme .bbb-profile-grid > *{min-width:0}
body.bbb-theme .bbb-profile-grid .bbb-profile-portrait{
  width:100%!important;
  max-width:520px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4 / 5!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#c9bbae!important;
}
body.bbb-theme .bbb-profile-grid .bbb-profile-portrait img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  aspect-ratio:4 / 5!important;
}
@media(max-width:780px){
  body.bbb-theme .bbb-profile-grid{grid-template-columns:minmax(0,1fr)}
  body.bbb-theme .bbb-profile-grid .bbb-profile-portrait{max-width:min(100%,470px)!important;margin:0 auto}
}
@media(max-width:640px){
  body.bbb-theme .bbb-hero-actions > a,
  body.bbb-theme .bbb-booking-section > a,
  body.bbb-theme .bbb-page-booking > a{width:100%!important;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  body.bbb-theme .bbb-hero-actions > a,
  body.bbb-theme .bbb-booking-section > a,
  body.bbb-theme .bbb-page-booking > a{transition:none!important}
}
