/* Pet-specific repairs: never override the Funeral Portraits theme. */
.pp { color: #434856; font-size: 16px; line-height: 1.5; }
.pp .header2 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px 0; overflow: visible; }
.pp .header2 .log, .pp .header2 .log.large { float: none; padding: 0; max-width: 48%; }
.pp .header2 .log img, .pp .header2 .log.large img { width: auto; max-width: 100%; height: auto; max-height: 120px; }
.pp .header2 div.login { float: none; margin: 0; font-size: 16px; }
.pp .header2 div.login a { padding: 12px; }
.pp .header2 div.login a:last-child { padding: 12px; }
.pp .header2 .welcome { display: block; border: 0; padding: 0; }
.pp nav.pet-nav { float: none; width: 100%; max-width: none; margin: 0; }
.pp .pet-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin: 0; padding: 8px; list-style: none; background: #404873; }
.pp .pet-nav li { flex: 1 1 auto; text-align: center; }
.pp .header2 .pet-nav a { display: block; padding: 12px 16px; min-height: 44px; color: #fff; text-decoration: none; }
.pp .header2 .pet-nav a:hover, .pp .header2 .pet-nav a:focus-visible { background: #293252; color: #fff; text-decoration: underline; }
.pp .header2 .pet-nav a.pet-order-link { background: #fff; color: #404873; font-weight: 700; }
.pp a:focus-visible, .pp button:focus-visible, .pp summary:focus-visible { outline: 3px solid #a5434b; outline-offset: 3px; }
.pp .content2, .pp .content3, .pp .content4 { width: 100%; max-width: 1098px; box-sizing: border-box; padding: 24px; }
.pp .newcontent { width: auto; padding: 0; }
.pp .newcontent h1, .pp .content2 > h1 { margin: 0 0 24px; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; color: #a5434b; }
.pp .newcontent p { font-size: 18px; line-height: 1.6; margin: 0 0 24px; }
.pp .content2 img { max-width: 100%; height: auto; }
.pp .newcontent p a, .pp .dynamic-content p a { text-decoration: underline; }
.pp .btn-primary { color: #fff; background-color: #404873; border-color: #404873; }
.pp .btn-primary:hover, .pp .btn-primary:focus-visible { color: #fff; background-color: #293252; border-color: #293252; }
.pp .btn-outline-primary { --bs-btn-color: #404873; --bs-btn-border-color: #404873; --bs-btn-hover-bg: #404873; --bs-btn-hover-border-color: #404873; --bs-btn-active-bg: #404873; --bs-btn-active-border-color: #404873; }
.pp .btn-info, .pp .btn-light { color: #212529; }
.pp .btn-outline-primary:hover, .pp .btn-check:checked + .btn-outline-primary { color: #fff; }
.pp .nav.justify-content-center .nav-link { color: #fff; }
.pp .homepageslider { float: right; width: 68%; padding-top: 56%; margin: 0 0 24px 24px; }
.pp .home, .pp .newcontent p.home { width: auto; padding: 0; font-size: 24px; line-height: 1.4; }
.pp ul.home { padding-left: 24px; }
.pp .slogan { margin: 0; }
.pp .pet-home-actions { clear: both; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 24px; }
.pp .pet-home-actions .btn { padding: 12px 24px; text-decoration: none; }
.pp .about-us img.left { max-width: 38%; margin: 0 32px 24px 0; }
.pp .about-us img.right { max-width: 35%; margin: 0 0 24px 24px; }
.pp .about-us .sig { clear: both; }
.pp .how-to-order-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; overflow: visible; margin: 24px 0 40px; }
.pp .how-to-order-steps p, .pp .how-to-order-steps p:first-child { float: none; width: auto; padding: 16px; margin: 0; font-size: 16px; line-height: 1.5; background: #f4f3ee; }
.pp .how-to-order-steps p img:first-child, .pp .what-we-do p img:first-child { float: none; display: block; width: auto; height: 36px; margin: 0 0 16px; padding: 0; }
.pp .how-to-order-steps p img:last-child { display: block; margin: 16px auto 0; }
.pp .what-we-do { float: none; width: 100%; padding: 0; margin: 0; }
.pp .what-we-do p { font-size: 18px; line-height: 1.6; }
.pp .what-we-do ~ div { display: flex; gap: 24px; float: none; width: 100%; padding: 0; }
.pp .what-we-do ~ div img { width: calc(50% - 12px); object-fit: contain; align-self: start; margin: 0 0 24px; }
.pp .pet-advantages { clear: both; margin: 24px 0; padding: 20px; background: #f4f3ee; }
.pp .pet-advantages summary { cursor: pointer; font-weight: 700; padding: 8px 0; }
.pp .pet-advantages ol { padding-left: 24px; margin: 16px 0 0; }
.pp .pp-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; overflow: visible; }
.pp .prices-sidebar { grid-column: 1 / -1; float: none; width: auto; padding: 0; }
.pp .prices-sidebar p, .pp .prices-sidebar p:nth-of-type(2) { max-width: 740px; font-size: 18px; line-height: 1.6; margin: 0 0 16px; }
.pp .pp-prices .dog-portrait { float: none; width: auto; max-height: none; margin: 0; padding: 24px; background: #f4f3ee; }
.pp .pp-prices .dog-portrait::after { content: none; }
.pp .pp-prices .dog-portrait img { max-width: 100%; max-height: 300px; width: auto; margin: 0 auto 24px; box-shadow: none; }
.pp .pp-prices .dog-portrait p { text-align: center; padding: 0; margin: 0 0 16px; font-size: 18px; line-height: 1.5; }
.pp .pp-prices .dog-portrait p .new { position: static; display: block; font-size: 18px; }
.pp .pp-prices .dog-portrait ul { padding: 0; list-style: none; }
.pp .pp-prices .dog-portrait ul li { text-align: center; margin: 0; font-size: 18px; line-height: 1.6; }
.pp .contact_left, .pp .contact_right { float: none; display: inline-block; width: 48%; box-sizing: border-box; margin: 0; padding: 16px; vertical-align: top; }
.pp .contact_left ul, .pp .contact_right ul { padding: 0; list-style: none; }
.pp .content2 .contact_right .num { height: auto; line-height: 1.5; padding: 16px; }
.pp .content2 .contact_right .forms { padding: 16px; margin: 0; }
.pp .contact_right label { font-size: 16px; }
.pp .content2 .contact_right .forms .inp1, .pp .content2 .contact_right .forms textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 8px; font-size: 16px; }
.pp .contact_right textarea { min-height: 160px; }
.pp .contact_right input[type=submit] { min-height: 44px; padding: 8px 24px; background: #404873; color: #fff; border: 1px solid #404873; border-radius: 4px; }
.pp .dynamic-content [style*="width"] { max-width: 100%; box-sizing: border-box; }
.pp .footer { clear: both; padding: 16px 24px; }
.pp .footer ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; padding: 0; margin: 0; }
.pp .footer ul li { float: none; display: block; }
.pp .footer ul li a { display: inline-block; padding: 12px 0; border: 0; font-size: 16px; }
@media (max-width: 890px) {
    .pp .how-to-order-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pp .header2 .log { max-width: 55%; }
}
@media (max-width: 600px) {
    .pp .header2 { padding: 16px 16px 0; gap: 12px; }
    .pp .header2 .log, .pp .header2 .log.large { max-width: 100%; width: 100%; text-align: center; }
    .pp .header2 .log img { max-height: 100px; }
    .pp .header2 div.login { width: 100%; text-align: center; }
    .pp .pet-nav li { flex: 1 1 40%; }
    .pp .pet-nav li:last-child { flex-basis: 100%; }
    .pp .content2, .pp .content3, .pp .content4 { padding: 20px 16px; }
    .pp .homepageslider { float: none; width: 100%; padding-top: 81%; margin: 0 0 24px; }
    .pp .home, .pp .newcontent p.home { font-size: 22px; }
    .pp .about-us img.left, .pp .about-us img.right { float: none; display: block; max-width: 100%; margin: 0 auto 24px; }
    .pp .how-to-order-steps, .pp .pp-prices { grid-template-columns: minmax(0, 1fr); }
    .pp .what-we-do ~ div { flex-direction: column; }
    .pp .what-we-do ~ div img { width: 100%; }
    .pp .contact_left, .pp .contact_right { width: 100%; display: block; padding: 0; }
    .pp .content2 .contact_right .forms { padding: 16px 0; }
    .pp .sticky-top { position: static; }
    .pp .nav.justify-content-center { display: flex !important; flex-wrap: wrap; }
    .pp .nav.justify-content-center .nav-link { padding: 8px !important; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .pp .sliderimg { transition: none; }
}
