/* ═══════════════════════════════════════════════════════════════════
   PAWSRESCUE — GLOBAL STYLES (shared across all pages)
   ═══════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

body { font-family: 'DM Sans', sans-serif; background: #F9FAFB; color: #111827; }

/* ── PAGE WRAPPER ── */
.page-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }

/* ── SECTIONS ── */
.section { padding: 72px 24px; max-width: 1160px; margin: 0 auto; }
.section-sm { padding: 48px 24px; max-width: 1160px; margin: 0 auto; }
.full-bleed { padding: 72px 24px; }
@media(max-width:768px){ .section,.full-bleed{padding:48px 16px;} .section-sm{padding:32px 16px;} }

/* ── TYPOGRAPHY ── */
.eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #B8860B; margin-bottom: 12px; display: block; }
.eyebrow-white { color: var(--yellow); }
h1.display { font-family: 'Playfair Display', serif; font-size: clamp(36px,5vw,56px); font-weight: 900; line-height: 1.1; letter-spacing: -1px; }
h2.section-title { font-family: 'Playfair Display', serif; font-size: clamp(26px,4vw,38px); font-weight: 700; line-height: 1.2; margin-bottom: 16px; }
h3.card-title { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
p.body-text { color: #4B5563; line-height: 1.75; font-size: 15px; }

/* ── GRIDS ── */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
@media(max-width:900px){ .grid-4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .grid-3,.grid-2,.grid-4{grid-template-columns:1fr;} }

/* ── CARDS ── */
.card { background: #fff; border-radius: 12px; box-shadow: 0 4px 24px rgba(30,58,52,0.09); overflow: hidden; transition: transform 0.22s, box-shadow 0.22s; }
.card:hover { transform: translateY(-4px); box-shadow: 0 12px 48px rgba(30,58,52,0.16); }
.card-body { padding: 20px; }
.card-img { width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; font-size: 48px; }

/* ── BUTTONS ── */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 26px; border-radius: 99px; font-weight: 600; font-size: 14px; cursor: pointer; border: 2px solid transparent; transition: all 0.22s; text-decoration: none; font-family: inherit; }
.btn-primary { background: #FFD400; color: #1E3A34; border-color: #FFD400; }
.btn-primary:hover { background: #E6BE00; transform: translateY(-1px); }
.btn-secondary { background: transparent; color: #1E3A34; border-color: #1E3A34; }
.btn-secondary:hover { background: #1E3A34; color: #fff; }
.btn-white { background: #fff; color: #1E3A34; }
.btn-white:hover { background: #FFD400; }
.btn-sm { padding: 7px 16px; font-size: 13px; }

/* ── TAGS ── */
.tag { display: inline-block; padding: 4px 12px; border-radius: 99px; font-size: 11px; font-weight: 600; }
.tag-yellow { background: #FFF3A3; color: #92700A; }
.tag-green { background: #D1FAE5; color: #065F46; }
.tag-red { background: #FEE2E2; color: #991B1B; }
.tag-blue { background: #DBEAFE; color: #1E40AF; }

/* ── PROGRESS BARS ── */
.progress-bar { background: #E5E7EB; border-radius: 99px; height: 8px; overflow: hidden; margin: 8px 0; }
.progress-fill { height: 100%; border-radius: 99px; background: linear-gradient(90deg,#FFD400,#FF6B35); }

/* ── FORM ELEMENTS ── */
input, textarea, select { font-family: 'DM Sans', sans-serif; background: #fff; border: 1.5px solid #E5E7EB; border-radius: 8px; padding: 10px 14px; font-size: 14px; width: 100%; outline: none; transition: border-color 0.2s; }
input:focus, textarea:focus, select:focus { border-color: #1E3A34; }
label { font-size: 13px; font-weight: 500; color: #4B5563; margin-bottom: 6px; display: block; }
.form-group { margin-bottom: 16px; }

/* ── AMOUNT BUTTONS ── */
.amount-btns { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.amount-btn { padding: 8px 18px; border-radius: 99px; border: 2px solid #E5E7EB; background: #fff; font-weight: 600; font-size: 14px; cursor: pointer; transition: all 0.2s; font-family: inherit; }
.amount-btn.active, .amount-btn:hover { border-color: #FFD400; background: #FFD400; color: #1E3A34; }

/* ── FILTER BUTTONS ── */
.filter-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.filter-btn { padding: 6px 16px; border-radius: 99px; border: 1.5px solid #E5E7EB; background: #fff; font-size: 13px; cursor: pointer; transition: all 0.2s; font-weight: 500; font-family: inherit; }
.filter-btn.active, .filter-btn:hover { background: #1E3A34; color: #fff; border-color: #1E3A34; }

/* ── DIVIDER ── */
.divider { height: 1px; background: #E5E7EB; margin: 48px 0; }

/* ── STARS ── */
.stars { color: #B8860B; font-size: 14px; letter-spacing: 1px; }

/* ── ACCORDION ── */
.accordion-item { border: 1.5px solid #E5E7EB; border-radius: 8px; margin-bottom: 8px; overflow: hidden; }
.accordion-head { padding: 16px 20px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; background: #fff; font-size: 15px; font-family: inherit; border: none; width: 100%; text-align: left; }
.accordion-head:hover { background: #F9FAFB; }
.accordion-body { padding: 0 20px 16px; color: #4B5563; line-height: 1.7; font-size: 14px; display: none; border-top: 1px solid #F3F4F6; }
.accordion-body.open { display: block; }
.accordion-icon { font-size: 20px; line-height: 1; transition: transform 0.2s; }
.accordion-icon.open { transform: rotate(45deg); }

/* ── HERO BAND ── */
.page-hero { background: #1E3A34; padding: 64px 24px; text-align: center; }
.page-hero h1 { color: #fff; }
.page-hero p { color: rgba(255,255,255,0.7); max-width: 560px; margin: 12px auto 0; font-size: 16px; line-height: 1.7; }

/* ── FOOTER ── */
.site-footer { background: #1E3A34; color: rgba(255,255,255,0.75); padding: 56px 24px 24px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; max-width: 1160px; margin: 0 auto 40px; }
.site-footer h4 { color: #fff; font-size: 14px; font-weight: 700; margin-bottom: 24px; text-transform: uppercase; letter-spacing: 0.5px; }
.footer-col-links { display: flex; flex-direction: column; gap: 12px; }
.footer-col-links a { color: rgba(255,255,255,0.6); font-size: 14px; display: block; transition: color 0.2s; text-decoration: none; }
.footer-col-links a:hover { color: #FFD400; }
.footer-bottom { max-width: 1160px; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: rgba(255,255,255,0.4); }
/* Social icons */
.footer-social { display: flex; gap: 10px; margin-top: 16px; }
.footer-social a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; transition: background 0.2s, color 0.2s; color: rgba(255,255,255,0.7); }
.footer-social a:hover { background: #FFD400; color: #1E3A34; }
.footer-social svg { width: 16px; height: 16px; fill: currentColor; stroke: currentColor; display: block; }
@media(max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr;gap:32px;} }
@media(max-width:480px){ 
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-grid > div:first-child { grid-column: span 2; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
}

/* ── HOME PAGE RESPONSIVE ── */
.hero-section-inner { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.hero-cards-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.hero-cards-grid > div:nth-child(1) { margin-top: 32px; }
.hero-cards-grid > div:nth-child(2) { margin-top: -16px; }
.hero-cards-grid > div:nth-child(4) { margin-top: 16px; }
.stats-grid { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.about-grid { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media(max-width:900px){
  .hero-section-inner { grid-template-columns:1fr; gap:40px; }
  .hero-cards-grid { grid-template-columns:repeat(2,1fr); }
  .stats-grid { grid-template-columns:repeat(2,1fr); gap:16px; }
  .about-grid { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:640px){
  .hero-cards-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:400px){
  .hero-cards-grid { grid-template-columns:1fr; }
  .hero-cards-grid > div:nth-child(1),
  .hero-cards-grid > div:nth-child(2),
  .hero-cards-grid > div:nth-child(4) { margin-top: 0; }
}

/* ── NEWSLETTER RESPONSIVE ── */
.newsletter-form { display:flex; gap:8px; }
@media(max-width:480px){
  .newsletter-form { flex-direction:column; }
  .newsletter-form input, .newsletter-form button { width:100%; }
}

/* ── CASE SINGLE RESPONSIVE ── */
.case-single-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:flex-start; }
@media(max-width:900px){ .case-single-grid { grid-template-columns:1fr; } }

/* ── ABOUT PAGE RESPONSIVE ── */
.about-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:768px){
  .about-story-grid { grid-template-columns:1fr; gap:32px; }
  .mission-grid { grid-template-columns:1fr; }
}

/* ── HOW TO HELP RESPONSIVE ── */
.help-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:768px){ .help-grid { grid-template-columns:1fr; } }

/* ── CONTACT RESPONSIVE ── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.contact-name-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:768px){ .contact-grid { grid-template-columns:1fr; } .contact-name-grid { grid-template-columns:1fr; } }

/* ── TRANSPARENCY RESPONSIVE ── */
.transparency-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:flex-start; }
@media(max-width:768px){ .transparency-grid { grid-template-columns:1fr; } }

/* ── PRODUCT DETAIL RESPONSIVE ── */
.product-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:flex-start; }
.product-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
@media(max-width:768px){ .product-grid { grid-template-columns:1fr; } }

/* ── CART RESPONSIVE ── */
.cart-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:flex-start; }
@media(max-width:768px){ .cart-grid { grid-template-columns:1fr; } }

/* ── UTILITIES ── */
.text-center{text-align:center;} .text-white{color:#fff;} .text-green{color:#1E3A34;}
.bg-green{background:#1E3A34;} .bg-yellow{background:#FFD400;} .bg-white{background:#fff;} .bg-bg{background:#F9FAFB;} .bg-bg2{background:#F0F2EF;}
.mb-8{margin-bottom:8px;} .mb-16{margin-bottom:16px;} .mb-24{margin-bottom:24px;} .mb-32{margin-bottom:32px;} .mb-40{margin-bottom:40px;} .mb-48{margin-bottom:48px;}
.mt-16{margin-top:16px;} .mt-24{margin-top:24px;} .mt-32{margin-top:32px;} .mt-48{margin-top:48px;}
.flex{display:flex;} .flex-center{display:flex;align-items:center;justify-content:center;} .flex-between{display:flex;align-items:center;justify-content:space-between;} .gap-8{gap:8px;} .gap-12{gap:12px;} .gap-16{gap:16px;}
.ribbon { background: #FF6B35; color: #fff; font-size: 11px; font-weight: 700; padding: 3px 12px; border-radius: 0 0 8px 8px; display: inline-block; }
.map-ph { background: linear-gradient(135deg, #D1FAE5, #A7F3D0); border-radius: 12px; height: 240px; display: flex; align-items: center; justify-content: center; font-size: 48px; }
.share-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 8px; font-size: 13px; font-weight: 500; cursor: pointer; border: 1.5px solid #E5E7EB; background: #fff; transition: all 0.2s; font-family: inherit; }
.share-btn:hover { border-color: #1E3A34; color: #1E3A34; }
/* ── SHARE BUTTONS ── */
.share-group { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.share-btn { 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
    padding: 10px 18px; 
    border-radius: 10px; 
    font-weight: 600; 
    font-size: 13px; 
    cursor: pointer; 
    border: 1px solid #E5E7EB; 
    background: #fff; 
    color: #4B5563; 
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    font-family: inherit;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.share-btn:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 4px 12px rgba(30,58,52,0.08);
    border-color: #D1D5DB;
    color: #111827;
}
.share-btn svg { width: 16px; height: 16px; transition: transform 0.2s; }
.share-btn:hover svg { transform: scale(1.1); }

.share-btn.fb:hover { color: #1877F2; border-color: #1877F2; background: #f0f7ff; }
.share-btn.tw:hover { color: #1DA1F2; border-color: #1DA1F2; background: #f0faff; }
.share-btn.wa:hover { color: #25D366; border-color: #25D366; background: #f0fff4; }
.share-btn.copy:hover { color: #1E3A34; border-color: #FFD400; background: #fffdf0; }
.share-btn.copy.success { border-color: #10B981; color: #065F46; background: #ecfdf5; }
