body, .elementor-widget-text-editor, .elementor-widget-heading, p, a, button, input, textarea, select {
font-family: 'Nunito', sans-serif;
}
h1, h2, h3, .elementor-heading-title {
font-family: 'Yeseva One', serif !important;
color: #3E3157;
}
body {
background-color: #F5EFE1 !important;
color: #000000;
}
a { color: #4B3D66; }
a:hover { color: #EC8072; }

/* ---- Hide theme's default header/footer; we render our own ---- */
#site-header, #site-footer, .page-header {
display: none !important;
}
.p4c-header {
background-color: #F5EFE1;
border-bottom: 1px solid rgba(62,49,87,0.1);
}
.p4c-header {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1200px;
margin: 0 auto;
padding: 18px 24px;
flex-wrap: wrap;
gap: 12px;
}
.p4c-header .p4c-logo {
font-family: 'Yeseva One', serif;
font-size: 28px;
color: #3E3157;
text-decoration: none;
line-height: 1.1;
}
.p4c-header .p4c-tagline {
font-size: 13px;
color: #4B3D66;
display: block;
font-family: 'Nunito', sans-serif;
}
.p4c-nav {
display: flex;
align-items: center;
gap: 22px;
flex-wrap: wrap;
}
.p4c-nav a {
color: #4B3D66;
text-decoration: none;
font-weight: 700;
font-size: 15px;
}
.p4c-nav a:hover { color: #EC8072; }
.p4c-nav .p4c-donate-btn {
background: linear-gradient(135deg, #F2A197, #EC8072);
color: #fff !important;
padding: 10px 22px;
border-radius: 12px;
}
.p4c-nav-dropdown { position: relative; }
.p4c-nav-dropdown .p4c-dropdown-menu {
display: none;
position: absolute;
top: 100%;
left: 0;
background: #fff;
border-radius: 10px;
box-shadow: 0 8px 24px rgba(62,49,87,0.18);
padding: 10px 0;
min-width: 200px;
z-index: 100;
}
.p4c-nav-dropdown:hover .p4c-dropdown-menu { display: block; }
.p4c-nav-dropdown .p4c-dropdown-menu a {
display: block;
padding: 8px 18px;
font-weight: 600;
}

/* ---- Buttons (Elementor button widget overrides for CTA gradient) ---- */
.elementor-button.p4c-cta,
a.p4c-cta {
background: linear-gradient(135deg, #F2A197, #EC8072) !important;
color: #fff !important;
border-radius: 12px !important;
padding: 12px 26px !important;
font-weight: 700;
text-decoration: none;
display: inline-block;
}
.elementor-button.p4c-outline,
a.p4c-outline {
background: #fff !important;
color: #5A4B78 !important;
border: 1.6px solid #D8C9F1 !important;
border-radius: 13px !important;
box-shadow: 0 8px 20px -10px rgba(90,64,150,0.4) !important;
padding: 13px 26px !important;
font-weight: 800 !important;
text-decoration: none;
display: inline-block;
}

/* ---- Memorial gallery (continuous train) ---- */
.p4c-memorial-viewport {
overflow: hidden;
padding: 20px 0 44px;
}
.p4c-memorial-track {
display: flex;
gap: 26px;
width: max-content;
animation: p4c-marquee 38s linear infinite;
}
@keyframes p4c-marquee {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
.p4c-memorial-track { animation: none; }
}
.p4c-memorial-frame {
position: relative;
flex: 0 0 230px;
background: linear-gradient(145deg, #C9B9EE, #A48ED1);
border-radius: 26px;
padding: 16px 16px 22px;
box-shadow:
0 16px 28px rgba(62,49,87,0.3),
inset 0 2px 0 rgba(255,255,255,0.45),
inset 0 -8px 12px rgba(62,49,87,0.22);
}
.p4c-memorial-card {
background: #FBF7EF;
border-radius: 18px;
padding: 14px;
text-align: center;
box-shadow: inset 0 2px 6px rgba(0,0,0,0.08);
}
.p4c-memorial-card img {
width: 100%;
aspect-ratio: 1 / 1;
height: auto;
object-fit: cover;
border-radius: 12px;
margin-bottom: 10px;
}
.p4c-memorial-card .p4c-name {
font-family: 'Yeseva One', serif;
color: #3E3157;
font-size: 19px;
margin: 0 0 2px;
}
.p4c-memorial-card .p4c-years {
color: #4B3D66;
font-size: 13px;
}
.p4c-paw-deco {
position: absolute;
bottom: -14px;
right: -10px;
z-index: 2;
line-height: 0;
}
.p4c-memorial-empty {
text-align: center;
color: #4B3D66;
padding: 30px;
font-style: italic;
}

/* ---- White box true-white fix + tighter spacing (task 85) ---- */
.elementor-element-bbeff45.elementor-top-section,
.elementor-element-422e17a.elementor-top-section,
.elementor-element-217167c.elementor-top-section {
background-color: #FFFFFF !important;
}
.elementor-element-bbeff45.elementor-top-section {
padding-top: 44px !important;
padding-bottom: 14px !important;
}
.elementor-element-422e17a.elementor-top-section {
padding-top: 14px !important;
padding-bottom: 14px !important;
}
.elementor-element-217167c.elementor-top-section {
padding-top: 14px !important;
padding-bottom: 44px !important;
}
.elementor-element-bbeff45 .elementor-heading-title,
.elementor-element-422e17a .elementor-heading-title,
.elementor-element-217167c .elementor-heading-title {
margin-bottom: 8px !important;
}

/* ---- Memorial train full-bleed across viewport (task 87) ---- */
.p4c-memorial-viewport {
width: 100vw !important;
max-width: 100vw !important;
position: relative;
left: 50%;
right: 50%;
margin-left: -50vw !important;
margin-right: -50vw !important;
}

/* ---- Home CTA boxes: purple + red gradient (task 88) ---- */
.elementor-element-c4218bc {
background: linear-gradient(150deg, #CBB8F0, #B197E6) !important;
border-radius: 22px !important;
padding: 34px !important;
}
.elementor-element-7963be2 {
background: linear-gradient(150deg, #F2A197, #EC8072) !important;
border-radius: 22px !important;
padding: 34px !important;
}
.elementor-element-c4218bc .elementor-heading-title,
.elementor-element-c4218bc .elementor-widget-text-editor,
.elementor-element-c4218bc p,
.elementor-element-7963be2 .elementor-heading-title,
.elementor-element-7963be2 .elementor-widget-text-editor,
.elementor-element-7963be2 p {
color: #ffffff !important;
}
.elementor-element-c4218bc .elementor-button {
background-color: #ffffff !important;
border-radius: 12px !important;
color: #6B4FB8 !important;
}
.elementor-element-7963be2 .elementor-button {
background-color: #ffffff !important;
border-radius: 12px !important;
color: #D8604F !important;
}

/* ---- Footer credit line link styling (task 89) ---- */
.p4c-footer-bottom a {
color: #cbb8e0;
text-decoration: underline;
}
.p4c-footer-bottom a:hover {
color: #ffffff;
}

/* ---- Contact page two-column redesign (task 90/91) ---- */
.elementor-element-b7c9546 {
display: none !important;
}
.elementor-element-c397e2b {
display: none !important;
}
.p4c-contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
align-items: start;
}
@media (max-width: 800px) {
.p4c-contact-grid {
grid-template-columns: 1fr;
}
}
.p4c-contact-panel {
background: #FFFDF8;
border-radius: 24px;
padding: 40px 44px;
box-shadow: 0 24px 50px -30px rgba(90,64,150,0.4);
}
.p4c-contact-panel h3 {
font-family: 'Yeseva One', serif;
color: #3E3157;
margin-top: 0;
margin-bottom: 10px;
}
.p4c-contact-panel p {
color: #4B3D66;
margin-bottom: 20px;
}
.p4c-contact-mail-btn {
display: inline-block;
background: linear-gradient(150deg, #CBB8F0, #B197E6);
color: #fff !important;
padding: 12px 24px;
border-radius: 12px;
text-decoration: none;
font-weight: 700;
}
.p4c-contact-divider {
border: none;
border-top: 1px solid rgba(62,49,87,0.12);
margin: 26px 0;
}
.p4c-contact-social-list {
display: flex;
flex-direction: column;
gap: 14px;
}
.p4c-contact-social-list a {
display: flex;
align-items: center;
gap: 12px;
color: #3E3157;
text-decoration: none;
font-weight: 600;
}
.p4c-contact-social-list .p4c-social-icon {
width: 40px;
height: 40px;
border-radius: 50%;
background: #EDE4FB;
display: flex;
align-items: center;
justify-content: center;
color: #6B4FB8;
flex-shrink: 0;
}

/* ---- Adopt page text fixes (task 92) ---- */
.elementor-element-b0d2b9a,
.elementor-element-b0d2b9a p {
white-space: nowrap !important;
font-size: 15px !important;
max-width: none !important;
}

/* ---- Donate page white card (task 93) ---- */
.elementor-element-e314947.elementor-section {
background-color: #FFFDF8 !important;
max-width: 760px;
margin-left: auto !important;
margin-right: auto !important;
border-radius: 24px !important;
box-shadow: 0 24px 50px -30px rgba(90,64,150,0.4);
padding: 44px !important;
}

/* ---- Share a Memorial heading size (task 95) ---- */
.elementor-element-286e582 .elementor-heading-title {
font-size: 40px !important;
}

/* ---- Memorials page spacing tighten (task 96) ---- */
.elementor-element-4fb9b23.elementor-top-section {
padding-bottom: 12px !important;
}
.elementor-element-7781d2f.elementor-top-section {
padding-top: 12px !important;
padding-bottom: 12px !important;
}
.elementor-element-dff626a.elementor-top-section {
padding-top: 12px !important;
}

/* ---- Adopt page: reorder Fostering above Photos-and-bios (task 97) ---- */
.elementor-element-c041bc7 {
display: flex !important;
flex-direction: column !important;
}
.elementor-element-3484263 {
order: 2 !important;
}
.elementor-element-b0d2b9a {
order: 1 !important;
}

/* ---- Adopt page: halve intro-to-cards spacing (task 98) ---- */
.elementor-element-154368e.elementor-top-section {
padding-bottom: 10px !important;
}
.elementor-element-2a1e86e.elementor-top-section {
padding-top: 10px !important;
}

/* ---- Donate page: move white card from title to form + tighten gap (task 99/100) ---- */
.elementor-element-e314947.elementor-section {
background-color: transparent !important;
max-width: none !important;
margin-left: 0 !important;
margin-right: 0 !important;
border-radius: 0 !important;
box-shadow: none !important;
padding-top: 40px !important;
padding-bottom: 10px !important;
}
.elementor-element-967f540.elementor-section {
background-color: #FFFDF8 !important;
max-width: 760px;
margin-left: auto !important;
margin-right: auto !important;
border-radius: 24px !important;
box-shadow: 0 24px 50px -30px rgba(90,64,150,0.4);
padding-top: 20px !important;
padding-bottom: 44px !important;
padding-left: 44px !important;
padding-right: 44px !important;
}

/* ---- Logo rings: white + lavender, matching Bluehost (task 102) ---- */
.p4c-header-logo-img {
border: 2.4px solid #ffffff !important;
box-shadow: 0 4px 12px -3px rgba(90,64,150,0.4), 0 0 0 2px #C9B6EF !important;
border-radius: 50% !important;
}
.elementor-element-p4clogo1 img {
border: 4.8px solid #ffffff !important;
box-shadow: 0 12px 30px -10px rgba(90,64,150,0.5), 0 0 0 3px #C9B6EF !important;
border-radius: 50% !important;
}

/* ---- Home CTA buttons: white, matching Bluehost (task 104) ---- */
.elementor-element-a570f4b .p4c-cta {
background: #ffffff !important;
color: #6B4FB8 !important;
}
.elementor-element-9b34223 .p4c-cta {
background: #ffffff !important;
color: #D8604F !important;
}

/* ---- Home stats: white box behind each stat (task 105) ---- */
.p4c-stat-box {
background-color: #FFFDF8;
border-radius: 20px;
border: 0.8px solid #EDE3D2;
padding: 26px 24px;
}

/* ---- Footer logo ring: white + lavender (task 108) ---- */
.p4c-footer-logo-img {
border: 2.4px solid #ffffff !important;
box-shadow: 0 4px 12px -3px rgba(90,64,150,0.4), 0 0 0 2px #C9B6EF !important;
border-radius: 50% !important;
}

/* ---- Home CTA boxes: add spacing between them (task 112) ---- */
.elementor-element-c4218bc {
margin-right: 20px !important;
}

/* ---- Adopt page: widen + slightly shrink Fostering heading (task 114) ---- */
.elementor-element-3484263 {
max-width: 700px !important;
width: 700px !important;
}
.elementor-element-3484263 h2 {
font-size: 29px !important;
}

/* ---- Adopt page: shrink Photos-and-bios text (task 113) ---- */
.elementor-element-b0d2b9a {
font-size: 13px !important;
}

/* ---- Adoption application page: halve spacing under intro paragraph (task 115) ---- */
.elementor-element-3cff949.elementor-top-section {
padding-bottom: 20px !important;
}

/* ---- Memorial submit button: purple gradient matching Bluehost (task 119) ---- */
.p4c-memorial-submit-btn.p4c-cta {
background: linear-gradient(135deg, #CBB8F0, #B197E6) !important;
}

/* ---- Adopt grid ---- */
.p4c-adopt-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 24px;
padding: 20px 0;
}
.p4c-adopt-card {
background: #fff;
border-radius: 16px;
box-shadow: 0 6px 18px rgba(62,49,87,0.15);
overflow: hidden;
text-align: center;
padding-bottom: 18px;
}
.p4c-adopt-card img {
width: 100%;
height: 200px;
object-fit: cover;
}
.p4c-adopt-card .p4c-tag {
display: inline-block;
background: #EC8072;
color: #fff;
font-size: 11px;
font-weight: 800;
letter-spacing: 0.05em;
padding: 4px 12px;
border-radius: 20px;
margin: 14px 0 8px;
text-transform: uppercase;
}
.p4c-adopt-card .p4c-name {
font-family: 'Yeseva One', serif;
color: #3E3157;
font-size: 20px;
margin: 0 0 4px;
}
.p4c-adopt-card .p4c-meta {
color: #4B3D66;
font-size: 14px;
margin-bottom: 14px;
}

/* ---- Stats row / cards helpers (used inside Elementor widgets via classes) ---- */
.p4c-stat-number {
font-family: 'Yeseva One', serif;
font-size: 40px;
color: #7657C6;
text-align: center;
}
.p4c-stat-label {
text-align: center;
color: #4B3D66;
font-weight: 700;
}

/* ---- Footer ---- */
.p4c-footer {
background-color: #3E3157;
color: #EFE7F5;
padding: 50px 24px 24px;
margin-top: 40px;
}
.p4c-footer-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 30px;
}
.p4c-footer .p4c-logo {
font-family: 'Yeseva One', serif;
font-size: 24px;
color: #fff;
}
.p4c-footer .p4c-tagline {
color: #cbb8e0;
margin-top: 2px;
}
.p4c-footer-links {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px 22px;
}
.p4c-footer-links a {
display: inline-block;
color: #EFE7F5;
text-decoration: none;
margin-bottom: 0;
font-weight: 600;
}
.p4c-footer-links a:hover { color: #EC8072; }
.p4c-footer-social a {
color: #EFE7F5;
margin-right: 14px;
text-decoration: none;
font-weight: 700;
}
.p4c-footer-bottom {
text-align: center;
color: #cbb8e0;
font-size: 12px;
margin-top: 40px;
border-top: 1px solid rgba(255,255,255,0.15);
padding-top: 18px;
}

/* ---- Forms (contact / adoption application / memorial submission) ---- */
.p4c-form {
max-width: 640px;
margin: 0 auto;
text-align: left;
}
.p4c-field {
margin-bottom: 18px;
flex: 1;
}
.p4c-field-row {
display: flex;
gap: 16px;
flex-wrap: wrap;
}
.p4c-field-row .p4c-field {
min-width: 220px;
}
.p4c-field label {
display: block;
font-weight: 700;
color: #3E3157;
margin-bottom: 6px;
font-size: 14px;
}
.p4c-field input[type="text"],
.p4c-field input[type="email"],
.p4c-field input[type="tel"],
.p4c-field input[type="number"],
.p4c-field input[type="file"],
.p4c-field select,
.p4c-field textarea {
width: 100%;
padding: 12px 14px;
border: 1px solid rgba(62,49,87,0.25);
border-radius: 10px;
font-family: 'Nunito', sans-serif;
font-size: 15px;
background: #fff;
color: #000;
box-sizing: border-box;
}
.p4c-field textarea {
resize: vertical;
}
.p4c-field-hp {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
.p4c-form button.p4c-cta {
border: none;
cursor: pointer;
font-size: 16px;
margin-top: 6px;
}
.p4c-form-note {
font-size: 13px;
color: #4B3D66;
margin-top: 10px;
font-style: italic;
}
.p4c-form-success {
background: #eaf7ee;
color: #1f6d3a;
border: 1px solid #b7e2c4;
border-radius: 10px;
padding: 14px 18px;
margin-bottom: 20px;
font-weight: 700;
max-width: 640px;
margin-left: auto;
margin-right: auto;
}
.p4c-form-error {
background: #fdeceb;
color: #a3312a;
border: 1px solid #f3c2bd;
border-radius: 10px;
padding: 14px 18px;
margin-bottom: 20px;
font-weight: 700;
max-width: 640px;
margin-left: auto;
margin-right: auto;
}

/* ---- Donate form ---- */
.p4c-donate-form {
max-width: 640px;
margin: 0 auto;
text-align: center;
}
.p4c-donate-toggle {
display: inline-flex;
background: #EDE6F8;
border-radius: 14px;
padding: 6px;
margin: 4px 0 22px;
gap: 4px;
}
.p4c-donate-toggle-btn {
background: transparent;
border: none;
color: #5A4B78;
border-radius: 10px;
padding: 10px 26px;
font-weight: 700;
font-size: 15px;
font-family: 'Nunito', sans-serif;
cursor: pointer;
transition: all 0.15s ease;
}
.p4c-donate-toggle-btn.p4c-selected {
background: #fff;
color: #3E3157;
box-shadow: 0 4px 10px -4px rgba(90,64,150,0.35);
}
.p4c-donate-amounts {
display: flex;
flex-wrap: wrap;
gap: 14px;
justify-content: center;
margin: 24px 0;
}
.p4c-donate-amount-btn {
background: #fff;
border: 1.6px solid rgba(90,75,120,0.25);
color: #3E3157;
border-radius: 12px;
padding: 14px 28px;
font-weight: 700;
font-size: 18px;
font-family: 'Nunito', sans-serif;
cursor: pointer;
transition: all 0.15s ease;
}
.p4c-donate-amount-btn:hover {
background: rgba(90,75,120,0.08);
}
.p4c-donate-amount-btn.p4c-selected {
background: #fff;
border-color: #EC8072;
border-width: 2px;
color: #3E3157;
}
.p4c-donate-custom-input {
display: block;
width: 100%;
max-width: 480px;
margin: 4px auto 24px;
padding: 14px 18px;
border: 1px solid rgba(62,49,87,0.25);
border-radius: 12px;
font-size: 16px;
font-family: 'Nunito', sans-serif;
text-align: center;
}
.p4c-donate-method-label {
text-align: left;
max-width: 480px;
margin: 0 auto 8px;
font-weight: 700;
color: #3E3157;
font-size: 14px;
}
.p4c-donate-methods {
display: flex;
max-width: 480px;
margin: 0 auto 26px;
gap: 12px;
}
.p4c-donate-method-btn {
flex: 1;
background: #fff;
border: 1.6px solid rgba(90,75,120,0.25);
color: #3E3157;
border-radius: 12px;
padding: 14px 10px;
font-weight: 700;
font-size: 15px;
font-family: 'Nunito', sans-serif;
cursor: pointer;
transition: all 0.15s ease;
}
.p4c-donate-method-btn.p4c-selected {
border-color: #6B4FB8;
border-width: 2px;
background: #F6F0FC;
}
.p4c-donate-submit {
border: none;
cursor: pointer;
font-size: 18px;
padding: 14px 40px !important;
width: 100%;
max-width: 480px;
}
.p4c-donate-submit:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.p4c-form-lock-note {
font-size: 13px;
color: #6b6577;
margin-top: 10px !important;
}
.p4c-form-thanks-note {
font-size: 14px;
color: #3E3157;
font-style: italic;
margin-top: 4px !important;
}
.p4c-donate-message {
max-width: 640px;
margin: 0 auto 20px;
}

.p4c-header .p4c-logo {
position: relative;
padding-left: 64px;
display: inline-block;
min-height: 52px;
}
.p4c-header-logo-img {
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 52px;
height: 52px;
border-radius: 50%;
object-fit: cover;
}
.p4c-footer-inner > div:first-child {
position: relative;
padding-left: 70px;
min-height: 56px;
}
.p4c-footer-logo-img {
position: absolute;
left: 0;
top: 0;
width: 56px;
height: 56px;
border-radius: 50%;
object-fit: cover;
}
.p4c-footer-social {
display: flex;
align-items: center;
gap: 10px;
}
.p4c-social-icon {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(255,255,255,0.12);
color: #EFE7F5;
margin-right: 0 !important;
}
.p4c-social-icon:hover { background: #EC8072; color: #fff; }
.p4c-social-gofundme {
width: auto;
padding: 0 16px;
border-radius: 20px;
font-weight: 700;
font-size: 13px;
}
.elementor-element-76a82e6.elementor-top-section { padding-bottom: 20px !important; }
.elementor-element-692d6c3.elementor-top-section { padding-top: 20px !important; }
.elementor-element-p4clogo1 img {
width: 120px;
height: 120px;
border-radius: 50%;
object-fit: cover;
margin: 0 auto 20px;
display: block;
}
.elementor-element-p4clogo1 {
text-align: center;
}

/* ---- Reduce default section padding (tighter paragraph-section spacing) ---- */
.elementor-top-section {
padding-top: 40px !important;
padding-bottom: 40px !important;
}

/* ---- Memorial Train heading: slightly larger ---- */
.elementor-element-357dcd9 .elementor-heading-title {
font-size: 38px !important;
}

/* ---- Our Story / About page: wrap Mission sections in a white box ---- */
.elementor-element-bbeff45.elementor-top-section,
.elementor-element-422e17a.elementor-top-section,
.elementor-element-217167c.elementor-top-section {
background-color: #FBF7EF !important;
max-width: 900px;
margin-left: auto !important;
margin-right: auto !important;
padding-left: 50px !important;
padding-right: 50px !important;
}
.elementor-element-bbeff45.elementor-top-section {
border-radius: 24px 24px 0 0;
padding-top: 50px !important;
}
.elementor-element-217167c.elementor-top-section {
border-radius: 0 0 24px 24px;
padding-bottom: 50px !important;
}
/* ---- Home: halve spacing between Add-to-train button, stats, and CTA boxes (tasks 120-121) ---- */
.elementor-element-692d6c3 {
padding-bottom: 20px !important;
}
.elementor-element-2139502 {
padding-top: 20px !important;
padding-bottom: 20px !important;
}
.elementor-element-cccdc2a {
padding-top: 20px !important;
}

/* ---- Adopt page: Apply-to-adopt buttons purple styling, scoped to adopt cards (task 123) ---- */
.p4c-adopt-card .p4c-outline {
background: #F6F0FC !important;
color: #6B4FB8 !important;
border: 1.6px solid #E3D9F3 !important;
border-radius: 11px !important;
box-shadow: none !important;
padding: 11px !important;
font-weight: 800 !important;
}

/* ---- Adoption application submit button: purple gradient + full width (task 124) ---- */
.p4c-adopt-submit-btn.p4c-cta {
background: linear-gradient(135deg, #C0AAEE, #A98FE1) !important;
border-radius: 14px !important;
box-shadow: 0 12px 26px -10px rgba(150,120,220,0.7) !important;
padding: 17px !important;
font-weight: 800 !important;
width: 100% !important;
display: block !important;
text-align: center !important;
}

/* ---- Foster page: white cards for all 4 items + fit in one row (tasks 125-126) ---- */
.elementor-element-5fe3ae5 .elementor-container {
display: flex !important;
flex-wrap: nowrap !important;
align-items: stretch !important;
gap: 18px !important;
}
.elementor-element-01cfc08,
.elementor-element-f7dfa52,
.elementor-element-31bd05d,
.elementor-element-f822c52 {
width: calc(25% - 13.5px) !important;
max-width: calc(25% - 13.5px) !important;
flex: 0 0 calc(25% - 13.5px) !important;
}
.elementor-element-01cfc08 .elementor-widget-wrap,
.elementor-element-f7dfa52 .elementor-widget-wrap,
.elementor-element-31bd05d .elementor-widget-wrap,
.elementor-element-f822c52 .elementor-widget-wrap {
background: #FFFDF8 !important;
border-radius: 20px !important;
padding: 26px 20px !important;
}

/* ---- About page: white cards for Rescue/Rehabilitate/Rehome, equal spacing (task 127) ---- */
.elementor-element-4024e8b .elementor-container {
align-items: stretch !important;
}
.elementor-element-cc8a2ff,
.elementor-element-95c4f9a,
.elementor-element-8366cc7 {
display: flex !important;
}
.elementor-element-cc8a2ff .elementor-widget-wrap,
.elementor-element-95c4f9a .elementor-widget-wrap,
.elementor-element-8366cc7 .elementor-widget-wrap {
background: #FFFDF8 !important;
border-radius: 20px !important;
padding: 28px 24px !important;
flex: 1 !important;
text-align: center !important;
}

/* ---- About page: Memorial Gallery button purple (task 128) ---- */
.elementor-element-2b0f649 .p4c-cta {
background: linear-gradient(135deg, #CBB8F0, #B197E6) !important;
}

/* ---- Mission page: white card + paw icons around mission text (task 129) ---- */
.elementor-element-7c265f8,
.elementor-element-bde3f19,
.elementor-element-2aae880 {
max-width: 100% !important;
width: 100% !important;
background: #FFFDF8 !important;
box-shadow: 0 24px 50px -30px rgba(90,64,150,0.4) !important;
}
.elementor-element-7c265f8 {
padding: 48px 46px 14px 46px !important;
border-radius: 26px 26px 0 0 !important;
margin-bottom: 0 !important;
}
.elementor-element-bde3f19 {
padding: 14px 46px !important;
margin-bottom: 0 !important;
border-radius: 0 !important;
}
.elementor-element-2aae880 {
padding: 14px 46px 48px 46px !important;
border-radius: 0 0 26px 26px !important;
}
.elementor-element-7c265f8::before {
content: "🐾🐾";
display: block;
text-align: center;
font-size: 28px;
margin-bottom: 14px;
letter-spacing: 6px;
}

/* ---- Mission page: Meet our adoptable pets button purple (task 129) ---- */
.elementor-element-0b8680b .p4c-cta {
background: linear-gradient(135deg, #C0AAEE, #A98FE1) !important;
box-shadow: 0 10px 22px -8px rgba(169,143,225,0.7) !important;
}

/* ---- Contact page: reduce spacing between paragraph and form section (task 133) ---- */
.elementor-element-4853e03 {
padding-bottom: 20px !important;
}
.elementor-element-60254ac {
padding-top: 20px !important;
}

/* ---- Contact page: purple submit button (task 132) ---- */
.p4c-contact-submit-btn.p4c-cta {
background: linear-gradient(135deg, #CBB8F0, #B197E6) !important;
}

/* ---- Mission page: remove separate white card from healing-bridge text (task 134) ---- */
.elementor-element-bde3f19 {
border-radius: 0 0 26px 26px !important;
}
.elementor-element-2aae880 {
background: transparent !important;
box-shadow: none !important;
border-radius: 0 !important;
padding: 24px 20px 8px !important;
margin-top: 6px !important;
}

/* ---- Foster page: purple 'Could you foster' card with white text + button (task 135) ---- */
.elementor-element-27af1ef {
background: linear-gradient(135deg, #B9A2E8, #9F82D9) !important;
border-radius: 22px !important;
max-width: 1100px !important;
width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
box-sizing: border-box !important;
}
.elementor-element-4b1fc86 h2,
.elementor-element-4b1fc86 .elementor-heading-title {
color: #ffffff !important;
}
.elementor-element-9ee284c,
.elementor-element-9ee284c p {
color: rgba(255,255,255,0.92) !important;
}
.elementor-element-c8cfe29 .p4c-cta {
display: inline-block !important;
width: auto !important;
max-width: none !important;
background: #ffffff !important;
color: #6B4FB8 !important;
padding: 14px 30px !important;
border-radius: 13px !important;
box-shadow: none !important;
font-weight: 800 !important;
}

/* ---- Foster page: shrink step 1-4 heading size (task 136) ---- */
.elementor-element-46d8402 .elementor-heading-title,
.elementor-element-9f9c113 .elementor-heading-title,
.elementor-element-6c2a598 .elementor-heading-title,
.elementor-element-669a68b .elementor-heading-title {
font-size: 19px !important;
}

/* ---- Memorials page: narrow the white card behind the memorial submission form (task 138) ---- */
.elementor-element-58a73e9 .p4c-contact-panel {
max-width: 560px !important;
margin-left: auto !important;
margin-right: auto !important;
}
