/* =========================================================
   PAWSITIVE POOCH CAMPAIGN — extracted from live's gd-quiz
   core.css (the legacy fw shell; html = 16px there, values in px)
   Scoped under body.ppp-campaign. Covers the whole page: minimal
   header, hero content-grid, quiz cluster, subscribe form,
   apricot share band, campaign footer.
========================================================= */

/* ---- base typography (live: proxima-nova 300, p 20px) ---- */
body.ppp-campaign {
	font-family: "proxima-nova", "Mulish", sans-serif;
	font-weight: 300;
	line-height: 1.6;
	color: #282829;
	background: #fff;
	/* the theme pads the body for its sticky site header, which this
	   campaign shell doesn't use */
	padding-top: 0 !important;
}
body.ppp-campaign .ppp-main p {
	font-size: 20px;
	font-family: inherit;
	color: #282829;
	line-height: 43.2px; /* live: inherits body's 32px x 1.35 leading */
	margin: 0 0 25px;
}
body.ppp-campaign .ppp-main h2 {
	font-weight: 700 !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	margin: 0 0 25px;
}
body.ppp-campaign .ppp-main h3 {
	font-weight: 700 !important;
	font-size: 24px !important;
	line-height: 1.2 !important;
	color: #ff6e33 !important;
	margin: 0 0 25px;
}
@media (min-width: 768px) {
	body.ppp-campaign .ppp-main h2 { font-size: 34px !important; }
	body.ppp-campaign .ppp-main h3 { font-size: 30px !important; color: #282829 !important; }
}
@media (min-width: 992px) {
	body.ppp-campaign .ppp-main h2 { font-size: 60px !important; }
	body.ppp-campaign .ppp-main h3 { font-size: 34px !important; }
}

body.ppp-campaign .sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
body.ppp-campaign .visuallyhidden {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---- container (live .container: max 1200, 25px side margins) ---- */
body.ppp-campaign .ppp-container,
body.ppp-campaign .ppq__container {
	max-width: 1200px;
	margin-left: 25px;
	margin-right: 25px;
}
@media (min-width: 1250px) {
	body.ppp-campaign .ppp-container,
	body.ppp-campaign .ppq__container {
		margin-left: auto;
		margin-right: auto;
		width: 100%;
	}
}

/* ---- minimal campaign header (live: peach #f8a087 band) ---- */
body.ppp-campaign .ppp-header { background: #f8a087; }
body.ppp-campaign .ppp-header__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 0 10px;
}
@media (min-width: 992px) {
	body.ppp-campaign .ppp-header__container { padding: 25px 0 20px; }
}
body.ppp-campaign .ppp-logo--header img { width: 70px; height: auto; display: block; }
body.ppp-campaign .ppp-logo--campaign img { width: 69px; height: 45px; display: block; object-fit: contain; }
@media (min-width: 992px) {
	body.ppp-campaign .ppp-logo--header img { width: 89px; }
	body.ppp-campaign .ppp-logo--campaign img { width: 109px; height: 71px; }
}

/* ---- section bands ---- */
body.ppp-campaign .section--white { background-color: #fff; }
body.ppp-campaign .section--grey { background-color: rgba(226, 222, 221, .2); }
body.ppp-campaign .section--apricot { background-color: #f8a087; }
body.ppp-campaign .section--pad { padding-top: 30px; padding-bottom: 30px; }
body.ppp-campaign .section--pad-small { padding-top: 20px; padding-bottom: 20px; }
@media (min-width: 480px) {
	body.ppp-campaign .section--pad { padding-top: 50px; padding-bottom: 50px; }
	body.ppp-campaign .section--pad-small { padding-top: 30px; padding-bottom: 30px; }
}
@media (min-width: 992px) {
	body.ppp-campaign .section--pad { padding-top: 80px; padding-bottom: 80px; }
	body.ppp-campaign .section--pad-small { padding-top: 50px; padding-bottom: 50px; }
}
body.ppp-campaign .section--grey-mobile { background-color: rgba(226, 222, 221, .2); }
@media (min-width: 768px) {
	body.ppp-campaign .section--grey-mobile { background: none; }
}

/* ---- content-grid (live: photo column + content column, row-reverse ≥768px) ---- */
body.ppp-campaign .content-grid__column { width: 100%; position: relative; }
body.ppp-campaign .content-grid__img { padding-bottom: 190px; }
body.ppp-campaign .content-grid__img img,
body.ppp-campaign .content-grid__img .object-fit {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width: 480px) {
	body.ppp-campaign .content-grid__img { padding-bottom: 300px; }
}
@media (min-width: 768px) {
	body.ppp-campaign .content-grid,
	body.ppp-campaign .content-grid__column { min-height: 400px; }
	body.ppp-campaign .content-grid { display: flex; flex-direction: row-reverse; }
	body.ppp-campaign .content-grid__column {
		flex: 1;
		width: 50%;
		display: flex;
		flex-direction: inherit;
		align-items: center;
	}
	body.ppp-campaign .content-grid__img { padding-bottom: 0; height: auto; }
}
@media (min-width: 992px) {
	body.ppp-campaign .content-grid,
	body.ppp-campaign .content-grid__column { min-height: 450px; }
}
@media (min-width: 1200px) {
	body.ppp-campaign .content-grid,
	body.ppp-campaign .content-grid__column { min-height: 550px; }
}
body.ppp-campaign .content-grid__content {
	margin-left: 25px;
	margin-right: 25px;
	padding-top: 40px;
	padding-bottom: calc(40px - 1em);
}
@media (min-width: 992px) {
	body.ppp-campaign .content-grid__content {
		margin-left: 30px;
		margin-right: 30px;
		padding-top: 60px;
		padding-bottom: calc(60px - 1em);
	}
}
@media (min-width: 1200px) {
	body.ppp-campaign .content-grid__content {
		margin-left: 40px;
		margin-right: 40px;
		padding-top: 100px;
		padding-bottom: calc(100px - 1em);
	}
}
@media (min-width: 1280px) {
	body.ppp-campaign .content-grid__content { width: 100%; max-width: 550px; }
}
body.ppp-campaign .content-grid__header { margin-right: 80px; }
@media (min-width: 992px) {
	body.ppp-campaign .content-grid__header { margin-right: 100px; }
}

/* hero heading + the paw-mark behind it (live .icon--heading) */
body.ppp-campaign .ppp-hero__heading { position: relative; }
body.ppp-campaign .ppp-hero__paw {
	position: absolute;
	top: 0;
	right: 0;
	width: 66px;
	height: 75px;
	object-fit: contain;
}
@media (min-width: 768px) {
	body.ppp-campaign .ppp-hero__paw {
		top: -18px;
		right: -30px;
		width: 118px;
		height: 133px;
	}
}

/* ---- buttons (live .button--primary: peach, square, black label) ---- */
body.ppp-campaign .ppq__btn {
	display: inline-block;
	background: transparent;
	border: 0;
	cursor: pointer;
	font-family: inherit;
}
body.ppp-campaign .ppq__btn--primary {
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 1px;
	border-radius: 0; /* live's .button--primary is square */
	border: 2px solid #f8a087;
	color: #000;
	background-color: #f8a087;
	padding: 7px 30px;
	text-decoration: none;
	transition: border .5s cubic-bezier(.4, 0, 0, 1), color .5s cubic-bezier(.4, 0, 0, 1), background .5s cubic-bezier(.4, 0, 0, 1);
}
body.ppp-campaign .ppq__btn--primary:hover:not([disabled]),
body.ppp-campaign .ppq__btn--primary:focus:not([disabled]) {
	background-color: #fff;
	border-color: #282829;
	color: #000;
}
body.ppp-campaign .ppq__btn--primary.ppq__btn--disabled,
body.ppp-campaign .ppq__btn--primary[disabled] {
	background: none;
	border-color: #e2dedd;
	color: #e2dedd;
	cursor: not-allowed;
}
body.ppp-campaign .ppq__btn--back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 1px;
	color: #000;
	padding: 7px 0;
}
body.ppp-campaign .ppq__btn--back .ppq__btn-icon svg { width: 17px; height: 17px; display: block; }
body.ppp-campaign .ppq__btn--back.ppq__btn--disabled,
body.ppp-campaign .ppq__btn--back[disabled] { color: #e2dedd; cursor: not-allowed; }

/* ---- quiz ---- */
/* live: the quiz form is an offset grid column (x+103px, 789px of the 1200 container) */
@media (min-width: 768px) {
	body.ppp-campaign #pawsitive-pooch__form {
		margin-left: 8.58%;
		max-width: 65.75%;
	}
}
body.ppp-campaign .ppq__quiz-title { margin-bottom: 25px; }
body.ppp-campaign .ppq__inner { min-height: 193px; position: relative; }
body.ppp-campaign .ppq__questions { list-style: none; margin: 0; padding: 0; }
body.ppp-campaign .ppq__question {
	position: absolute;
	top: 0; right: 0; left: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity .5s cubic-bezier(.4, 0, 0, 1);
}
body.ppp-campaign .ppq__question:first-child { position: relative; }
body.ppp-campaign .ppq__question.is-visible { visibility: visible; opacity: 1; }
body.ppp-campaign .ppq__fieldset { border: 0; margin: 0; padding: 0; }
body.ppp-campaign .ppq__legend {
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 43.2px;
	padding: 0;
	outline-color: #f8a087;
}
body.ppp-campaign .ppq__progress-text { display: block; margin-bottom: 8px; }

body.ppp-campaign .ppq__yesno { display: flex; }
body.ppp-campaign .ppq__yesno input[type="radio"] {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px; width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	left: -9999px;
}
body.ppp-campaign .ppq__yesno label {
	width: 50%;
	max-width: 162px;
	border: 2px solid #000;
	color: #000;
	font-weight: 600;
	font-size: 16px;
	line-height: 1;
	padding: 10px;
	margin: 0;
	text-align: center;
	transition: background .5s cubic-bezier(.4, 0, 0, 1);
	cursor: pointer;
}
body.ppp-campaign .ppq__yesno input[type="radio"]:checked + label { background-color: #f8a087; }
body.ppp-campaign .ppq__yesno input[type="radio"]:focus + label { border-color: #f8a087; }
body.ppp-campaign .ppq__yesno label:first-of-type { border-top-left-radius: 3px; border-bottom-left-radius: 3px; }
body.ppp-campaign .ppq__yesno label:not(:first-of-type) { border-left: 0; }
body.ppp-campaign .ppq__yesno label:last-of-type { border-top-right-radius: 3px; border-bottom-right-radius: 3px; }

body.ppp-campaign .ppq__progress-bar {
	background: rgba(226, 222, 221, .3);
	border-radius: 100px;
	width: 100%;
	height: 4px;
	margin-bottom: 25px;
}
body.ppp-campaign .ppq__progress-indicator {
	display: block;
	background: #ff6e33;
	border-radius: 100px;
	transition: width .5s cubic-bezier(.4, 0, 0, 1);
	width: 10%;
	height: 4px;
}
body.ppp-campaign .ppq__button-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* ---- results ---- */
body.ppp-campaign .ppq__results-grid { position: relative; }
@media (min-width: 768px) {
	body.ppp-campaign .ppq__results-grid {
		display: flex;
		flex-direction: row-reverse;
		min-height: 400px;
	}
}
body.ppp-campaign .ppq__results-media { position: relative; width: 100%; padding-bottom: 190px; }
body.ppp-campaign .ppq__results-media img:not(.visuallyhidden) {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 40% 20%;
}
@media (min-width: 480px) {
	body.ppp-campaign .ppq__results-media { padding-bottom: 300px; }
}
@media (min-width: 768px) {
	body.ppp-campaign .ppq__results-media {
		flex: 1;
		padding-bottom: 0;
		max-width: 41%;
		max-height: 420px;
	}
	body.ppp-campaign .ppq__results-body {
		flex: 1;
		display: flex;
		align-items: center;
	}
}
body.ppp-campaign .ppq__results-content {
	margin-left: 25px;
	margin-right: 25px;
	padding-top: 40px;
	padding-bottom: calc(40px - 1em);
}
@media (min-width: 1280px) {
	body.ppp-campaign .ppq__results-content { width: 100%; max-width: calc(1200px * .5 + 11%); }
}
body.ppp-campaign .ppq__score-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 15px;
}
body.ppp-campaign .ppq__score {
	font-size: 48px !important;
	line-height: .95 !important;
	margin: 0;
}
@media (min-width: 992px) {
	body.ppp-campaign .ppp-main .ppq__score { font-size: 100px !important; }
}
body.ppp-campaign .ppp-main .ppq__score--small { font-size: 30px !important; }
@media (min-width: 992px) {
	body.ppp-campaign .ppp-main .ppq__score--small { font-size: 64px !important; }
}
body.ppp-campaign .ppq__score-icon { flex-shrink: 0; margin-left: 20px; }
body.ppp-campaign .ppq__score-icon--bad   { width: 68px; }
body.ppp-campaign .ppq__score-icon--good  { width: 125px; }
body.ppp-campaign .ppq__score-icon--great { width: 92px; }
@media (min-width: 992px) {
	body.ppp-campaign .ppq__score-icon--bad   { width: 100px; }
	body.ppp-campaign .ppq__score-icon--good  { width: 237px; }
	body.ppp-campaign .ppq__score-icon--great { width: 163px; }
}
body.ppp-campaign .ppp-main .ppq__score-header {
	color: #282829 !important;
	font-size: 22px !important;
	margin: 0 0 10px;
}
@media (min-width: 992px) {
	body.ppp-campaign .ppp-main .ppq__score-header { font-size: 40px !important; }
}
body.ppp-campaign .ppq__anchor-mobile {
	width: 100%;
	text-align: center;
	margin-bottom: 25px;
}
@media (min-width: 768px) {
	body.ppp-campaign .ppq__anchor-mobile {
		width: auto;
		text-align: left;
		padding: 0;
		border: 0;
		background: transparent;
		font-size: 22px;
		letter-spacing: 0;
		font-weight: 700;
		text-decoration: underline;
	}
	body.ppp-campaign .ppq__anchor-mobile:hover,
	body.ppp-campaign .ppq__anchor-mobile:focus { background: transparent; border: 0; }
}
body.ppp-campaign .ppq__prompt-band { padding: 15px 0 0; }
@media (max-width: 991.98px) {
	body.ppp-campaign .ppq__prompt-band.section--grey-mobile {
		margin-left: -25px;
		margin-right: -25px;
		padding: 15px 25px 20px;
	}
}
body.ppp-campaign .ppq__prompt { font-weight: 700; }
@media (min-width: 768px) {
	body.ppp-campaign .ppq__prompt { font-weight: 400; }
}

/* ---- subscribe form (live: .input-text / .dropdown, fw 12-col grid) ---- */
body.ppp-campaign .ppq__subscribe-inner { padding: 5px 0 40px; }
@media (min-width: 992px) {
	body.ppp-campaign .ppq__subscribe-inner { padding-top: 0; padding-bottom: 60px; }
}
body.ppp-campaign .ppq__form-grid { margin-bottom: 25px; }
@media (min-width: 768px) {
	body.ppp-campaign .ppq__form-grid {
		display: grid;
		grid-template-columns: calc(41.66% - 15px) calc(41.66% - 15px);
		gap: 25px 30px;
	}
}
body.ppp-campaign .ppq__form-row { margin-bottom: 25px; }
@media (min-width: 768px) {
	body.ppp-campaign .ppq__form-row { margin-bottom: 0; }
}
body.ppp-campaign .ppq__form-row label,
body.ppp-campaign .ppq__terms legend {
	display: block;
	margin-bottom: 5px;
	font-size: 20px;
	font-weight: 300;
	padding: 0;
}
body.ppp-campaign .ppq__form-row abbr[title] { text-decoration: none; border: 0; }
body.ppp-campaign .ppq__input,
body.ppp-campaign .ppq__dropdown select {
	width: 100%;
	background: transparent;
	border: 1px solid #b9b9b9;
	border-radius: 3px;
	padding: 18px 26px;
	font-size: 18px;
	font-family: inherit;
	color: #282829;
	transition: border .5s cubic-bezier(.4, 0, 0, 1);
}
body.ppp-campaign .ppq__dropdown select { min-height: 51px; appearance: none; padding-right: 70px; }
body.ppp-campaign .ppq__dropdown {
	position: relative;
	display: block;
}
body.ppp-campaign .ppq__dropdown::after {
	content: "";
	position: absolute;
	right: 26px;
	top: calc(50% - 4px);
	width: 10px;
	height: 10px;
	border-right: 2px solid #282829;
	border-bottom: 2px solid #282829;
	transform: rotate(45deg) translateY(-50%);
	pointer-events: none;
}
body.ppp-campaign .ppq__input::placeholder { color: #ababab; }
body.ppp-campaign .ppq__input:hover,
body.ppp-campaign .ppq__dropdown select:hover { border-color: #000; }
body.ppp-campaign .ppq__input:focus,
body.ppp-campaign .ppq__dropdown select:focus { border-color: #f8a087; box-shadow: none; outline: none; }
body.ppp-campaign .ppq__input.error,
body.ppp-campaign .ppq__dropdown select.error { border-color: #ee1f3b; }
body.ppp-campaign .ppq__field-error { color: #ee1f3b; font-size: 16px; margin: 6px 0 0; }
body.ppp-campaign .ppq__hint { display: block; font-size: 16px; margin-top: 6px; }
body.ppp-campaign .ppq__terms { border: 0; margin: 0; padding: 0; }
body.ppp-campaign .ppq__terms div { display: flex; align-items: center; gap: 10px; }
body.ppp-campaign .ppq__terms input[type="checkbox"] { width: 20px; height: 20px; accent-color: #f8a087; }
body.ppp-campaign .ppq__terms label { margin: 0; font-size: 18px; }
body.ppp-campaign .ppq__terms label a { color: inherit; }
body.ppp-campaign .ppq__form-actions { display: flex; align-items: center; gap: 16px; }
body.ppp-campaign .ppq__required { font-size: 16px; }
body.ppp-campaign .ppq__validation-message {
	padding: 20px 0;
	font-weight: 600;
	text-align: center;
}
body.ppp-campaign .ppq__validation-message.error { color: #ee1f3b; }
body.ppp-campaign .ppq__loader {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 3px solid rgba(226, 222, 221, .6);
	border-top-color: #f8a087;
	animation: ppq-spin .8s linear infinite;
	display: inline-block;
}
@keyframes ppq-spin { to { transform: rotate(360deg); } }

/* ---- share band ---- */
body.ppp-campaign .ppq__share-inner { text-align: center; }
body.ppp-campaign .ppq__share .ppq__score-header { margin-top: 0; }
body.ppp-campaign .ppq__social { display: flex; justify-content: center; margin-top: 25px; }
body.ppp-campaign .ppq__social-btn {
	position: relative;
	width: 50px;
	height: 50px;
	border-radius: 50px;
	background: #fff;
	margin: 0 13px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform .3s cubic-bezier(.4, 0, 0, 1);
}
body.ppp-campaign .ppq__social-btn:hover { transform: scale(1.06); }
body.ppp-campaign .ppq__social-btn img { width: 45%; height: 45%; object-fit: contain; }
@media (min-width: 1200px) {
	body.ppp-campaign .ppq__social-btn { width: 69px; height: 69px; }
}

/* ---- campaign footer (live: three centred Gibson lines, #432a18) ---- */
body.ppp-campaign .ppp-footer {
	padding: 25px 0 30px;
	text-align: center;
}
body.ppp-campaign .ppp-footer__copyright {
	font-family: "Gibson", "proxima-nova", sans-serif;
	font-size: 14px;
	line-height: 1.9;
	color: #432a18;
}
@media (min-width: 992px) {
	body.ppp-campaign .ppp-footer__copyright { font-size: 16px; }
}
body.ppp-campaign .ppp-footer__copyright a { color: inherit; text-decoration: underline; }
