/*
Theme Name: Liberty Boston Terriers
Theme URI: https://liberty-boston-terriers.mbamaclinton.chatgpt.site/
Author: Liberty Boston Terriers
Description: Exact WordPress conversion of the Liberty Boston Terriers site.
Version: 5.0.12
Text Domain: liberty-boston-terriers
*/

/* The visual system lives in assets/css/original-app.css, copied directly
   from the original Sites project so WordPress and the source stay aligned. */

/* Use a natural photo frame so puppy images fill the space without distortion. */
.puppy-card .puppy-photo {
  height: auto !important;
  aspect-ratio: 4 / 3;
  background-size: cover !important;
  background-repeat: no-repeat;
  background-position: center !important;
  background-color: #e8dfd3;
}

.puppy-hero-gallery {
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
}

.puppy-hero-slide > img:not(.puppy-image-logo) {
  object-fit: cover !important;
  object-position: center;
  background-color: #e8dfd3;
}

/* Keep the single-puppy hero inside narrow mobile viewports. */
@media (max-width: 900px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .profile-hero {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    min-width: 0;
  }

  .profile-hero > *,
  .puppy-hero-gallery,
  .puppy-hero-slide,
  .profile-copy {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .puppy-hero-gallery {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
    isolation: isolate;
  }

  .puppy-hero-slide > img:not(.puppy-image-logo),
  .puppy-hero-slide > video {
    max-width: 100%;
  }

  .puppy-view-gallery {
    right: 14px;
    left: 14px !important;
    width: fit-content;
    max-width: calc(100% - 28px);
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 520px) {
  .profile-copy {
    padding: 58px 24px 48px !important;
  }

  .profile-status {
    top: 20px;
    right: 24px;
  }
}

/* Compact desktop layout for laptops using larger display scaling. */
@media (min-width: 1001px) and (max-width: 1180px) {
  .site-header { height: 92px !important; padding-inline: 18px !important; }
  .brand-logo { width: 172px !important; max-height: 58px !important; }
  .site-header nav { position: static !important; display: flex !important; padding: 0 !important; gap: 11px !important; background: transparent !important; box-shadow: none !important; flex-direction: row !important; font-size: 11px !important; }
  .site-header nav a { white-space: nowrap; }
  .menu-toggle { display: none !important; }
  .site-header .nav-cta { padding: 13px 14px !important; gap: 12px !important; font-size: 10px !important; letter-spacing: .09em !important; }
  .section-pad { padding: 90px max(4vw, 30px) !important; }
  .hero-content { width: min(560px, 54vw) !important; margin-left: max(6vw, 42px) !important; }
  .hero h1, .inner-hero h1, .profile-copy h1, .journal-article h1, .entry-title { font-size: clamp(52px, 6vw, 68px) !important; }
  .inner-hero-copy, .profile-copy { padding: 72px 5vw !important; }
  .puppy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
  .puppy-info { padding: 22px 20px !important; }
  .steps { gap: 16px !important; }
  .step { padding-inline: 16px !important; }
}
