/* Petland Miami child: Homepage, Puppies for Sale, Kittens for Sale. Mobile first. */
:root {
	--plm-ink: #2b2b2b;
	--plm-muted: #5c5c5c;
	--plm-line: #ececec;
	--plm-alt: #f7f5f2;
	--plm-warm: #fff4ec;
	--plm-warm-line: rgba(207, 91, 31, .18);
	--plm-green: #059669;
	--plm-green-dark: #047857;
	--plm-radius: 16px;
	--plm-shadow: 0 1px 2px rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.06);
	--plm-shadow-hover: 0 2px 4px rgba(0,0,0,.06), 0 14px 32px rgba(0,0,0,.10);
}

/* ---------- Shared ---------- */
.plm-section { padding: 2.25rem 0; }
.plm-alt { background: var(--plm-alt); }
.plm-section .section-title { font-size: 1.45rem; font-weight: 500; line-height: 1.3; padding: 0 0 .9rem; margin: 0 0 1.1rem; }
.plm-section .section-title::after { bottom: 0; }
.plm-section .section-title.text-start::after { left: 0; transform: none; }
.plm-section p { color: var(--plm-ink); line-height: 1.65; }
.plm-lead { max-width: 52rem; margin: 0 auto 1.75rem; text-align: center; color: var(--plm-muted) !important; }
.plm-btns { display: flex; flex-wrap: wrap; gap: .6rem; }
.plm-btns .btn, .plm-section .btn, .plm-cta .btn, .plm-empty .btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; border-radius: 10px; font-weight: 600; transition: background-color .18s, color .18s, border-color .18s, transform .18s, box-shadow .18s; }
.plm-arrow-link a { font-weight: 600; }
.plm-section p a, .plm-faq__a a, .plm-areas a, .plm-nap a, .archive .plm-readmore a { text-decoration: underline; text-underline-offset: 2px; }
@media (min-width: 992px) {
	.plm-section { padding: 3.5rem 0; }
	.plm-section .section-title { font-size: 1.75rem; }
}

/* ---------- Buttons: every button has a visible hover and focus state ---------- */
.plm-section .btn-primary:hover, .plm-hero .btn-primary:hover, .plm-empty .btn-primary:hover, .plm-section .btn-primary:focus-visible { background: #a8460f; border-color: #a8460f; color: #fff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(168,70,15,.35); }
.plm-btn-video { background: var(--plm-green); border: 1px solid var(--plm-green); color: #fff; }
.plm-btn-video:hover, .plm-btn-video:focus-visible { background: var(--plm-green-dark); border-color: var(--plm-green-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(4,120,87,.35); }
.plm-section .btn-outline-primary:hover, .plm-empty .btn-outline-primary:hover { background: var(--bs-primary); color: #fff; }
.plm-cta .btn-light { background: #fff; color: var(--bs-primary); border-color: #fff; }
.plm-cta .btn-light:hover, .plm-cta .btn-light:focus-visible { background: #2b2b2b; border-color: #2b2b2b; color: #fff; transform: translateY(-1px); }
.plm-cta .btn-outline-light { color: #fff; border: 2px solid rgba(255,255,255,.9); background: transparent; }
.plm-cta .btn-outline-light:hover, .plm-cta .btn-outline-light:focus-visible { background: #fff; color: var(--bs-primary); }
.plm-btn-block { width: 100%; }
.plm-section .btn:focus-visible, .plm-hero .btn:focus-visible, .plm-cta .btn:focus-visible { outline: 3px solid rgba(207,91,31,.45); outline-offset: 2px; }

/* ---------- Read more (category pages; text is in the page on load) ---------- */
.plm-readmore__visible p:last-child, .plm-readmore__more p:last-child { margin-bottom: 0; }
.plm-readmore__more { margin-top: .75rem; }
.plm-readmore__more p + p { margin-top: .75rem; }
.plm-readmore__btn { background: none; border: 0; padding: .35rem 0; margin-top: .25rem; font-weight: 600; color: var(--bs-primary); display: inline-flex; align-items: center; gap: .3rem; cursor: pointer; min-height: 44px; }
.plm-readmore__btn:hover { text-decoration: underline; }
.plm-readmore__btn i { transition: transform .2s; font-size: .8em; }
.plm-readmore__btn[aria-expanded="true"] i { transform: rotate(180deg); }

/* ---------- Homepage hero ---------- */
.plm-hero { position: relative; background: #1d1d1d; color: #fff; }
.plm-hero__media { aspect-ratio: 16 / 9; overflow: hidden; }
.plm-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.plm-hero__body { padding: 1.25rem 0 1.5rem; }
.plm-hero__title { font-size: 1.6rem; line-height: 1.2; font-weight: 600; margin: 0 0 .6rem; color: #fff; }
.plm-hero__lead { color: #f1f1f1; font-size: 1.05rem; line-height: 1.6; margin: 0; }
.plm-hero .plm-btns { margin-top: 1.1rem; }
.plm-hero .plm-btns .btn { flex: 1 1 100%; }
.plm-hero .btn-primary { border-radius: 10px; }
@media (min-width: 768px) {
	.plm-hero { min-height: 500px; display: flex; align-items: center; }
	.plm-hero__media { position: absolute; inset: 0; aspect-ratio: auto; }
	.plm-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 100%); }
	.plm-hero__body { position: relative; width: 100%; padding: 3rem 0; }
	.plm-hero__panel { max-width: 640px; }
	.plm-hero__title { font-size: 2.35rem; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
	.plm-hero__lead { font-size: 1.15rem; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
	.plm-hero .plm-btns .btn { flex: 0 0 auto; }
}

/* ---------- Puppy grid intro line ---------- */
.plm-available .section-title { margin-bottom: .75rem; }
.plm-available__intro { text-align: center; color: var(--plm-muted); max-width: 46rem; margin: 0 auto 1.5rem; padding: 0 1rem; }

/* ---------- Benefit cards ---------- */
.plm-benefits { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; grid-template-columns: 1fr; }
.plm-benefit { align-content: start; position: relative; background: #fff; border-radius: var(--plm-radius); padding: 1.25rem 1.25rem 1.3rem; box-shadow: var(--plm-shadow); transition: transform .2s, box-shadow .2s; display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-items: start; }
.plm-benefit:hover { transform: translateY(-3px); box-shadow: var(--plm-shadow-hover); }
.plm-benefit__icon { grid-row: span 2; width: 3rem; height: 3rem; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(145deg, #fde7d8, #fbd2b8); color: #b34a12; font-size: 1.35rem; }
.plm-benefit__title { font-size: 1.02rem !important; font-weight: 700; margin: .1rem 0 .3rem; color: var(--plm-ink); }
.plm-benefit p { margin: 0; font-size: .93rem; line-height: 1.55; color: var(--plm-muted); }
.plm-why { background: linear-gradient(180deg, #fff 0%, var(--plm-alt) 100%); }
@media (min-width: 576px) { .plm-benefits { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) {
	.plm-benefits { grid-template-columns: repeat(8, 1fr); gap: 1.25rem; }
	.plm-benefit { grid-column: span 2; grid-template-columns: 1fr; padding: 1.5rem; }
	.plm-benefit__icon { grid-row: auto; margin-bottom: .9rem; }
	.plm-benefits .plm-benefit:nth-child(5) { grid-column: 2 / span 2; }
	.plm-benefits--5 { grid-template-columns: repeat(6, 1fr); }
	.plm-benefits--5 .plm-benefit:nth-child(5) { grid-column: span 2; }
	.plm-benefits--5 .plm-benefit:nth-child(4) { grid-column: 2 / span 2; }
}

/* ---------- Image + text split ---------- */
.plm-media-split { display: grid; gap: 1.5rem; align-items: center; }
.plm-media { margin: 0; border-radius: var(--plm-radius); overflow: hidden; box-shadow: var(--plm-shadow); aspect-ratio: 4 / 3; }
.plm-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 992px) { .plm-media-split { grid-template-columns: 5fr 6fr; gap: 3rem; } }

/* ---------- Visit / NAP ---------- */
.plm-visit { display: grid; gap: 1.5rem; align-items: start; }
.plm-visit__card { background: #fff; border-radius: var(--plm-radius); box-shadow: var(--plm-shadow); overflow: hidden; display: grid; }
.plm-visit__photo { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.plm-visit__card .plm-btn-block { margin: 0 1.15rem 1.15rem; width: auto; }
.plm-nap { margin: 0; display: grid; gap: .85rem; padding: 1.15rem; }
.plm-nap > div { display: grid; grid-template-columns: 6rem 1fr; gap: .5rem; }
.plm-nap dt { font-weight: 600; color: var(--plm-ink); display: flex; gap: .4rem; align-items: baseline; }
.plm-nap dt i { color: var(--bs-primary); }
.plm-nap dd { margin: 0; line-height: 1.55; }
.plm-hours { display: block; }
.plm-areas { font-size: .95rem; }
@media (min-width: 992px) { .plm-visit { grid-template-columns: 6fr 5fr; gap: 3rem; } }

/* ---------- Financing + video features ---------- */
.plm-duo { display: grid; gap: 1.25rem; }
.plm-feature { background: #fff; border-radius: var(--plm-radius); overflow: hidden; box-shadow: var(--plm-shadow); display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.plm-feature:hover { box-shadow: var(--plm-shadow-hover); transform: translateY(-2px); }
.plm-feature--warm { background: var(--plm-warm); }
.plm-feature__img { width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; display: block; }
.plm-feature__body { padding: 1.35rem 1.35rem 1.5rem; display: flex; flex-direction: column; gap: .2rem; align-items: flex-start; flex: 1; }
.plm-feature__body .btn { margin-top: auto; }
.plm-feature__body p { margin-bottom: 1rem; }
.plm-chip { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #b34a12; background: #fde7d8; border-radius: 999px; padding: .3rem .7rem; margin-bottom: .6rem; }
.plm-chip--green { color: var(--plm-green-dark); background: #d1fae5; }
@media (min-width: 992px) { .plm-duo { grid-template-columns: 1fr 1fr; gap: 2rem; } }

/* ---------- Steps ---------- */
.plm-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: .85rem; }
.plm-steps li { display: flex; gap: .85rem; align-items: flex-start; background: #fff; border-radius: var(--plm-radius); padding: 1rem 1.1rem; box-shadow: var(--plm-shadow); }
.plm-steps p { margin: 0; }
.plm-steps__n { width: 2.1rem; min-width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--bs-primary); color: #fff; font-weight: 700; display: grid; place-items: center; }
@media (min-width: 992px) { .plm-steps { grid-template-columns: repeat(5, 1fr); } .plm-steps li { flex-direction: column; } }

/* ---------- FAQ: two columns on desktop ---------- */
.plm-faq .section-title { text-align: center; }
.plm-faq__grid { display: grid; gap: .6rem; max-width: 72rem; margin: 0 auto; }
.plm-faq__list { display: grid; gap: .6rem; align-content: start; }
.plm-faq__item { background: #fff; border: 1px solid var(--plm-line); border-radius: 12px; transition: border-color .2s, box-shadow .2s; }
.plm-faq__item:hover { border-color: rgba(207,91,31,.35); }
.plm-faq__item[open] { border-color: rgba(207,91,31,.45); box-shadow: var(--plm-shadow); }
.plm-faq__q { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1.1rem; min-height: 48px; }
.plm-faq__q::-webkit-details-marker { display: none; }
.plm-faq__q h3 { font-weight: 600; line-height: 1.4; font-size: .95rem; }
.plm-faq__q i { color: var(--bs-primary); transition: transform .2s; flex: 0 0 auto; }
.plm-faq__item[open] .plm-faq__q i { transform: rotate(45deg); }
.plm-faq__a { padding: 0 1.1rem 1rem; }
.plm-faq__a p { margin: 0; color: var(--plm-muted); }
@media (min-width: 992px) { .plm-faq__grid { grid-template-columns: 1fr 1fr; gap: .6rem 1.25rem; } }

/* ---------- Closing CTA ---------- */
.plm-cta { background: var(--bs-primary); color: #fff; padding: 2.25rem 0; text-align: center; }
.plm-cta__text { font-size: 1.1rem; max-width: 46rem; margin: 0 auto 1.1rem; color: #fff; }
.plm-cta__text a { color: #fff; font-weight: 700; }
@media (max-width: 575.98px) { .plm-cta .plm-btns .btn { flex: 1 1 100%; } }

/* ---------- Category pages ---------- */
.plm-archive-sections { margin-top: 1.5rem; border-top: 1px solid var(--plm-line); }
.plm-archive-sections .plm-section { padding: 2rem 0; }
.plm-archive-sections .plm-section + .plm-section { border-top: 1px solid var(--plm-line); }
.plm-archive-sections .plm-lead { margin-left: 0; margin-right: 0; text-align: left; }
.archive .plm-readmore { margin: .25rem 0 .9rem; max-width: none; }
.archive .plm-readmore p { color: var(--plm-muted); font-size: .95rem; line-height: 1.6; }
.plm-split { display: grid; gap: 2rem; }
@media (min-width: 992px) { .plm-split { grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: start; } }
.plm-panel { background: #fff; border-radius: var(--plm-radius); padding: 1.5rem; box-shadow: var(--plm-shadow); }
.plm-panel--warm { background: var(--plm-warm); }
.plm-chips { list-style: none; padding: 0; margin: 0 0 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.plm-chips li { border-radius: 999px; font-size: .92rem; }
.plm-chips li:not(:has(a)) { background: var(--plm-alt); color: var(--plm-muted); padding: .5rem .95rem; }
.plm-chips li a { display: inline-flex; align-items: center; padding: .5rem .95rem; border-radius: 999px; background: #fff; border: 1px solid var(--plm-warm-line); font-weight: 600; text-decoration: none; transition: background .18s, color .18s; }
.plm-chips li a:hover { background: var(--bs-primary); color: #fff; }
.plm-checks { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .6rem; }
.plm-checks li { display: flex; gap: .55rem; align-items: flex-start; line-height: 1.5; }
.plm-checks i { color: var(--plm-green); margin-top: .15rem; }
.plm-list { padding-left: 1.1rem; margin: 0; display: grid; gap: .55rem; }
.plm-list li { line-height: 1.55; }
.plm-empty { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem 1.35rem; border-radius: 1rem; background: var(--plm-warm); border: 1px solid var(--plm-warm-line); margin: .5rem 0 1rem; }
.plm-empty > i { font-size: 1.8rem; color: var(--bs-primary); }
.plm-empty__title { font-weight: 700; margin: 0 0 .25rem; }
.plm-empty__text { margin: 0 0 .85rem; color: var(--plm-muted); }

/* ---------- Phone tweaks ---------- */
@media (max-width: 575.98px) {
	.plm-section > .container, .plm-hero .container, .plm-cta .container { padding-left: 16px; padding-right: 16px; }
	.plm-section { padding: 1.9rem 0; }
	.plm-section .section-title { font-size: 1.3rem; }
	.plm-benefit { padding: 1rem; }
	.plm-benefit p { font-size: .9rem; }
}
.plm-panel { overflow: hidden; }
.plm-panel__img { display: block; width: calc(100% + 3rem); max-width: none; margin: -1.5rem -1.5rem 1.25rem; height: auto; aspect-ratio: 16 / 7; object-fit: cover; }
.plm-panel .btn { margin-top: .25rem; }

/* ---------- Round 1, review 2 (Oct 21) ---------- */
/* Smaller breeders photo */
@media (min-width: 992px) { .plm-media-split--small { grid-template-columns: 4fr 7fr; } }
.plm-media-split--small .plm-media { aspect-ratio: 16 / 10; max-height: 300px; }

/* Visual panels replacing stock photos */
.plm-visual { position: relative; display: grid; place-items: center; padding: 1.75rem 1rem 2.25rem; min-height: 230px; overflow: hidden; }
.plm-visual--fin { background: radial-gradient(120% 120% at 0% 0%, #ffe3cf 0%, #fff4ec 55%, #fde9dc 100%); }
.plm-visual--vid { background: radial-gradient(120% 120% at 100% 0%, #d1fae5 0%, #ecfdf5 55%, #e6f6ef 100%); }
.plm-visual__pill { position: absolute; bottom: .9rem; left: 50%; transform: translateX(-50%); white-space: nowrap; background: #fff; border-radius: 999px; padding: .35rem .8rem; font-size: .8rem; font-weight: 600; color: #b34a12; box-shadow: var(--plm-shadow); display: inline-flex; gap: .35rem; align-items: center; }
.plm-visual__pill--green { color: var(--plm-green-dark); }
.plm-visual__pill span { color: var(--plm-muted); font-weight: 500; }
.plm-ccard { width: min(300px, 82%); aspect-ratio: 1.586; border-radius: 16px; padding: 1rem 1.15rem; color: #fff; background: linear-gradient(135deg, #e8743a 0%, #cf5b1f 45%, #9c3d0c 100%); box-shadow: 0 18px 40px rgba(156,61,12,.35); transform: rotate(-6deg); display: grid; grid-template-rows: auto auto 1fr auto; }
.plm-ccard__top { display: flex; justify-content: space-between; align-items: center; font-size: 1.1rem; }
.plm-ccard__brand { font-weight: 800; letter-spacing: -.02em; font-size: 1.25rem; }
.plm-ccard__chip { width: 38px; height: 28px; border-radius: 6px; background: linear-gradient(135deg, #f7d58b, #d9a441); margin-top: .5rem; }
.plm-ccard__big { align-self: end; font-size: 2rem; font-weight: 800; line-height: 1; }
.plm-ccard__small { font-size: .85rem; opacity: .92; }
.plm-phone { width: 168px; aspect-ratio: 9 / 18; border-radius: 28px; background: #111; padding: 8px; box-shadow: 0 18px 40px rgba(4,120,87,.28); transform: rotate(4deg); }
.plm-phone__screen { position: relative; width: 100%; height: 100%; border-radius: 21px; overflow: hidden; background: #222; }
.plm-phone__screen img { width: 100%; height: 100%; object-fit: cover; display: block; }
.plm-phone__live { position: absolute; top: 10px; left: 10px; background: rgba(0,0,0,.55); color: #fff; font-size: .65rem; font-weight: 700; letter-spacing: .06em; border-radius: 999px; padding: .15rem .45rem; display: inline-flex; gap: .3rem; align-items: center; }
.plm-phone__live span { width: 7px; height: 7px; border-radius: 50%; background: #ef4444; }
.plm-phone__name { position: absolute; left: 10px; right: 10px; bottom: 48px; color: #fff; font-size: .7rem; font-weight: 600; text-shadow: 0 1px 4px rgba(0,0,0,.6); }
.plm-phone__bar { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: .55rem; }
.plm-phone__bar i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.22); color: #fff; font-size: .8rem; }
.plm-phone__bar .plm-phone__end { background: #ef4444; }
@media (prefers-reduced-motion: no-preference) { .plm-feature:hover .plm-ccard { transform: rotate(-3deg) translateY(-4px); transition: transform .3s; } .plm-feature:hover .plm-phone { transform: rotate(1deg) translateY(-4px); transition: transform .3s; } }
.plm-panel__visual { margin: -1.5rem -1.5rem 1.25rem; }

/* Tip boxes that open a form */
.plm-benefit__link { margin-top: .75rem; font-weight: 700; font-size: .9rem; color: var(--bs-primary); text-decoration: none; display: inline-flex; gap: .35rem; align-items: center; }
.plm-benefit__link::after { content: ""; position: absolute; inset: 0; border-radius: var(--plm-radius); }
.plm-benefit--action { border: 1px solid var(--plm-warm-line); cursor: pointer; }
.plm-benefit--action:hover .plm-benefit__link { text-decoration: underline; }

/* What comes with every puppy */
.plm-includes { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .7rem; }
.plm-includes li { display: flex; gap: .75rem; align-items: flex-start; line-height: 1.5; }
.plm-includes__icon { flex: 0 0 2.2rem; height: 2.2rem; border-radius: 10px; display: grid; place-items: center; background: #ecfdf5; color: var(--plm-green-dark); font-size: 1.05rem; }
.plm-visual { height: 280px; min-height: 0; } .plm-phone { width: 128px; }

/* Kittens page round 3 (Oct 21) */
.plm-breeds { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.plm-breed { background: #fff; border-radius: var(--plm-radius); box-shadow: var(--plm-shadow); padding: 1.2rem; display: flex; flex-direction: column; gap: .45rem; transition: box-shadow .2s, transform .2s; }
.plm-breed:hover { box-shadow: var(--plm-shadow-hover); transform: translateY(-2px); }
.plm-breed__icon { width: 2.6rem; height: 2.6rem; border-radius: 12px; display: grid; place-items: center; background: var(--plm-warm); color: var(--bs-primary); font-size: 1.25rem; }
.plm-breed__name { font-size: 1.1rem; margin: .2rem 0 0; }
.plm-breed p { margin: 0; font-size: .92rem; line-height: 1.55; }
.plm-tags { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.plm-tags li { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; background: #ecfdf5; color: var(--plm-green-dark); border-radius: 999px; padding: .15rem .55rem; }
.plm-breeds__cta { margin: 1.25rem 0 0; }
.plm-choose { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); counter-reset: none; }
.plm-choose__item { position: relative; background: var(--plm-warm); border-radius: var(--plm-radius); padding: 1.3rem 1.2rem 1.2rem; display: flex; flex-direction: column; gap: .4rem; }
.plm-choose__n { position: absolute; top: .9rem; right: 1rem; font-size: 2rem; font-weight: 800; line-height: 1; color: rgba(179,74,18,.18); }
.plm-choose__icon { width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--bs-primary); color: #fff; font-size: 1.15rem; }
.plm-choose__title { font-size: 1.05rem; margin: .3rem 0 0; }
.plm-choose__item p { margin: 0; font-size: .92rem; line-height: 1.55; }
.plm-feature--mini { margin-top: 1.25rem; }
.plm-feature--mini .plm-visual { height: 220px; }
.plm-feature--mini .plm-phone { width: 104px; }
.plm-feature--mini .plm-feature__body p { margin-bottom: .75rem; }
.plm-phone__blank { width: 100%; height: 100%; display: grid; place-content: center; justify-items: center; gap: .4rem; background: linear-gradient(160deg, #10b981, #047857); color: #fff; text-align: center; }
.plm-phone__blank i { font-size: 1.8rem; }
.plm-phone__blank span { font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
@media (min-width: 992px) { .plm-visit--kittens { grid-template-columns: 1.15fr 1fr; gap: 2.5rem; } .plm-breeds { grid-template-columns: repeat(5, 1fr); } .plm-choose { grid-template-columns: repeat(4, 1fr); } }
.plm-breeds__cta .btn { text-decoration: none; }
.plm-benefit__link { grid-column: 1 / -1; }
.plm-breed__name, .plm-choose__title { font-size: 1.1rem !important; font-weight: 700 !important; color: var(--plm-ink); line-height: 1.3; }
/* rem is tiny on phones in the parent theme; use px for card titles */
.plm-benefit__title { font-size: 17px !important; }
.plm-breed__name, .plm-choose__title { font-size: 18px !important; }
/* beat parent ".container h3 { font-size: .75rem !important }" on phones */
.container h3.plm-benefit__title { font-size: 17px !important; }
.container h3.plm-breed__name, .container h3.plm-choose__title { font-size: 18px !important; }
.plm-breed__portrait { width: 76px; height: 76px; border-radius: 50%; background: var(--plm-warm); display: grid; place-items: center; }
.plm-catface { width: 60px; height: 60px; }
/* Kitten breed cards with real breed photos */
.plm-breed--photo { position: relative; overflow: hidden; padding: 0; min-height: 400px; justify-content: flex-end; }
.plm-breed__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.plm-breed--photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(255,255,255,0) 30%, rgba(255,255,255,.88) 55%, #fff 72%); }
.plm-breed__body { position: relative; z-index: 1; padding: 1.1rem 1.15rem 1.2rem; display: flex; flex-direction: column; gap: .45rem; }
@media (max-width: 991.98px) { .plm-breed--photo { min-height: 420px; } }
.plm-breed--photo { min-height: 470px; }
.plm-breed__photo { inset: 0 0 auto 0; height: 64%; object-position: center 35%; }
.plm-breed--photo::after { background: linear-gradient(to bottom, rgba(255,255,255,0) 34%, rgba(255,255,255,.75) 50%, #fff 62%); }

/* =========================================================================
 * Round 2: Areas We Serve hub and area pages
 * ====================================================================== */
.plm-area-hero { background: linear-gradient(135deg, var(--plm-warm) 0%, #fff 60%); padding: 2rem 0 2.25rem; border-bottom: 1px solid var(--plm-line); }
.plm-area-hero__grid { display: grid; gap: 1.75rem; align-items: center; }
.plm-area-hero h1 { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem); line-height: 1.15; margin: .4rem 0 .9rem; color: var(--plm-ink); }
.plm-area-hero__lead { font-size: 1.05rem; line-height: 1.65; color: var(--plm-ink); margin-bottom: 1rem; }
.plm-crumbs { font-size: .85rem; color: var(--plm-muted); display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.plm-crumbs a { color: var(--plm-muted); }
.plm-crumbs a:hover { color: var(--bs-primary); }
.plm-crumbs .bi { font-size: .7rem; }
.plm-trip { list-style: none; padding: 0; margin: 0 0 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.plm-trip li { display: inline-flex; gap: .4rem; align-items: center; background: #fff; border: 1px solid var(--plm-warm-line); border-radius: 999px; padding: .35rem .8rem; font-size: .88rem; font-weight: 600; color: var(--plm-ink); }
.plm-trip .bi { color: var(--bs-primary); }
.plm-area-hero__media { margin: 0; position: relative; border-radius: var(--plm-radius); overflow: hidden; box-shadow: var(--plm-shadow-hover); aspect-ratio: 4 / 3; }
.plm-area-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.plm-area-hero__media figcaption { position: absolute; left: .9rem; bottom: .9rem; right: .9rem; background: rgba(255,255,255,.94); border-radius: 12px; padding: .55rem .8rem; font-size: .88rem; color: var(--plm-ink); display: flex; gap: .45rem; align-items: center; box-shadow: var(--plm-shadow); }
.plm-area-hero__media figcaption .bi { color: #f59e0b; }
.plm-area-hero__map { margin: 0; background: #fff; border-radius: var(--plm-radius); box-shadow: var(--plm-shadow-hover); overflow: hidden; }
.plm-map { display: block; width: 100%; height: auto; max-height: 560px; }
.plm-area-hero__map figcaption { display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding: .7rem 1rem; font-size: .82rem; color: var(--plm-muted); border-top: 1px solid var(--plm-line); }
.plm-area-hero__map figcaption .bi { font-size: .6rem; vertical-align: middle; }
@media (min-width: 992px) {
	.plm-area-hero { padding: 3rem 0; }
	.plm-area-hero__grid { grid-template-columns: 1.1fr 1fr; gap: 3rem; }
	.plm-area--hub .plm-area-hero__grid { grid-template-columns: 1.3fr 1fr; }
	.plm-area--hub .plm-area-hero__map { max-width: 400px; justify-self: end; }
}
#plm-grid { scroll-margin-top: 90px; }

/* Why section: copy left, fact cards right */
.plm-why__grid { display: grid; gap: 1.5rem; align-items: start; }
.plm-facts { list-style: none; padding: 0; margin: 0; display: grid; gap: .9rem; grid-template-columns: 1fr 1fr; }
.plm-fact { position: relative; background: #fff; border-radius: var(--plm-radius); padding: 1.1rem; box-shadow: var(--plm-shadow); }
.plm-fact .plm-benefit__icon { margin-bottom: .6rem; }
.plm-fact p { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--plm-muted); }
.plm-fact--link { grid-column: 1 / -1; background: var(--plm-warm); box-shadow: none; border: 1px solid var(--plm-warm-line); padding: .8rem 1.1rem; }
.plm-fact--link .plm-benefit__link { margin: 0; }
@media (min-width: 992px) { .plm-why__grid { grid-template-columns: 1.2fr 1fr; gap: 2.5rem; } }
.plm-includes--check .plm-includes__icon { flex-basis: 1.8rem; height: 1.8rem; border-radius: 50%; }

/* Breed photo cards (dogs) */
.plm-breeds--dogs { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
@media (min-width: 992px) { .plm-breeds.plm-breeds--dogs { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } }
.plm-breed__name a { color: inherit; text-decoration: none; }
.plm-breed__name a:hover { color: var(--bs-primary); text-decoration: underline; }
.plm-breed__cta { margin-top: .35rem; position: relative; z-index: 2; }
.plm-breed__cta::after { display: none; }
.plm-breeds__after { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; }
.plm-breeds__after p { margin: 0; flex: 1 1 380px; }

/* Directions */
.plm-routes { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .7rem; }
.plm-routes li { display: flex; gap: .8rem; align-items: flex-start; background: #fff; border-radius: 12px; padding: .9rem 1rem; box-shadow: var(--plm-shadow); line-height: 1.55; }
.plm-routes__icon { flex: 0 0 2.2rem; height: 2.2rem; border-radius: 10px; display: grid; place-items: center; background: var(--plm-warm); color: var(--bs-primary); font-size: 1.05rem; }

/* Video meet and greet + delivery (Broward and Palm Beach) */
.plm-remote { display: grid; gap: 1.5rem; align-items: center; }
.plm-remote__visual .plm-visual { border-radius: var(--plm-radius); height: 300px; }
@media (min-width: 992px) { .plm-remote { grid-template-columns: 1.4fr 1fr; gap: 2.5rem; } }
.plm-steps3 { list-style: none; padding: 0; margin: 1rem 0 1.25rem; display: grid; gap: .75rem; }
.plm-steps3 li { display: grid; grid-template-columns: auto 1fr; column-gap: .8rem; align-items: start; background: #fff; border-radius: 12px; padding: .9rem 1rem; box-shadow: var(--plm-shadow); }
.plm-steps3__icon { grid-row: span 3; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; background: #ecfdf5; color: var(--plm-green-dark); font-size: 1.1rem; }
.plm-steps3__n { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--plm-green-dark); }
.plm-steps3 strong { color: var(--plm-ink); }
.plm-steps3 li > span:last-child { font-size: .9rem; color: var(--plm-muted); }
@media (min-width: 768px) { .plm-steps3 { grid-template-columns: repeat(3, 1fr); } }
.plm-feature__title { font-size: 1.35rem !important; margin: .35rem 0 .5rem; color: var(--plm-ink); }
.plm-feature--store .plm-visit__card { box-shadow: none; border-top: 1px solid var(--plm-line); border-radius: 0; }

/* Hub: city cards */
.plm-cities { list-style: none; padding: 0; margin: 1rem 0 1.5rem; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.plm-city { position: relative; display: flex; gap: .75rem; align-items: center; background: #fff; border-radius: 14px; padding: .9rem 1rem; box-shadow: var(--plm-shadow); transition: box-shadow .2s, transform .2s; }
.plm-city--link:hover { box-shadow: var(--plm-shadow-hover); transform: translateY(-2px); }
.plm-city__icon { flex: 0 0 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; background: var(--plm-warm); color: var(--bs-primary); }
.plm-city__icon .bi-camera-video-fill { color: var(--plm-green-dark); }
.plm-city__body { display: flex; flex-direction: column; gap: .15rem; flex: 1; min-width: 0; }
.plm-city__name { font-weight: 700; color: var(--plm-ink); text-decoration: none; line-height: 1.3; }
a.plm-city__name::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }
.plm-city--link:hover .plm-city__name { color: var(--bs-primary); }
.plm-city__note { font-size: .82rem; color: var(--plm-muted); }
.plm-city__drive { font-size: .8rem; font-weight: 600; color: var(--bs-primary); display: inline-flex; gap: .3rem; align-items: center; }
.plm-city__go { color: var(--bs-primary); }
.plm-remote--hub { background: #fff; border-radius: var(--plm-radius); padding: 1.5rem; box-shadow: var(--plm-shadow); }
@media (min-width: 992px) {
	.plm-benefits--6 { grid-template-columns: repeat(6, 1fr); }
	.plm-benefits--6 .plm-benefit, .plm-benefits--6 .plm-benefit:nth-child(5) { grid-column: span 2; }
}
.container h3.plm-benefit__title { font-size: 17px !important; }
.plm-cta__text a { color: #fff; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.plm-cta__text a:hover { color: #ffe3cf; }
@media (min-width: 992px) { .plm-why__grid { align-items: center; } }
.plm-steps3__text { font-size: .92rem; line-height: 1.5; color: var(--plm-muted); }
.plm-steps3__text strong { display: block; color: var(--plm-ink); font-size: 1rem; margin-bottom: .15rem; }
.plm-duo--remote .plm-feature--warm .plm-feature__body .btn { margin-top: .5rem; }
.plm-duo--remote { align-items: start; }
.plm-city__name { text-decoration: none !important; }
/* Phones: breed cards side by side (photo left, text right) so 5 breeds aren't 2,000px of scrolling */
@media (max-width: 575.98px) {
	.plm-breeds--dogs .plm-breed--photo { min-height: 0; display: grid; grid-template-columns: 112px 1fr; align-items: stretch; }
	.plm-breeds--dogs .plm-breed__photo { position: static; width: 112px; height: 100%; min-height: 140px; object-position: center 30%; }
	.plm-breeds--dogs .plm-breed--photo::after { display: none; }
	.plm-breeds--dogs .plm-breed__body { padding: .85rem .9rem; gap: .3rem; }
	.plm-breeds--dogs .plm-breed p { font-size: .88rem; }
}
.plm-remote .plm-steps3 { grid-template-columns: 1fr; }
.plm-steps3__icon { grid-row: span 2; }
.plm-steps3 li { align-items: center; }
.plm-steps3__n { display: none; }
/* (Oct 21) */
body.page .plm-cta .container p.plm-cta__text a, body.page .plm-cta .container p.plm-cta__text a:visited { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
body.page .plm-cta .container p.plm-cta__text a:hover { color: #ffe3cf !important; text-decoration-thickness: 2px; }
@media (min-width: 576px) {
	.plm-breeds--dogs .plm-breed--photo { min-height: 0; justify-content: flex-start; }
	.plm-breeds--dogs .plm-breed__photo { height: 250px; }
	.plm-breeds--dogs .plm-breed--photo::after { background: linear-gradient(to bottom, rgba(255,255,255,0) 120px, rgba(255,255,255,.8) 200px, #fff 250px); }
	.plm-breeds--dogs .plm-breed__body { margin-top: 215px; }
}
.plm-facts--odd .plm-fact:nth-last-child(2) { grid-column: 1 / -1; }
.plm-fact p a { color: var(--bs-primary); }
.plm-hub-intro { padding-bottom: 0; }
.plm-area-hero__media figcaption { display: block; line-height: 1.45; }
.plm-area-hero__media figcaption .bi { margin-right: .3rem; }
.plm-facts--list { grid-template-columns: 1fr; gap: .7rem; }
.plm-facts--list .plm-fact { display: grid; grid-template-columns: auto 1fr; column-gap: .9rem; align-items: start; padding: .9rem 1rem; }
.plm-facts--list .plm-fact .plm-benefit__icon { grid-row: span 2; margin: 0; }
.plm-facts--list .plm-fact .plm-benefit__title { margin: 0 0 .15rem; }
.plm-facts--list .plm-fact--link { display: block; }
body.page .plm-cta .container p.plm-cta__text a { border-radius: 4px; padding: 0 2px; transition: background-color .15s; }
body.page .plm-cta .container p.plm-cta__text a:hover, body.page .plm-cta .container p.plm-cta__text a:focus-visible { background: #fff; color: #b34700 !important; text-decoration: none; }
.plm-area-hero__media figcaption { display: flex; flex-direction: column; gap: .1rem; align-items: flex-start; }
.plm-cap__label { font-size: .8rem; color: var(--plm-muted); white-space: nowrap; }
.plm-cap__breed { font-size: 1rem; color: var(--plm-ink); white-space: nowrap; }
@media (min-width: 992px) { .plm-facts--list { grid-auto-rows: 1fr; } }
.plm-fact--after { margin-top: .7rem; }
.plm-facts--list .plm-fact { grid-template-rows: auto 1fr; align-content: start; }
.plm-facts--list .plm-fact .plm-benefit__icon { align-self: start; }
.plm-facts--list .plm-fact .plm-benefit__title { align-self: center; }
.plm-area-hero__map figcaption { justify-content: flex-start; text-align: left; }
.plm-nw { white-space: nowrap; }
.plm-ico-dog::before, .plm-ico-kennel::before { content: "" !important; display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--plm-ico) center / contain no-repeat; mask: var(--plm-ico) center / contain no-repeat; vertical-align: -.125em; }
.plm-ico-kennel { --plm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 1.2 15.2 7l-1 1.2-.7-.5V14.6H2.5V7.7l-.7.5-1-1.2zM4 6.6v6.5h1.6V11a2.4 2.4 0 0 1 4.8 0v2.1H12V6.6L8 3.4zM7 11v2.1h2V11a1 1 0 0 0-2 0z'/%3E%3C/svg%3E"); }
.plm-ico-dog { --plm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 3c2.9 0 4.4 2.4 4.4 5.3 0 3.3-2 5.7-4.4 5.7s-4.4-2.4-4.4-5.7C3.6 5.4 5.1 3 8 3zm-1.7 3.9a.85.85 0 1 0 0 1.7.85.85 0 0 0 0-1.7zm3.4 0a.85.85 0 1 0 0 1.7.85.85 0 0 0 0-1.7zM8 9.6c-.7 0-1.3.4-1.3.9s.6 1 1.3 1 1.3-.5 1.3-1-.6-.9-1.3-.9z'/%3E%3Cpath d='M3.4 3.6C1.7 3.8.8 5.9 1.1 8.8c.2 1.6 1.3 1.9 2.2.7l.4-.7C3.3 7 3.2 5.2 3.4 3.6zm9.2 0c1.7.2 2.6 2.3 2.3 5.2-.2 1.6-1.3 1.9-2.2.7l-.4-.7c.4-1.8.5-3.6.3-5.2z'/%3E%3C/svg%3E"); }
@media (max-width: 575.98px) {
	.plm-area-hero__media { aspect-ratio: auto; overflow: visible; box-shadow: none; }
	.plm-area-hero__media img { border-radius: var(--plm-radius); aspect-ratio: 4 / 3; height: auto; box-shadow: var(--plm-shadow-hover); object-position: center 40%; }
	.plm-area-hero__media figcaption { position: static; margin-top: .6rem; box-shadow: none; border: 1px solid var(--plm-warm-line); }
}
.plm-benefits--6 .plm-benefit { display: flex; flex-direction: column; }
.plm-benefits--6 .plm-benefit .plm-benefit__link { margin-top: auto; padding-top: .75rem; }
.plm-benefits--6 .plm-benefit p { margin-bottom: 0; }
.plm-hub-intro__card { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; background: var(--plm-warm); border: 1px solid var(--plm-warm-line); border-radius: var(--plm-radius); padding: 1.25rem 1.4rem; }
.plm-hub-intro__card p { margin: 0; }
/* Puppy cards on phones: buttons full width so the number and labels are never cut; names wrap. */
@media (max-width: 575.98px) {
	.product-btns-wrapper > .btn, .product-btns-wrapper > a { flex: 1 1 100% !important; }
	.product-name a { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
	.product-btn-phone-text { white-space: nowrap; }
	/* Footer: Quick Links get room; the Need Help button no longer covers the last links. */
	.footer-row-2 .col-4:has(#menu-footer-menu) { width: 62%; }
	.footer-row-2 .col-4.text-center { width: 38%; }

}
@media (max-width: 575.98px) {
	/* Cards are ~150px wide on phones: show "Call" instead of a cut-off number (the tap still dials the store). */
	.product-btn-phone .product-btn-phone-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.product-btn-phone::after { content: "Call"; }
	.fb-banner--card .fb-banner__headline { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
	.unlock-pricing-cta { font-size: .56rem !important; letter-spacing: .02em !important; white-space: nowrap; }
}
@media (max-width: 575.98px) {
	.fb-banner--card, .fb-banner--card * { height: auto !important; max-height: none !important; -webkit-line-clamp: unset !important; }
	.fb-banner--card .fb-banner__headline { display: block !important; }
	.blurred-corner-price .unlock-pricing-cta, .blurred-corner-price .unlock-pricing-cta * { font-size: 9px !important; letter-spacing: .02em !important; }
}
.plm-area-hero__media { aspect-ratio: auto; overflow: visible; box-shadow: none; }
.plm-area-hero__media img { border-radius: var(--plm-radius); aspect-ratio: 4 / 3; height: auto; box-shadow: var(--plm-shadow-hover); }
.plm-area-hero__media figcaption { position: static; margin-top: .6rem; box-shadow: none; border: 1px solid var(--plm-warm-line); }
.plm-ico-breeder::before { content: "" !important; display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--plm-ico) center / contain no-repeat; mask: var(--plm-ico) center / contain no-repeat; vertical-align: -.125em; }
.plm-ico-breeder { --plm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 .5a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11zm0 1.3a4.2 4.2 0 1 0 0 8.4 4.2 4.2 0 0 0 0-8.4z'/%3E%3Cpath d='M8 6.4c-1.3 0-2.3 1.2-2.3 2 0 .6.5.9 1.1.9.4 0 .8-.2 1.2-.2s.8.2 1.2.2c.6 0 1.1-.3 1.1-.9 0-.8-1-2-2.3-2zM5.4 4.6a.8 1 0 1 0 0 2 .8 1 0 0 0 0-2zm5.2 0a.8 1 0 1 0 0 2 .8 1 0 0 0 0-2zM7 3.4a.75.95 0 1 0 0 1.9.75.95 0 0 0 0-1.9zm2 0a.75.95 0 1 0 0 1.9.75.95 0 0 0 0-1.9zM4.6 10.6 3.4 15.5l2.1-1.1 1.4 1.5.8-3.9a6.6 6.6 0 0 1-3.1-1.4zm6.8 0 1.2 4.9-2.1-1.1-1.4 1.5-.8-3.9a6.6 6.6 0 0 0 3.1-1.4z'/%3E%3C/svg%3E"); }
@media (min-width: 992px) { .plm-why__grid { align-items: start; } }
.plm-cities--wide { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.plm-cities--wide .plm-city__drive, .plm-cities--wide .plm-city__drive > span { white-space: nowrap; }
/* Puppy card buttons: clear hover on every button */
.product-btn-info, .product-btn-phone, .product-card__button--video { transition: background-color .18s, filter .18s, transform .18s, box-shadow .18s !important; }
.product-btn-info:hover, .product-btn-info:focus-visible { filter: brightness(.82); transform: translateY(-1px); box-shadow: 0 6px 14px rgba(179,71,0,.35); color: #fff !important; }
.product-btn-phone:hover, .product-btn-phone:focus-visible { background: #3a3a3a !important; border-color: #3a3a3a !important; transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0,0,0,.3); color: #fff !important; }
.product-card__button--video:hover, .product-card__button--video:focus-visible { background: #064e3b !important; box-shadow: 0 0 0 3px rgba(16,185,129,.35), 0 6px 14px rgba(4,120,87,.35) !important; }
/* Call button: "Call (305) 363-6959" everywhere; full width so it never cuts off */
/* Desktop: Get My Info and Call side by side (Round 1 layout); phones stack them. */
.product-btns-wrapper { flex-wrap: nowrap !important; }
.product-btns-wrapper > .product-btn-info, .product-btns-wrapper > .product-btn-phone { flex: 1 1 0 !important; min-width: 0; white-space: nowrap; }
@media (max-width: 575.98px) {
	.product-btns-wrapper { flex-wrap: wrap !important; }
	.product-btns-wrapper > .product-btn-info, .product-btns-wrapper > .product-btn-phone { flex: 1 1 100% !important; }
}
.product-btn-phone .product-btn-phone-text { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; white-space: nowrap; }
.product-btn-phone::after { content: none !important; }
@media (max-width: 575.98px) {
	.product-btn-phone { flex-wrap: wrap; line-height: 1.15; padding-top: .35rem; padding-bottom: .35rem; }
	.product-btn-phone .product-btn-phone-text { display: flex; flex-direction: column; align-items: flex-start; }
	.product-btn-phone .product-btn-phone-num { font-size: .78rem; }
}
/* Breed cards: fade starts lower so dark coats stay visible */
@media (min-width: 576px) { .plm-breeds--dogs .plm-breed--photo::after { background: linear-gradient(to bottom, rgba(255,255,255,0) 175px, rgba(255,255,255,.85) 225px, #fff 250px); } }
/* "Why" with v3 reason list: text full width on top, cards in an even grid below */
@media (min-width: 992px) {
	.plm-why__grid--stack { grid-template-columns: 1fr; gap: 1.5rem; }
	.plm-why__grid--stack .plm-facts--list { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; }
	.plm-why__grid--stack .plm-facts--list .plm-fact { grid-template-columns: 1fr; grid-template-rows: auto auto 1fr; }
	.plm-why__grid--stack .plm-facts--list .plm-fact .plm-benefit__icon { grid-row: auto; margin-bottom: .6rem; }
	.plm-why__grid--stack .plm-facts--list:has(> .plm-fact:nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr); }
	.plm-why__grid--stack .plm-facts--list > .plm-fact:nth-child(4):nth-last-child(2) { grid-column: 1 / span 1; }
}
@media (min-width: 992px) {
	.plm-why__grid--stack .plm-facts--list:has(> .plm-fact:nth-child(5):last-child) { grid-template-columns: repeat(6, 1fr); }
	.plm-why__grid--stack .plm-facts--list:has(> .plm-fact:nth-child(5):last-child) > .plm-fact { grid-column: span 2; }
	.plm-why__grid--stack .plm-facts--list:has(> .plm-fact:nth-child(5):last-child) > .plm-fact:nth-child(4) { grid-column: 2 / span 2; }
	.plm-why__grid--stack .plm-fact--after { max-width: 520px; }
}
@media (min-width: 992px) { .plm-why__grid--stack .plm-facts--list .plm-fact { grid-template-rows: auto auto auto; align-content: start; } }
.store-hours-compact .plm-nw { white-space: nowrap; }
@media (max-width: 575.98px) { #menu-footer-menu .nav-link { line-height: 1.3; } }
@media (min-width: 576px) {
	.product-btns-wrapper { gap: .3rem !important; }
	.product-btns-wrapper > .product-btn-info { flex: 0 1 auto !important; padding-left: .7rem !important; padding-right: .7rem !important; }
	.product-btns-wrapper > .product-btn-phone { flex: 1 1 auto !important; padding-left: .55rem !important; padding-right: .55rem !important; gap: .3rem !important; }
	.product-btns-wrapper > .product-btn-info, .product-btns-wrapper > .product-btn-phone { font-size: clamp(.74rem, .55rem + .45vw, .9rem) !important; }
}
@media (min-width: 576px) {
	html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info { flex: 0 0 auto !important; padding-left: .65rem !important; padding-right: .65rem !important; }
	html body .product-btns-wrapper > a.btn.product-btn-phone.product-btn-phone.product-btn-phone { flex: 1 1 auto !important; padding-left: .5rem !important; padding-right: .5rem !important; }
	html body .product-btns-wrapper > a.btn.product-btn-phone.product-btn-phone.product-btn-phone, html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info { font-size: 13px !important; letter-spacing: -.01em; }
}
@media (min-width: 576px) {
	html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info { width: auto !important; }
	html body .product-btns-wrapper > a.btn.product-btn-phone.product-btn-phone.product-btn-phone { width: auto !important; min-width: 0; }
}
@media (min-width: 576px) and (max-width: 1199.98px) {
	html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info, html body .product-btns-wrapper > a.btn.product-btn-phone.product-btn-phone.product-btn-phone { font-size: 12.5px !important; padding-left: .45rem !important; padding-right: .45rem !important; }
}

/* Breeder icon: a dog house (kennel) with a bone, */
.plm-ico-breeder { --plm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 .8 .4 6.6l.9 1.1 1-.8V15h11.4V6.9l1 .8.9-1.1zM3.6 13.7V5.9L8 2.5l4.4 3.4v7.8H11V10a3 3 0 0 0-6 0v3.7z'/%3E%3Cpath d='M6.3 3.9h3.4a.55.55 0 1 1 .5.8a.55.55 0 1 1-.5.8H6.3a.55.55 0 1 1-.5-.8.55.55 0 1 1 .5-.8z'/%3E%3Cpath d='M8 8.4a2.1 2.1 0 0 0-2.1 2.1v3.2h4.2v-3.2A2.1 2.1 0 0 0 8 8.4z'/%3E%3C/svg%3E"); }
html body .product-btns-wrapper > a.btn.product-btn-phone.product-btn-phone.product-btn-phone:hover, html body .product-btns-wrapper > a.btn.product-btn-phone.product-btn-phone.product-btn-phone:focus-visible { background: #4b5563 !important; border-color: #4b5563 !important; color: #fff !important; }
html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info:hover, html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info:focus-visible { background: #7c2d12 !important; background-image: none !important; filter: none; color: #fff !important; }

/* Breeder icon v3: dog house with a paw print */
.plm-ico-breeder { --plm-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 .6 .2 6.5l.9 1.1 1-.8V15.4h11.8V6.8l1 .8.9-1.1zM3.4 14.1V5.8L8 2.3l4.6 3.5v8.3z'/%3E%3Cpath d='M8 9.3c-1.2 0-2.3 1.2-2.3 2.2 0 .8.6 1.1 1.3 1.1.4 0 .7-.2 1-.2s.6.2 1 .2c.7 0 1.3-.3 1.3-1.1 0-1-1.1-2.2-2.3-2.2zM5.5 7.5a.75.95 0 1 0 0 1.9.75.95 0 0 0 0-1.9zm5 0a.75.95 0 1 0 0 1.9.75.95 0 0 0 0-1.9zM7 6.1a.75.95 0 1 0 0 1.9.75.95 0 0 0 0-1.9zm2 0a.75.95 0 1 0 0 1.9.75.95 0 0 0 0-1.9z'/%3E%3C/svg%3E"); }
.plm-ico-breeder::before, .plm-ico-dog::before { width: 1.35em !important; height: 1.35em !important; }
.plm-subhead { display: inline-block; font-size: 1.05rem; color: var(--plm-ink); margin-bottom: .2rem; }
.plm-readmore__btn { border-radius: 8px; padding: .3rem .6rem; margin-left: -.6rem; transition: background-color .15s, color .15s; }
.plm-readmore__btn:hover, .plm-readmore__btn:focus-visible { background: var(--plm-warm); color: #7c2d12; text-decoration: underline; text-underline-offset: 3px; }
html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info:hover, html body .product-btns-wrapper > a.btn.product-btn-info.product-btn-info.product-btn-info:focus-visible { background: #fff !important; background-image: none !important; color: #9a3d00 !important; box-shadow: inset 0 0 0 2px #9a3d00, 0 6px 14px rgba(179,71,0,.25) !important; text-decoration: underline !important; text-underline-offset: 3px; transition: none !important; }

/* hub "What every family gets". Cards without their own page are plain: no border, no lift,
   no pointer. The 2 card links sit at the bottom of their cards so they line up; the third link is the same
   full-width peach bar the area pages use. */
.plm-benefits--6 .plm-benefit:not(.plm-benefit--action) { cursor: default; }
.plm-benefits--6 .plm-benefit:not(.plm-benefit--action):hover { transform: none; box-shadow: var(--plm-shadow); }
.plm-benefits--6 .plm-benefit--action .plm-benefit__link { margin-top: auto; padding-top: .75rem; }
.plm-benefits__more { margin-top: 1rem; }
/* numbered visit steps (Miami Lakes) as step cards. */
.plm-steps-lead { margin: 1.1rem 0 .25rem; font-weight: 600; color: var(--plm-ink); }
.plm-steps3--visit { grid-template-columns: 1fr !important; margin-top: .5rem; }
@media (min-width: 576px) { .plm-steps3--visit { grid-template-columns: repeat(2, 1fr) !important; } }
.plm-routes:not(:has(li)) { display: none; }
/* parent h3 margin pushed card titles 60px below the icon; arrow stays with the link text. */
.container h3.plm-benefit__title, h3.plm-benefit__title { margin-top: .1rem !important; }
.plm-benefits--6 .plm-benefit__icon { margin-bottom: .2rem; }
.plm-breed__cta { display: inline; }
.plm-breed__cta i { margin-left: .3rem; white-space: nowrap; }

/* hub intro text uses the whole box; map legend items line up (icon column, text wraps under text). */
.plm-hub-intro__card p, .plm-hub-intro__card .plm-lead { max-width: none !important; }
.plm-area-hero__map figcaption { display: grid !important; grid-template-columns: 1fr; gap: .35rem; text-align: left !important; justify-items: start; }
.plm-area-hero__map figcaption > span { display: grid; grid-template-columns: 1rem 1fr; column-gap: .45rem; align-items: baseline; text-align: left; }
.plm-area-hero__map figcaption > span:last-child { grid-template-columns: 1fr; }
.plm-area-hero__map figcaption .bi { justify-self: center; }
/* Hub map key: under the map as readable 13px text at every width. */
.plm-mapkey { display: none; }
@media all {
	.plm-map .plm-map__key { display: none; }
	.plm-mapkey { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem .9rem; list-style: none; margin: 0; padding: .8rem 1rem .2rem; font-size: 13px; line-height: 1.3; color: var(--plm-ink); }
	.plm-mapkey li { display: flex; align-items: center; gap: .4rem; }
	.plm-mapkey__store { grid-column: 1 / -1; font-weight: 700; color: #7c2d12; }
	.plm-mapkey__store .bi { color: #c2410c; font-size: 13px; }
	.plm-mapkey__n { flex: none; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: #c2410c; color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; }
	.plm-mapkey__n--remote { background: #047857; }
}

/* breed cards line up. Fixed photo height, the text starts at the same point on every card,
   and the one-line "See available puppies" link sits at the bottom. */
@media (min-width: 576px) {
	.plm-breeds--dogs .plm-breed--photo { justify-content: flex-start; min-height: 0 !important; }
	.plm-breeds--dogs .plm-breed__photo { inset: 0 0 auto 0 !important; height: 250px !important; }
	.plm-breeds--dogs .plm-breed--photo::after { background: linear-gradient(to bottom, rgba(255,255,255,0) 0, rgba(255,255,255,0) 150px, rgba(255,255,255,.85) 205px, #fff 240px) !important; }
	.plm-breeds--dogs .plm-breed__body { margin-top: 220px; flex: 1; }
}
.plm-breeds--dogs .plm-breed__body { display: flex; flex-direction: column; }
.plm-breeds--dogs .plm-breed__cta { margin-top: auto; padding-top: .35rem; white-space: nowrap; }

/* on the smallest phones (under 360px) show 1.5 puppy cards instead of 2.3, so every button label
   (Get My Info, Call (305) 363-6959, financing, video) fits without clipping. */
@media (max-width: 359.98px) {
	html body #glide-products.row-cols-1 > li.product { width: 62% !important; max-width: 62% !important; }
}
/* on phones Call and Get My Info are the same height (icon beside the text, not above it). */
@media (max-width: 575.98px) {
	html body li.product .product-btns-wrapper > .product-btn-phone { flex-wrap: nowrap !important; gap: .45rem !important; padding: .3rem .6rem !important; min-height: 48px; }
	html body li.product .product-btns-wrapper > .product-btn-phone .product-btn-phone-text { align-items: flex-start; text-align: left; }
	html body li.product .product-btns-wrapper > .product-btn-info { min-height: 48px; display: flex !important; align-items: center; justify-content: center; }
}
/* HELP bubble steps aside (fades) while it would cover footer text; it comes back as soon as the space is clear. */
.fabs { transition: opacity .2s, visibility .2s; }
.fabs.plm-fab-away { opacity: 0; visibility: hidden; pointer-events: none; }
/* one subhead style in every Read more box, sitting right on top of its paragraph. */
.plm-readmore p:has(> .plm-subhead:only-child), p:has(> .plm-subhead:only-child) { margin-top: 1.1rem; margin-bottom: .3rem; }
.plm-subhead { display: block; margin-bottom: 0; }
/* route picture for each city in the directions card (replaces the shared store photo). */
.plm-route { margin: 0 0 1rem; }
.plm-route svg { display: block; width: 100%; height: auto; border-radius: var(--plm-radius); border: 1px solid var(--plm-warm-line); }
.plm-route__city { font-size: 17px; font-weight: 700; fill: #7c2d12; paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; }
.plm-route__store { font-size: 17px; font-weight: 700; fill: #c2410c; paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; }
.plm-route__other { font-size: 13px; fill: #8a7764; paint-order: stroke; stroke: #f6efe6; stroke-width: 3px; }
.plm-route figcaption { margin-top: .5rem; font-weight: 600; color: var(--plm-ink); display: flex; gap: .45rem; align-items: baseline; }
.plm-route figcaption .bi { color: #c2410c; }
.plm-breed__photo { background: #f6efe6; }
/* Broward and Palm Beach pages, financing card as tall as the store card next to it. */
@media (min-width: 992px) {
	.plm-duo--remote { align-items: stretch; }
	.plm-duo--remote .plm-feature--warm .plm-visual--fin { flex: 1 1 auto; min-height: 280px; }
}
/* Fort Lauderdale (and every stacked "why" layout): the extras bar is full width, like on Areas We Serve. */
.plm-why__grid--stack .plm-fact--after { max-width: none !important; width: 100%; }
/* Route picture sits inside the card padding. */
.plm-visit__card > .plm-route { padding: 1.1rem 1.25rem 0; }
.plm-feature--store .plm-visit__card > .plm-route { padding-top: 0; }
/* exact 320px check: long city names ("South Miami Heights, FL") fit the screen. */
.plm-area-hero__grid > * { min-width: 0; }
@media (max-width: 374.98px) { .plm-area-hero h1 { font-size: 24px; } }
.plm-mapkey__n { font-size: 12px !important; }
@media (max-width: 575.98px) { .plm-readmore__btn { margin-left: 0; padding-left: 0; } }
.plm-area--hub .plm-area-hero__grid { align-items: start; }
/* the area list sits under the hero buttons on desktop (no empty space); under the map on phones and tablets. Every name links to its page. */
.plm-mapkey a { display: flex; align-items: center; gap: .4rem; color: inherit; text-decoration: none; }
.plm-mapkey a:hover, .plm-mapkey a:focus-visible { color: #9a3d00; text-decoration: underline; }
.plm-mapkey-title { display: none; }
.plm-mapkey--side { display: none !important; }
@media (min-width: 992px) {
	.plm-mapkey--under { display: none !important; }
	.plm-mapkey--side { display: grid !important; grid-template-columns: repeat(3, 1fr); padding: 0 !important; margin-top: .4rem !important; }
	.plm-mapkey-title { display: block; margin: 1.6rem 0 .2rem; font-weight: 700; }
}
/* smaller hero photo on desktop; caption lists the page's breeds (not one "popular" breed). */
@media (min-width: 992px) { .plm-area--city .plm-area-hero__media, main:not(.plm-area--hub) .plm-area-hero__media { max-width: 440px; justify-self: end; width: 100%; } }
.plm-cap__note { display: block; font-size: .8rem; color: var(--plm-muted, #6b655d); margin-top: .15rem; }
/* Arrows for the sideways puppy row. */
.plm-rowarrows { display: flex; justify-content: flex-end; gap: .5rem; margin: 0 0 .75rem; }
.plm-rowarrows[hidden] { display: none; }
.plm-rowarrow { width: 44px; height: 44px; border-radius: 50%; border: 2px solid #9a3d00; background: #fff; color: #9a3d00; display: grid; place-items: center; font-size: 1.1rem; cursor: pointer; }
.plm-rowarrow:hover:not(:disabled), .plm-rowarrow:focus-visible { background: #9a3d00; color: #fff; }
.plm-rowarrow:disabled { opacity: .35; cursor: default; }
/* Heading for the Need Help / Ask a Pet Counselor pop-up. */
#contact .modal-header { align-items: flex-start; }
#contact .plm-modal-title { flex: 1; padding: .25rem .5rem 0 .5rem; }
#contact .plm-modal-title h2 { font-weight: 700; }
#contact .plm-modal-title p { color: var(--plm-muted, #6b655d); font-size: .95rem; }
.plm-area-hero__media figcaption .plm-cap__breed { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; display: block; }
.plm-area-hero__media figcaption { max-width: 100%; box-sizing: border-box; }
/* Arrows land on whole cards. */
ul.glide__slides.flex-nowrap { scroll-snap-type: x mandatory; scroll-padding-left: calc(var(--bs-gutter-x, 1.5rem) * .5); }
ul.glide__slides.flex-nowrap > li { scroll-snap-align: start; }
/* hero photo on city pages fades out at the bottom, like the breed cards. */
.plm-area-hero__media img { -webkit-mask-image: linear-gradient(to bottom, #000 62%, rgba(0,0,0,.55) 80%, transparent 100%); mask-image: linear-gradient(to bottom, #000 62%, rgba(0,0,0,.55) 80%, transparent 100%); box-shadow: none !important; }
.plm-area-hero__media figcaption .plm-cap__label { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
/* Phone puppy cards: the financing arrow sits in its own column, never on top of "Zero Down". */
@media (max-width: 575.98px) {
	html body li.product .fb-banner--card { grid-template-columns: 30px minmax(0, 1fr) 16px !important; column-gap: .45rem !important; align-items: center; }
	html body li.product .fb-banner--card .fb-banner__icon { grid-column: 1 !important; grid-row: 1 !important; }
	html body li.product .fb-banner--card .fb-banner__headline { grid-column: 2 !important; grid-row: 1 !important; }
	html body li.product .fb-banner--card .fb-banner__cta { grid-column: 3 !important; grid-row: 1 !important; justify-self: end; }
}
/* General inquiry pop-up heading: bigger picture and title so it reads as a heading, not a puppy card. */
#petInquiry.plm-inquiry--generic #petInquiryCard .ratio { width: 96px !important; border-radius: 12px; }
#petInquiry.plm-inquiry--generic #petInquiryLine1 { font-size: 1.25rem !important; }
#petInquiry.plm-inquiry--generic #petInquiryLine2 { font-size: .92rem; opacity: .8; }
.plm-anchor { display: block; position: relative; top: -110px; visibility: hidden; }
.plm-routes__more { margin: -.25rem 0 1rem; }

/* Cards whose action link covers the whole card: any other link written in the card text
   sits on top, so "How $0 down puppy financing works" goes to /financing/ and only the
   card itself opens the form. */
.plm-benefit a:not(.plm-benefit__link), .plm-fact a:not(.plm-benefit__link), .plm-breed a:not(.plm-benefit__link) { position: relative; z-index: 2; }

/* ---------- Promo cards: puppy playtime + current offer ---------- */
ul > li.plm-promo-li { list-style: none; display: flex; }
ul.glide__slides > li.plm-promo-li { scroll-snap-align: start; }
.plm-promo { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; width: 100%; min-height: 100%; padding: 1.5rem 1.35rem 1.4rem; border-radius: 16px; overflow: hidden; color: #fff; box-shadow: 0 10px 28px rgba(60, 30, 10, .18); }
.plm-promo--playtime { background: radial-gradient(120% 90% at 100% 0%, #e2662a 0%, #b34a12 55%, #8d3505 100%); }
.plm-promo--offer { background: radial-gradient(120% 90% at 100% 0%, #2c3e50 0%, #18232f 60%, #0f171f 100%); }
.plm-promo::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 160px; height: 160px; border-radius: 50%; background: rgba(255, 255, 255, .07); pointer-events: none; }
.plm-promo__icon { width: 3rem; height: 3rem; border-radius: 14px; display: grid; place-items: center; font-size: 1.4rem; background: rgba(255, 255, 255, .16); margin-bottom: .35rem; }
.plm-promo--offer .plm-promo__icon { background: #f5c451; color: #18232f; }
.plm-promo__eyebrow { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
.plm-promo--offer .plm-promo__eyebrow { color: #f5c451; opacity: 1; }
.plm-promo__title { margin: 0; font-size: 1.45rem !important; line-height: 1.2; font-weight: 800; color: #fff; }
.plm-promo__text { margin: 0; font-size: .95rem; line-height: 1.5; color: rgba(255, 255, 255, .9); }
.plm-promo__note { margin: 0; font-size: .75rem; color: rgba(255, 255, 255, .7); }
.plm-promo__btn { position: relative; z-index: 2; margin-top: auto; display: inline-flex; align-items: center; gap: .45rem; padding: .7rem 1.15rem; min-height: 44px; border-radius: 999px; font-weight: 700; font-size: .95rem; text-decoration: none; background: #fff; color: #9a3d00; box-shadow: 0 4px 12px rgba(0, 0, 0, .15); transition: transform .15s, box-shadow .15s; }
.plm-promo--offer .plm-promo__btn { background: #f5c451; color: #18232f; }
.plm-promo__btn:hover, .plm-promo__btn:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0, 0, 0, .22); color: #9a3d00; text-decoration: underline; }
.plm-promo--offer .plm-promo__btn:hover, .plm-promo--offer .plm-promo__btn:focus-visible { color: #18232f; }
.plm-promo__text + .plm-promo__btn, .plm-promo__title + .plm-promo__btn { margin-top: auto; }
/* Puppy page: under the financing box, side by side on wide screens */
.plm-promo-stack { display: grid; gap: 1rem; margin: 0 0 1.5rem; }
.plm-promo-stack .plm-promo { min-height: 0; padding: 1.25rem 1.25rem 1.2rem; }
.plm-promo-stack .plm-promo__title { font-size: 1.25rem !important; }
@media (min-width: 1200px) { .plm-promo-stack { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .plm-promo { padding: 1.25rem 1.1rem; } .plm-promo__title { font-size: 1.25rem !important; } }
@media (max-width: 575.98px) { ul.products > li.plm-promo-li { width: 100%; flex: 0 0 100%; max-width: 100%; } }
.plm-promo__points { list-style: none; margin: .35rem 0 .6rem; padding: 0; display: grid; gap: .5rem; font-size: .92rem; line-height: 1.35; }
.plm-promo__points li { display: flex; gap: .5rem; align-items: flex-start; }
.plm-promo__points i { color: #ffd2b5; margin-top: .1rem; }
.plm-promo--offer .plm-promo__points i { color: #f5c451; }
.plm-promo-stack .plm-promo__points { display: none; }
/* Puppy cards: the breed name opens that breed's puppies (the rest of the card opens the puppy). */
li.product .product-breed a { position: relative; z-index: 2; }
/* Narrow cards (phone rows, 2-up grids): keep the card no taller than a puppy card. */
@media (max-width: 991.98px) {
	ul.glide__slides .plm-promo { padding: 1rem .9rem; gap: .4rem; }
	ul.glide__slides .plm-promo__points { display: none; }
	ul.glide__slides .plm-promo__icon { width: 2.4rem; height: 2.4rem; font-size: 1.1rem; margin-bottom: .1rem; }
	ul.glide__slides .plm-promo__title { font-size: 1.15rem !important; }
	ul.glide__slides .plm-promo__text { font-size: .86rem; }
	ul.glide__slides .plm-promo__btn { padding: .6rem .9rem; font-size: .88rem; }
}
@media (min-width: 576px) and (max-width: 1199.98px) { ul.products .plm-promo__points { display: none; } }
.plm-promo__btn { white-space: nowrap; }
@media (max-width: 991.98px) { ul.glide__slides .plm-promo__btn { padding: .55rem .8rem; font-size: .84rem; gap: .3rem; } }
html body .plm-promo .plm-promo__btn { text-decoration: none; }
html body .plm-promo .plm-promo__btn:hover, html body .plm-promo .plm-promo__btn:focus-visible { text-decoration: underline; }
html body .plm-promo .plm-promo__points li { margin: 0; padding: 0; line-height: 1.35; }
html body .plm-promo .plm-promo__points li::before { content: none; }
/* Puppy page on phones: the sticky "Get My Info & Pricing" bar sits where the HELP bubble is.
   Both open the same form, so the bubble steps aside instead of covering the bar. */
@media (max-width: 991.98px) { body.single-product .fabs { display: none !important; } }
/* Combined playtime + $200 card: offer badge in the corner */
.plm-promo__badge { position: absolute; top: 1rem; right: 1rem; z-index: 1; background: #f5c451; color: #18232f; font-weight: 800; font-size: .95rem; letter-spacing: .02em; padding: .45rem .75rem; border-radius: 999px; box-shadow: 0 4px 12px rgba(0,0,0,.18); transform: rotate(4deg); }
.plm-promo--playtime .plm-promo__points li:last-child { font-weight: 700; color: #fff; }
.plm-promo--playtime .plm-promo__points li:last-child i { color: #f5c451; }
.plm-promo-stack { grid-template-columns: 1fr !important; }
.plm-promo-stack .plm-promo__points { display: grid; }
@media (max-width: 991.98px) { ul.glide__slides .plm-promo__badge { top: .7rem; right: .7rem; font-size: .8rem; padding: .3rem .55rem; } }
@media (max-width: 991.98px) { ul.glide__slides .plm-promo__btn { width: 100%; justify-content: center; padding: .55rem .5rem; font-size: .8rem; } }
/* Phones: in a puppy row the promo card is wider than a puppy card so it reads like a banner, not a squeezed card. */
@media (max-width: 575.98px) {
	html body ul.glide__slides > li.plm-promo-li, html body #glide-products.row-cols-1 > li.plm-promo-li { flex: 0 0 82% !important; width: 82% !important; max-width: 82% !important; }
	ul.glide__slides .plm-promo { padding: 1.25rem 1.1rem 1.15rem; gap: .5rem; }
	ul.glide__slides .plm-promo__points { display: grid; font-size: .9rem; }
	ul.glide__slides .plm-promo__title { font-size: 1.3rem !important; }
	ul.glide__slides .plm-promo__text { font-size: .93rem; }
	ul.glide__slides .plm-promo__btn { width: auto; padding: .65rem 1.1rem; font-size: .92rem; }
	ul.glide__slides .plm-promo__badge { top: 1rem; right: 1rem; font-size: .9rem; padding: .4rem .7rem; }
}

/* ===== Round 3: breed pages and the Puppy Breeds directory ===== */
.plm-breedpage .plm-breed-hero__lead { margin-bottom: 1.1rem; }
.plm-breedpage .plm-area-hero .plm-cta-row { margin-top: .25rem; }
.plm-breedpage .plm-section p:not(.plm-lead) { margin: 0 0 .9rem; max-width: none; }
.plm-breedpage .plm-section .plm-lead { margin: 0 0 1.1rem; max-width: none; }
.plm-breed-why { padding-bottom: .5rem !important; }
.plm-breed-why .plm-lead { font-size: 1.08rem; }
.plm-cta-lead { font-weight: 600; margin: 1.1rem 0 .55rem !important; }
.plm-cta-row { margin: .4rem 0 .4rem; }
.plm-bfacts { list-style: none; padding: 0; margin: 1rem 0 1.25rem; display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .plm-bfacts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .plm-bfacts { grid-template-columns: repeat(3, 1fr); } }
.plm-bfact { background: #fff; border-radius: var(--plm-radius); box-shadow: var(--plm-shadow); padding: 1.2rem 1.25rem; display: flex; flex-direction: column; gap: .5rem; }
.plm-bfact .plm-benefit__title { font-size: 1.05rem; margin: 0; }
.plm-breedpage .plm-bfact p { margin: 0 !important; font-size: .95rem; line-height: 1.6; }
.plm-breed-split { display: grid; gap: 1.75rem; align-items: start; }
@media (min-width: 992px) { .plm-breed-split { grid-template-columns: 1.35fr 1fr; gap: 2.5rem; } .plm-breed-split--form { grid-template-columns: 1fr 1fr; } .plm-breed-split > aside { position: sticky; top: 110px; } }
.plm-breed-split .plm-feature--mini { margin-top: 0; }
.plm-breed-prose { max-width: none; }
.plm-breed-inc .plm-includes { margin: .5rem 0 1rem; }
.plm-breed-inc .section-title, .plm-breedpage .plm-feature--warm .section-title { font-size: 1.35rem; }
.plm-related { margin-top: 1rem; }
.plm-related__lead { font-weight: 600; margin-bottom: .6rem !important; }
.plm-related__list, .plm-bgroup { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .65rem; }
.plm-bgroup { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); margin-top: 1rem; }
.plm-related__item { display: flex; align-items: center; gap: .8rem; background: #fff; border-radius: 12px; box-shadow: var(--plm-shadow); padding: .6rem .8rem; line-height: 1.4; font-size: .93rem; color: var(--plm-ink); }
.plm-related__item img, .plm-related__ph { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex: 0 0 56px; }
.plm-related__ph { display: grid; place-items: center; background: var(--plm-warm); color: var(--bs-primary); font-size: 1.2rem; }
.plm-related__item strong a { color: var(--bs-primary); text-decoration: underline; text-underline-offset: 3px; }
.plm-form-card { background: #fff; border-radius: var(--plm-radius); box-shadow: var(--plm-shadow); padding: 1.4rem 1.4rem .6rem; border-top: 4px solid var(--bs-primary); }
.plm-form-card__title { font-size: 1.15rem; font-weight: 700; margin: 0 0 .25rem !important; }
.plm-form-card__title .bi { color: var(--bs-primary); margin-right: .3rem; }
.plm-form-card__sub { color: var(--plm-muted) !important; margin: 0 0 .75rem !important; font-size: .93rem; }
.plm-form-card .gform_wrapper { margin: 0 !important; }
.plm-form-card .gform_footer input[type=submit], .plm-form-card .gform_footer button { text-transform: uppercase; font-weight: 700; border-radius: 10px; }
.plm-breed-grid { padding-top: 2.5rem; }
.plm-instock { display: inline-flex; align-items: center; gap: .45rem; background: #ecfdf5; color: #065f46 !important; border-radius: 999px; padding: .35rem .9rem; font-weight: 600; font-size: .93rem; }
ul.plm-collapsed > li:nth-child(n+13) { display: none !important; }
.plm-showall { text-align: center; margin: -1.5rem 0 1rem; }
.plm-breed-hub .plm-bgroup + p { margin-top: .5rem; }
@media (max-width: 575.98px) { .plm-breedpage .plm-cta-row .btn { flex: 1 1 100%; } .plm-form-card { padding: 1.1rem 1rem .4rem; } }
@media (max-width: 575.98px) { ul.plm-collapsed > li:nth-child(n+6) { display: none !important; } }
@media (max-width: 575.98px) {
	.plm-bgroup { gap: .5rem; }
	.plm-related__item { padding: .45rem .6rem; font-size: .9rem; }
	.plm-related__item img, .plm-related__ph { width: 44px; height: 44px; flex-basis: 44px; }
}
@media (max-width: 575.98px) { .plm-breedpage:not(.plm-breed-hub) .plm-breed-hero .plm-area-hero__media { display: none; } }
/* Breed cards: the photo and the whole small card open the breed page. */
.plm-breed--photo::after { pointer-events: none; }
.plm-breed__photolink { display: contents; }
.plm-related__item { position: relative; }
.plm-related__item--link { transition: box-shadow .18s, transform .18s; }
.plm-related__item--link:hover, .plm-related__item--link:focus-within { box-shadow: var(--plm-shadow-hover); transform: translateY(-1px); }
.plm-related__item--link .plm-related__link::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.plm-related__item--link .plm-related__link:focus-visible { outline: none; }
.plm-related__item--link:focus-within { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
.plm-related__arrow { margin-left: auto; color: var(--bs-primary); flex: 0 0 auto; }
html body .plm-related__item--link a.plm-related__link { position: static !important; }

/* ===== Update 3 (Oct 26): puppy cards on phones =====
   Grids (Puppies for Sale, Kittens for Sale, breed pages): one card per row, full width, so buttons and
   financing text never squeeze or wrap. Rows (Home, city pages): one card with a peek of the next, so no
   name is cut off mid-word. No empty space under the breed name. */
@media (max-width: 575.98px) {
	html body ul.products:not(.glide__slides) > li.product { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; }
	html body ul.glide__slides > li.product, html body #glide-products.row-cols-1 > li.product { flex: 0 0 82% !important; width: 82% !important; max-width: 82% !important; }
	html body li.product .card .border > .d-flex.flex-row.p-2 > div { min-height: 0 !important; }
}
/* Help bubble on phones: smaller and tucked into the corner so it covers as little text as possible (Azhar, Oct 26). */
@media (max-width: 575.98px) {
	html body .fabs { margin: 0 0 10px 10px !important; }
	html body .fabs .fab-help { width: 44px; height: 44px; padding: 0 !important; justify-content: center; }
}

/* ===== Update 3b (Oct 27): Azhar's staging report ===== */
/* Puppy Breeds: "Not sure which breed fits?" card beside How to choose; trust points under Ask Us. */
.plm-choose-card { background: #fff; border-radius: var(--plm-radius); box-shadow: var(--plm-shadow); overflow: hidden; display: flex; flex-direction: column; }
.plm-choose-card img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.plm-choose-card__body { padding: 1.2rem 1.25rem 1.3rem; }
.plm-breedpage .plm-choose-card__body p { margin: 0 0 .8rem !important; }
.plm-choose-card__title { font-size: 1.2rem; font-weight: 700; }
.plm-ask-trust { margin-top: 1.25rem; }
/* Promo card text stays white inside page sections (it was picking up the dark paragraph color). */
html body .plm-section .plm-promo p.plm-promo__title { color: #fff !important; }
html body .plm-section .plm-promo p.plm-promo__text { color: rgba(255, 255, 255, .92) !important; }
html body .plm-section .plm-promo p.plm-promo__note { color: rgba(255, 255, 255, .75) !important; }
html body .plm-breedpage .plm-section .plm-promo p { margin: 0 !important; max-width: none; }
/* Phones: one card per row has room, so "Call (305) 363-6959" sits on one line. */
@media (max-width: 575.98px) {
	html body li.product .product-btn-phone .product-btn-phone-text { flex-direction: row !important; align-items: center !important; gap: .3rem; flex-wrap: nowrap; }
	html body li.product .product-btn-phone .product-btn-phone-num { font-size: inherit !important; }
	html body li.product .product-btn-phone .product-btn-phone-text { display: inline-flex !important; }
	html body li.product .product-btn-phone .product-btn-phone-call, html body li.product .product-btn-phone .product-btn-phone-num { display: inline !important; width: auto !important; }
}

/* Home hero seasonal line (Promo cards screen) */
.plm-hero__seasonwrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .85rem;color:#fff;text-decoration:none}
.plm-hero__season{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .9rem;border-radius:999px;background:#f26b21;color:#fff;font-weight:700;font-size:.95rem;line-height:1.3}
.plm-hero__seasonbtn{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.95rem;text-decoration:underline;text-underline-offset:3px}
a.plm-hero__seasonwrap:hover{color:#fff}
a.plm-hero__seasonwrap:hover .plm-hero__seasonbtn{text-decoration:none}
@media (max-width:767px){
	.plm-hero__seasonwrap{flex-wrap:nowrap;gap:.75rem;justify-content:space-between;margin:-1.25rem -16px 1.1rem;padding:.7rem 16px;background:#f26b21}
	.plm-hero__season{padding:0;background:none;font-size:.88rem;line-height:1.3}
	.plm-hero__season .bi{display:none}
	.plm-hero__seasonbtn{flex:0 0 auto;font-size:.82rem;text-decoration:none;background:#fff;color:#c4501a;border-radius:999px;padding:.4rem .75rem;white-space:nowrap}
}

/* Video Meet & Greet picker (inc/video-pick.php) */
.plm-vpick .modal-content{border:0;border-radius:14px}
.plm-vpick__head{align-items:flex-start;border-bottom:1px solid #eee;padding:1.1rem 1.25rem}
.plm-vpick__eyebrow{margin:0 0 .25rem;color:#059669;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
.plm-vpick__title{margin:0;font-size:1.3rem;font-weight:700;line-height:1.25}
.plm-vpick__sub{margin:.3rem 0 0;color:#555;font-size:.95rem}
.plm-vpick__search{margin:0 0 .75rem;border-radius:10px;padding:.6rem .85rem}
.plm-vpick__note{margin:0 0 .75rem;font-size:.92rem;color:#444}
.plm-vpick__link{background:none;border:0;padding:0;color:#c4501a;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.plm-vpick__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.plm-vpick__pet{display:flex;flex-direction:column;width:100%;height:100%;text-align:left;background:#fff;border:1px solid #e6e6e6;border-radius:12px;overflow:hidden;padding:0;transition:box-shadow .15s,border-color .15s}
.plm-vpick__pet:hover,.plm-vpick__pet:focus-visible{border-color:#059669;box-shadow:0 4px 14px rgba(5,150,105,.18)}
.plm-vpick__pet img,.plm-vpick__noimg{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f3f3f3}
.plm-vpick__noimg{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#999}
.plm-vpick__name{display:block;padding:.5rem .65rem 0;font-weight:700;font-size:.95rem;line-height:1.25}
.plm-vpick__meta{display:block;padding:.1rem .65rem 0;color:#666;font-size:.82rem;line-height:1.3}
.plm-vpick__cta{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:.55rem .65rem .65rem;padding:.4rem .5rem;border-radius:8px;background:#059669;color:#fff;font-weight:700;font-size:.85rem;margin-top:auto}
.plm-vpick__name+.plm-vpick__meta{margin-bottom:.55rem}
.plm-vpick__empty{margin:.75rem 0 0;color:#666}
.plm-vpick__foot{justify-content:space-between;border-top:1px solid #eee;padding:.85rem 1.25rem}
.plm-vpick__foot span{color:#444;font-weight:600}
@media (max-width:991.98px){.plm-vpick__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:575.98px){.plm-vpick__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.plm-vpick__title{font-size:1.15rem}.plm-vpick__foot{flex-direction:column;align-items:stretch;gap:.5rem;text-align:center}}
/* Extra video questions in the Pet Inquiry pop-up */
.plm-vfields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:0 0 1rem;padding:.85rem;border:1px solid #d6efe5;background:#f2fbf7;border-radius:10px}
.plm-vfields label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.92rem;margin:0}
.plm-vfields__wide{grid-column:1/-1}
.plm-vfields .plm-req{color:#c02b0a}
.plm-vfields__err{grid-column:1/-1;margin:0;color:#c02b0a;font-weight:600;font-size:.9rem}
@media (max-width:575.98px){.plm-vfields{grid-template-columns:1fr}}

/* ---------- Team review fixes (Nov 3) ---------- */
/* Video pop-up: the two choice boxes showed half their text. */
.plm-vfields select.form-select, .plm-vfields input.form-control { height: auto !important; min-height: 44px; padding-top: .55rem !important; padding-bottom: .55rem !important; line-height: 1.4 !important; }

/* ---------- Home hero during a sale (Settings > Petland Miami: Sale banner & extras) ----------
   One hero: Bella's picture on the left, the page H1, the sale and both buttons on the right. */
.plm-sale { position: relative; background: #fdfbf8; overflow: hidden; }
.plm-sale__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.plm-sale__text { color: #1d1d1d; }
.plm-sale__h1 { margin: 0 0 1.1rem; font-weight: 800; line-height: 1.12; letter-spacing: -.01em; color: #1d1d1d; font-size: clamp(1.8rem, 2.9vw, 2.85rem); }
.plm-sale__deal { display: inline-block; text-align: center; background: rgba(255,255,255,.88); border: 2px solid #d4a64a; border-radius: 18px; padding: 1.1rem 1.6rem 1rem; margin-bottom: 1.3rem; box-shadow: 0 10px 30px rgba(142,18,32,.10); }
.plm-sale__ribbon { display: inline-block; background: #8e1220; color: #fff; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding: .4rem 1.6rem; font-size: clamp(.85rem, 1.1vw, 1.05rem); clip-path: polygon(0 0, 100% 0, 96% 50%, 100% 100%, 0 100%, 4% 50%); }
.plm-sale__offer { margin: .65rem 0 0; font-weight: 800; line-height: 1.05; }
.plm-sale__top, .plm-sale__sub { display: block; font-size: clamp(1rem, 1.35vw, 1.35rem); }
.plm-sale__offer b { display: block; color: #8e1220; font-weight: 900; font-size: clamp(2.8rem, 5.2vw, 5rem); line-height: .95; margin: .1rem 0 .15rem; }
.plm-sale__note { margin: .35rem 0 0; font-size: .82rem; font-style: italic; color: var(--plm-muted); }
.plm-sale__btns { justify-content: flex-start; }
@media (min-width: 768px) {
	.plm-sale { min-height: 500px; display: flex; align-items: center; }
	.plm-sale__media { position: absolute; inset: 0; }
	.plm-sale__body { position: relative; width: 100%; }
	.plm-sale__text { margin-left: 49%; width: 48%; padding: 2.25rem 1rem 2.25rem 0; }
}
@media (min-width: 1200px) { .plm-sale { min-height: 560px; } .plm-sale__text { margin-left: 50%; width: 44%; } }
@media (max-width: 767.98px) {
	.plm-sale__media img { aspect-ratio: 780 / 560; height: auto; object-position: center top; }
	.plm-sale__text { padding: 1.1rem 16px 1.5rem; text-align: center; }
	.plm-sale__h1 { font-size: 1.6rem; }
	.plm-sale__deal { display: block; padding: .9rem 1rem; }
	.plm-sale__btns { justify-content: center; }
	.plm-sale__btns .btn { width: 100%; }
}

/* ---------- "What comes with every puppy" box on puppy pages ---------- */
.plm-extras { margin-top: 1rem; border: 1px solid var(--plm-warm-line); background: var(--plm-warm); border-radius: var(--plm-radius); padding: 1.1rem 1.15rem 1.2rem; }
.plm-extras__head { display: flex; gap: .75rem; align-items: flex-start; }
.plm-extras__icon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; background: #fff; color: var(--bs-primary, #c5511c); display: grid; place-items: center; font-size: 1.15rem; box-shadow: var(--plm-shadow); }
.plm-extras__title { font-size: 1.15rem; font-weight: 800; margin: .1rem 0 .15rem; }
.plm-extras__text { margin: 0; color: var(--plm-muted); font-size: .95rem; }
.plm-extras__list { list-style: none; margin: .85rem 0 1rem; padding: 0; display: grid; gap: .55rem; }
.plm-extras__list li { display: flex; gap: .55rem; align-items: flex-start; font-size: .95rem; line-height: 1.4; }
.plm-extras__list i { color: var(--plm-green); margin-top: .15rem; }
.plm-extras__btn { border-radius: 999px; font-weight: 700; }
