/* Scope everything under .phb- to avoid clashing with theme CSS */
  .phb-wrap { max-width: 1200px; margin: 0 auto; padding: 0 15px; box-sizing: border-box; font-family: inherit; }
  .phb-wrap * { box-sizing: border-box; }
  .phb-section { margin: 30px auto; }

  /* ---------- Shared helpers ---------- */
  .phb-btn {
    display: inline-block;
    padding: 12px 22px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    font-size: 15px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: opacity .2s ease;
  }
  .phb-btn:hover { text-decoration: none; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0,0,0,.12); }
  .phb-btn-green { background: #2f6b3a; color: #fff; }
  .phb-btn-green:hover { background: #244f2c; }
  .phb-btn-outline { background: #fff; color: #2f6b3a; border: 1px solid #d8d8d8; }
  .phb-btn-outline:hover { background: #f3f8f0; border-color: #2f6b3a; color: #244f2c; }

  .phb-img-ph {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    object-fit: cover;
  }

  /* =========================================================
     SECTION 1 - Never Run Out of Pet Food (Subscription banner)
     ========================================================= */
  .phb-sub-banner {
    background: linear-gradient(90deg, #eef3e6, #e9f2df);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
  }
  .phb-sub-left { display: flex; align-items: center; gap: 16px; flex: 1 1 260px; min-width: 220px; }
  .phb-sub-left .phb-icon {
    flex-shrink: 0;
    color: #2f6b3a;
    width: 88px;
    height: 88px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(47,107,58,.15);
  }
  .phb-sub-left h2 { margin: 0 0 4px; font-size: 22px; font-weight: 800; color: #1c1c1c; }
  .phb-sub-left p { margin: 0; font-size: 14px; color: #555; }

  .phb-plans { display: flex; gap: 10px; flex: 1 1 320px; flex-wrap: wrap; }
  .phb-plan {
    display: block;
    text-decoration: none;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 12px 18px;
    text-align: center;
    min-width: 100px;
    flex: 1 1 auto;
    box-shadow: 0 2px 6px rgba(0,0,0,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .phb-plan strong { display: block; font-size: 15px; color: #1c1c1c; }
  .phb-plan span { font-size: 12px; color: #777; }
  .phb-plan:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,.1); border-color: #2f6b3a; }
  .phb-plan.phb-plan-active { background: #2f6b3a; color: #fff; }
  .phb-plan.phb-plan-active strong,
  .phb-plan.phb-plan-active span { color: #fff; }
  .phb-plan.phb-plan-active:hover { background: #244f2c; border-color: #244f2c; }

  .phb-benefits { list-style: none; margin: 0; padding: 0; flex: 1 1 200px; }
  .phb-benefits li { font-size: 14px; color: #333; margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }

  /* =========================================================
     SECTION 2 - Every Purchase Gives Back (Donation)
     ========================================================= */
  .phb-donate-banner {
    background: linear-gradient(90deg, #fdf2e6, #fbeadb);
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
  }
  .phb-donate-text { flex: 1 1 260px; min-width: 220px; }
  .phb-donate-text h2 { margin: 0 0 10px; font-size: 26px; font-weight: 800; color: #1c1c1c; }
  .phb-donate-text p { margin: 0 0 18px; font-size: 14px; color: #555; line-height: 1.6; }
  .phb-donate-actions { display: flex; gap: 10px; flex-wrap: wrap; }

  .phb-donate-media { flex: 1 1 320px; min-width: 240px; }

  .phb-transparency {
    flex: 1 1 220px;
    min-width: 220px;
    background: #fff;
    border-radius: 12px;
    padding: 18px;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
  }
  .phb-transparency h4 { margin: 0 0 10px; font-size: 13px; color: #e08a2c; font-weight: 700; }
  .phb-transparency .phb-row { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 8px; color: #444; }
  .phb-transparency .phb-row strong { color: #2f6b3a; font-size: 15px; }
  .phb-transparency .phb-note { font-size: 12px; color: #444; margin-top: 10px; }
  .phb-transparency .phb-note .phb-note-line { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; }
  .phb-heart-icon { color: #e0503a; }
  .phb-paw-icon { color: #2f6b3a; }

  /* =========================================================
     SECTION 3 - Upcoming Activities
     ========================================================= */
  .phb-activities h2 { font-size: 24px; font-weight: 800; margin: 0 0 4px; color: #1c1c1c; }
  .phb-activities > p { margin: 0 0 18px; font-size: 14px; color: #666; }

  .phb-activity-grid { display: flex; gap: 18px; flex-wrap: wrap; }
  .phb-activity-card {
    flex: 1 1 320px;
    min-width: 260px;
    display: flex;
    align-items: stretch;
    gap: 14px;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .phb-activity-card:hover { transform: translateY(-3px); box-shadow: 0 14px 26px rgba(0,0,0,.09); border-color: #e5d8c3; }
  .phb-activity-date {
    background: #f7f7f7;
    border-radius: 10px;
    padding: 8px 10px;
    text-align: center;
    min-width: 64px;
    flex-shrink: 0;
    align-self: flex-start;
  }
  .phb-activity-date .phb-cal-icon { color: #e08a2c; }
  .phb-activity-date .phb-day-num { font-size: 22px; font-weight: 800; color: #1c1c1c; line-height: 1; margin: 2px 0; }
  .phb-activity-date .phb-day-name { font-size: 11px; color: #777; }

  .phb-activity-info { flex: 1 1 auto; min-width: 0; }
  .phb-activity-info h3 { margin: 0 0 4px; font-size: 16px; font-weight: 800; color: #1c1c1c; }
  .phb-activity-info .phb-loc { font-size: 12px; color: #888; margin-bottom: 6px; display: flex; align-items: center; gap: 3px; }
  .phb-activity-info p { font-size: 13px; color: #555; margin: 0 0 8px; }
  .phb-activity-info a { color: #e08a2c; font-weight: 700; font-size: 13px; text-decoration: none; display: inline-flex; align-items: center; transition: color .15s ease; }
  .phb-activity-info a:hover { color: #b56a1a; }
  .phb-activity-info a:hover .phb-ic-arrow { transform: translateX(3px); }
  .phb-ic-arrow { transition: transform .15s ease; }

  .phb-activity-media { flex: 0 0 230px; }
  .phb-activity-media img { width: 230px; height: 100%; min-height: 90px; object-fit: cover; border-radius: 10px; }

  /* =========================================================
     SECTION 4 - Pet Knowledge Center
     ========================================================= */
  .phb-knowledge { background: #f4f4f4; border-radius: 16px; padding: 24px; }
  .phb-knowledge h2 { margin: 0 0 4px; font-size: 24px; font-weight: 800; color: #1c1c1c; }
  .phb-knowledge > p { margin: 0 0 18px; font-size: 14px; color: #666; }

  .phb-know-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 16px;
  }
  .phb-know-item {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 14px;
    padding: 26px 10px;
    min-height: 140px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  }
  .phb-know-item .phb-know-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #eef3e6;
    color: #2f6b3a;
    transition: background .18s ease, transform .18s ease;
  }
  .phb-know-item span { display: block; font-size: 13px; font-weight: 700; color: #333; }
  .phb-know-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 28px rgba(0,0,0,.1);
    border-color: #2f6b3a;
  }
  .phb-know-item:hover .phb-know-icon { background: #2f6b3a; transform: scale(1.06); }
  .phb-know-item:hover .phb-know-icon .phb-ic { filter: brightness(0) invert(1); }

  /* =========================================================
     RESPONSIVE / MOBILE
     ========================================================= */
  @media (max-width: 900px) {
    .phb-know-grid { grid-template-columns: repeat(4, 1fr); }
  }

  @media (max-width: 768px) {
    .phb-sub-banner,
    .phb-donate-banner { flex-direction: column; align-items: stretch; text-align: left; }
    .phb-plans { order: 2; }
    .phb-benefits { order: 3; }
    .phb-donate-media { order: 2; }
    .phb-transparency { order: 3; }
    .phb-activity-card { flex-direction: row; }
  }

  @media (max-width: 560px) {
    .phb-section { margin: 20px auto; }
    .phb-sub-banner, .phb-donate-banner, .phb-knowledge { padding: 18px; border-radius: 14px; }
    .phb-sub-left h2 { font-size: 19px; }
    .phb-donate-text h2 { font-size: 21px; }
    .phb-plans { gap: 8px; }
    .phb-plan { padding: 10px 8px; min-width: 0; }
    .phb-know-grid { grid-template-columns: repeat(3, 1fr); }
    .phb-activity-card { flex-direction: column; }
    .phb-activity-media { flex: 0 0 auto; width: 100%; }
    .phb-activity-media img { width: 100%; height: 140px; }
    .phb-donate-actions .phb-btn { flex: 1 1 auto; }
  }

  @media (max-width: 380px) {
    .phb-know-grid { grid-template-columns: repeat(2, 1fr); }
  }

/* =========================================================
   ICONS - rendered as CSS background-image (data-URI SVG)
   Deliberately NOT inline <svg> in the HTML: PrestaShop/TinyMCE's
   HTML editor strips any element whose only content is an <svg>
   because it treats it as an "empty" tag on save. Keeping every
   icon here in the external stylesheet means it can never be
   stripped, no matter what the HTML editor does to the markup.
   Each icon element in the HTML holds a harmless &nbsp; so it is
   never seen as empty either.
   ========================================================= */
.phb-ic {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  overflow: hidden;
  text-indent: -9999px;
  vertical-align: middle;
  flex-shrink: 0;
}

.phb-ic-truck { width: 64px; height: 64px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%221%22%20y%3D%226%22%20width%3D%2214%22%20height%3D%2210%22/%3E%3Cpath%20d%3D%22M15%209h4l3%203v4h-7z%22/%3E%3Ccircle%20cx%3D%226%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%2218%22%20r%3D%222%22/%3E%3C/svg%3E"); }
.phb-ic-check { width: 20px; height: 20px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e08a2c%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22/%3E%3C/svg%3E"); }
.phb-ic-heart { width: 18px; height: 18px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23e0503a%22%20stroke%3D%22none%22%3E%3Cpath%20d%3D%22M12%2021s-7.5-4.7-10-9.3C.5%208%202%204%206%204c2.2%200%203.8%201.3%206%204%202.2-2.7%203.8-4%206-4%204%200%205.5%204%204%207.7-2.5%204.6-10%209.3-10%209.3z%22/%3E%3C/svg%3E"); }
.phb-ic-paw { width: 19px; height: 19px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%229%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%226%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%226%22%20r%3D%222%22/%3E%3Ccircle%20cx%3D%2219.5%22%20cy%3D%2210%22%20r%3D%222%22/%3E%3Cpath%20d%3D%22M12%2012c-3%200-6%202-6%205%200%202%202%203%204%203%201%200%201.5-.7%202-.7s1%20.7%202%20.7c2%200%204-1%204-3%200-3-3-5-6-5z%22/%3E%3C/svg%3E"); }
.phb-ic-cal { width: 28px; height: 28px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e08a2c%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cline%20x1%3D%223%22%20y1%3D%2210%22%20x2%3D%2221%22%20y2%3D%2210%22/%3E%3Cline%20x1%3D%228%22%20y1%3D%222%22%20x2%3D%228%22%20y2%3D%226%22/%3E%3Cline%20x1%3D%2216%22%20y1%3D%222%22%20x2%3D%2216%22%20y2%3D%226%22/%3E%3C/svg%3E"); }
.phb-ic-pin { width: 17px; height: 17px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23888888%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-6.5%207-11.5A7%207%200%200%200%205%209.5C5%2014.5%2012%2021%2012%2021z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%222.3%22/%3E%3C/svg%3E"); margin-right: 3px; }
.phb-ic-arrow { width: 18px; height: 18px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23e08a2c%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cline%20x1%3D%225%22%20y1%3D%2212%22%20x2%3D%2219%22%20y2%3D%2212%22/%3E%3Cpolyline%20points%3D%2213%206%2019%2012%2013%2018%22/%3E%3C/svg%3E"); margin-left: 4px; }
.phb-ic-dog { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%204C6%204%204%206%204%209c0%202%201%203%201%205%200%204%203%206%207%206s7-2%207-6c0-2%201-3%201-5%200-3-2-5-4-5-1.5%200-2%201-3%201s-1.5-1-3-1z%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2212%22%20r%3D%22.8%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2212%22%20r%3D%22.8%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Cpath%20d%3D%22M10.5%2015c.5.5%201%20.7%201.5.7s1-.2%201.5-.7%22/%3E%3C/svg%3E"); }
.phb-ic-cat { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%203%206%208%22/%3E%3Cpath%20d%3D%22M17%203l1%205%22/%3E%3Cpath%20d%3D%22M6%208c-2%201-3%203-3%206%200%204.5%204%207%209%207s9-2.5%209-7c0-3-1-5-3-6-1%201.5-3%202-6%202s-5-.5-6-2z%22/%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%2213%22%20r%3D%22.8%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Ccircle%20cx%3D%2214.5%22%20cy%3D%2213%22%20r%3D%22.8%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Cpath%20d%3D%22M10.5%2016c.5.4%201%20.6%201.5.6s1-.2%201.5-.6%22/%3E%3C/svg%3E"); }
.phb-ic-bowl { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2215%22%20rx%3D%228%22%20ry%3D%225%22/%3E%3Cpath%20d%3D%22M4%2015c0%202.8%203.6%205%208%205s8-2.2%208-5%22/%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2213.5%22%20r%3D%221.1%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Ccircle%20cx%3D%2212.5%22%20cy%3D%2212.5%22%20r%3D%221.1%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2213.8%22%20r%3D%221.1%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3C/svg%3E"); }
.phb-ic-training { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M9%2010v4%22/%3E%3Cpath%20d%3D%22M4%2021v-3a5%205%200%200%201%205-5%22/%3E%3Cpath%20d%3D%22M17%2010l3%203-3%203%22/%3E%3Cpath%20d%3D%22M20%2013h-6%22/%3E%3C/svg%3E"); }
.phb-ic-shield { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l7%203v5c0%205-3%208.5-7%2010-4-1.5-7-5-7-10V6z%22/%3E%3Ccircle%20cx%3D%229.5%22%20cy%3D%2211.5%22%20r%3D%221%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%221%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Ccircle%20cx%3D%2214.5%22%20cy%3D%2211.5%22%20r%3D%221%22%20fill%3D%22%232f6b3a%22%20stroke%3D%22none%22/%3E%3Cpath%20d%3D%22M10.5%2014c.5.4%201%20.6%201.5.6s1-.2%201.5-.6%22/%3E%3C/svg%3E"); }
.phb-ic-suitcase { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%228%22%20width%3D%2216%22%20height%3D%2211%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M9%208V6a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v2%22/%3E%3Cline%20x1%3D%224%22%20y1%3D%2213%22%20x2%3D%2220%22%20y2%3D%2213%22/%3E%3C/svg%3E"); }
.phb-ic-medkit { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22/%3E%3Cline%20x1%3D%2212%22%20y1%3D%2210%22%20x2%3D%2212%22%20y2%3D%2216%22/%3E%3Cline%20x1%3D%229%22%20y1%3D%2213%22%20x2%3D%2215%22%20y2%3D%2213%22/%3E%3C/svg%3E"); }
.phb-ic-stethoscope { width: 48px; height: 48px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%232f6b3a%22%20stroke-width%3D%222.0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203v6a3%203%200%200%200%203%203%203%203%200%200%200%203-3V3%22/%3E%3Cpath%20d%3D%22M8%2012v3a5%205%200%200%200%205%205%201%201%200%200%200%201-1v-1%22/%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2216%22%20r%3D%223%22/%3E%3C/svg%3E"); }


/* =========================================================
   SECTION 5 - What Pet Parents Say (Testimonials)
   ========================================================= */
.phb-testimonials h2 { margin: 0 0 4px; font-size: 24px; font-weight: 800; color: #1c1c1c; }
.phb-testimonials > p { margin: 0 0 20px; font-size: 14px; color: #666; display: flex; align-items: center; gap: 6px; }

.phb-testimonial-grid { display: flex; gap: 20px; flex-wrap: wrap; }

.phb-testimonial-card {
  position: relative;
  flex: 1 1 300px;
  min-width: 260px;
  background: linear-gradient(135deg, #fdf3ea, #fdf6f0);
  border-radius: 16px;
  padding: 24px;
  padding-right: 100px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
.phb-testimonial-card:hover { transform: translateY(-4px); box-shadow: 0 16px 28px rgba(0,0,0,.1); }

.phb-testimonial-stars { display: flex; gap: 2px; margin-bottom: 14px; }

.phb-testimonial-text { font-size: 14px; color: #444; line-height: 1.6; margin: 0 0 20px; }

.phb-testimonial-author strong { display: block; font-size: 15px; color: #1c1c1c; }
.phb-testimonial-author span { font-size: 13px; color: #777; }

.phb-testimonial-photo {
  position: absolute;
  top: 50%;
  right: -10px;
  transform: translateY(-50%);
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.phb-testimonial-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 900px) {
  .phb-testimonial-card { padding-right: 24px; }
  .phb-testimonial-photo {
    position: static;
    transform: none;
    width: 90px;
    height: 90px;
    margin: 16px auto 0;
  }
}

.phb-ic-star { width: 20px; height: 20px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23e08a2c%22%20stroke%3D%22none%22%3E%3Cpath%20d%3D%22M12%202.5l2.9%206.1%206.6.7-4.9%204.5%201.4%206.6L12%2017l-5.9%203.4%201.4-6.6-4.9-4.5%206.6-.7z%22/%3E%3C/svg%3E"); }
.phb-ic-sparkle { width: 16px; height: 16px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23999999%22%20stroke%3D%22none%22%3E%3Cpath%20d%3D%22M12%202c.4%203%201.6%204.2%204.6%204.6-3%20.4-4.2%201.6-4.6%204.6-.4-3-1.6-4.2-4.6-4.6C10.4%206.2%2011.6%205%2012%202z%22/%3E%3Cpath%20d%3D%22M19%2014c.2%201.6.9%202.3%202.5%202.5-1.6.2-2.3.9-2.5%202.5-.2-1.6-.9-2.3-2.5-2.5%201.6-.2%202.3-.9%202.5-2.5z%22/%3E%3C/svg%3E"); }