/* GCT Pet Rehoming: extends the site's existing Inter / Merriweather component system. */
.pet-hero {display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);background:#f7f8f7;border:1px solid var(--line,#e5e7eb);border-radius:20px;overflow:hidden;min-height:300px;margin:0 0 24px;}
.pet-hero-copy {padding:clamp(1.5rem,3.7vw,3rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.9rem;}
.pet-eyebrow {color:#18715d!important;font-size:.74rem!important;letter-spacing:.11em;font-weight:800;text-transform:uppercase;line-height:1.4!important;margin:0!important;}
.pet-hero h1 {font-family:Merriweather,Georgia,serif;font-size:clamp(1.8rem,3.2vw,3rem);letter-spacing:-.035em;line-height:1.14;max-width:660px;margin:0;}
.pet-hero h1 span {color:#18715d;}
.pet-hero-copy>p:not(.pet-eyebrow) {color:#475569;max-width:570px;line-height:1.7;font-size:.95rem;}
.pet-hero-actions {display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.4rem;}
.pet-outline-button {display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:.8rem 1rem;font-weight:750;}
.pet-outline-button:hover {border-color:#111;}
.pet-hero-art {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:radial-gradient(circle at 65% 30%,#f5e8bb 0%,#d6ead9 45%,#c2daca 100%);position:relative;overflow:hidden;padding:1.5rem;text-align:center;}
.pet-hero-art::before,.pet-hero-art::after {content:"";position:absolute;width:230px;height:230px;border-radius:50%;border:1px solid rgba(255,255,255,.58);}
.pet-hero-art::after {width:320px;height:320px;}
.pet-art-icon {font-size:clamp(4.5rem,10vw,8.5rem);filter:drop-shadow(0 14px 16px rgba(38,78,59,.13));z-index:1;transform:rotate(-10deg);}
.pet-art-copy {font-size:.85rem;color:#265f4b;font-weight:800;line-height:1.55;z-index:1;letter-spacing:.03em;}
.pet-topline {display:flex;gap:1rem;justify-content:space-between;align-items:center;border-bottom:2px solid #111;padding-bottom:.75rem;font-size:.72rem;color:#64748b;margin-bottom:1.4rem;}
.pet-topline span:first-child {font-family:Merriweather,Georgia,serif;font-weight:900;letter-spacing:.045em;color:#111;}
.pet-section-heading {display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;}
.pet-section-heading h2,.pet-bottom-banner h2,.pet-inquiry-header h2,.pet-detail-section h2,.pet-form-section h2 {font-family:Merriweather,Georgia,serif;color:#141a1d;}
.pet-section-heading h2 {font-size:clamp(1.35rem,2.4vw,1.95rem);line-height:1.25;margin:.4rem 0 .5rem;}
.pet-section-heading p:not(.pet-eyebrow) {color:#64748b;line-height:1.5;font-size:.92rem;}
.pet-result-count {border-radius:30px;background:#f2f5f3;padding:.6rem .85rem;white-space:nowrap;font-size:.78rem;color:#2c6552;font-weight:700;}
.pet-filters {display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;padding:1rem;background:#f8faf9;border:1px solid #e0e6e2;border-radius:16px;margin-bottom:1.4rem;}
.pet-filter-field {flex:1 1 148px;min-width:0;display:grid;gap:.4rem;}
.pet-search-field {flex:1.7 1 200px;}
.pet-filter-field label {font-size:.78rem;font-weight:800;color:#334155;}
.pet-filter-field select,.pet-filter-field input {width:100%;border:1px solid #ccd5d0;border-radius:10px;background:#fff;padding:.78rem .8rem;min-height:46px;font-size:.9rem;}
.pet-filter-button {border:0;min-height:46px;background:#111827;color:#fff;border-radius:10px;padding:.75rem 1.1rem;font-weight:750;cursor:pointer;}
.pet-filter-button:hover {background:#234c3f;}
.pet-clear-link {font-size:.83rem;color:#475569;text-decoration:underline;align-self:center;padding:.5rem;}
.pet-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;}
.pet-card {display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.055);transition:transform .2s,box-shadow .2s;min-width:0;}
.pet-card:hover {transform:translateY(-4px);box-shadow:0 15px 34px rgba(15,23,42,.11);}
.pet-card-image {aspect-ratio:5/3.45;display:block;position:relative;overflow:hidden;background:#edf1ed;}
.pet-card-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s;}
.pet-card:hover .pet-card-image img {transform:scale(1.035);}
.pet-featured,.pet-type-tag {position:absolute;top:12px;padding:.37rem .67rem;background:#fff;color:#1f2937;border-radius:999px;font-size:.73rem;font-weight:800;box-shadow:0 2px 12px rgba(0,0,0,.1);}
.pet-featured {left:12px;background:#fff7dc;color:#754c00;}
.pet-type-tag {right:12px;}
.pet-card-body {padding:1.05rem;display:flex;flex-direction:column;flex:1;gap:.55rem;}
.pet-name-row {display:flex;align-items:start;justify-content:space-between;gap:.5rem;flex-wrap:wrap;}
.pet-name-row h3 {font-family:Merriweather,Georgia,serif;font-size:1.25rem;line-height:1.3;margin:0;}
.pet-city-tag {font-size:.72rem;color:#4b5563;background:#f4f6f5;border-radius:999px;padding:.27rem .5rem;white-space:nowrap;}
.pet-breed {font-size:.87rem;color:#4b5563;margin:0;}
.pet-facts {display:flex;flex-wrap:wrap;gap:.35rem;margin:.25rem 0;}
.pet-facts span {font-size:.73rem;font-weight:650;padding:.28rem .48rem;border:1px solid #e4ebe7;color:#376454;background:#f8fbf9;border-radius:7px;}
.pet-excerpt {font-size:.86rem!important;color:#5c6673!important;line-height:1.65!important;flex:1;margin:.25rem 0 .3rem!important;}
.pet-card-bottom {display:flex;gap:.7rem;align-items:center;justify-content:space-between;border-top:1px solid #eef1ef;padding-top:.85rem;margin-top:auto;}
.pet-fee {font-size:.72rem;color:#586471;line-height:1.4;}
.pet-card-button {border-radius:9px;background:#111;color:#fff;padding:.65rem .82rem;white-space:nowrap;font-weight:750;font-size:.82rem;}
.pet-card-button:hover {background:#18715d;color:#fff;}
.pet-empty {padding:3.3rem 1.4rem;border:1px dashed #cbd5d1;border-radius:18px;text-align:center;background:#f9fbfa;display:flex;align-items:center;flex-direction:column;gap:.8rem;}
.pet-empty h3,.pet-empty h1 {font-family:Merriweather,Georgia,serif;font-size:1.35rem;}
.pet-empty p {color:#64748b;font-size:.9rem;line-height:1.6;}
.pet-empty-icon {font-size:2.8rem;}
.pet-bottom-banner {margin-top:2.25rem;padding:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#eaf4ed;border:1px solid #d6e6d9;border-radius:18px;}
.pet-bottom-banner h2 {font-size:1.4rem;margin:.45rem 0 .55rem;}
.pet-bottom-banner p:not(.pet-eyebrow) {line-height:1.6;color:#4d6556;font-size:.9rem;max-width:690px;}
.pet-bottom-banner .button {white-space:nowrap;}
.pet-fine-print {color:#64748b;font-size:.76rem;line-height:1.6;margin:1rem 0;}
.pet-breadcrumb {display:flex;align-items:center;gap:.7rem;padding:.6rem 0 1.25rem;color:#64748b;font-size:.82rem;}
.pet-breadcrumb a {color:#245f4d;text-decoration:underline;}
.pet-detail-layout {grid-template-columns:minmax(0,2fr) minmax(280px,1fr);}
.pet-gallery,.pet-detail-main {min-width:0;}
.pet-main-photo {aspect-ratio:16/10;overflow:hidden;border-radius:18px;background:#eff3ef;border:1px solid #e3e9e4;}
.pet-main-photo img {width:100%;height:100%;object-fit:contain;background:#eff3ef;}
.pet-thumbnails {display:flex;gap:.65rem;flex-wrap:wrap;margin:.75rem 0 0;}
.pet-thumb {width:78px;height:68px;overflow:hidden;padding:0;border-radius:10px;border:3px solid transparent;background:#eee;cursor:pointer;}
.pet-thumb.active {border-color:#18715d;}
.pet-thumb img {width:100%;height:100%;object-fit:cover;}
.pet-detail-intro {margin:1.2rem 0 1.4rem;}
.pet-heading-line {display:flex;align-items:start;justify-content:space-between;gap:1rem;}
.pet-detail-intro h1 {font-family:Merriweather,Georgia,serif;font-size:clamp(1.65rem,3vw,2.4rem);margin:.35rem 0;line-height:1.25;}
.pet-detail-subtitle {font-size:1rem;color:#64748b;margin:.4rem 0;}
.pet-featured-inline {background:#fff3cd;padding:.35rem .7rem;border-radius:30px;font-size:.76rem;color:#805d0d;font-weight:800;white-space:nowrap;}
.pet-detail-section {padding:1.25rem;margin:0 0 1.2rem;}
.pet-detail-section h2 {font-size:1.2rem;margin:0 0 1rem;}
.pet-info-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;}
.pet-info-item {padding:.72rem 0;border-bottom:1px solid #eef2ef;display:flex;flex-direction:column;gap:.3rem;}
.pet-info-item span {font-size:.75rem;color:#65727e;}
.pet-info-item strong {font-size:.9rem;font-weight:750;color:#111827;}
.pet-long-description {font-size:.94rem;color:#364252;line-height:1.85;overflow-wrap:anywhere;}
.pet-reason {border-top:1px solid #e5e7eb;margin-top:1.3rem;padding-top:1rem;}
.pet-reason strong {font-size:.85rem;}
.pet-reason p {font-size:.9rem;color:#526070;margin-top:.4rem;line-height:1.7;}
.pet-temperament {display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;}
.pet-temperament div {border:1px solid #e6ebe6;padding:.85rem;border-radius:12px;display:grid;gap:.5rem;background:#f9fbf9;}
.pet-temperament span {font-size:.75rem;color:#64748b;}
.pet-temperament strong {font-size:1rem;}
.pet-muted {font-size:.83rem;line-height:1.7;color:#64748b;}
.pet-adopt-panel {padding:1.4rem;position:relative;}
.pet-adopt-panel h2 {font-family:Merriweather,Georgia,serif;font-size:1.38rem;line-height:1.37;margin:.65rem 0 1rem;}
.pet-adopt-price {font-weight:800;background:#f1f7f2;color:#205a45;border-radius:10px;padding:.75rem;font-size:.88rem;margin-bottom:1rem;}
.pet-adopt-panel>p:not(.pet-eyebrow) {font-size:.85rem;line-height:1.75;color:#64748b;margin-bottom:1.1rem;}
.pet-contact-anchor {display:block;padding:.8rem 1rem;background:#111827;color:#fff;text-align:center;border-radius:10px;font-weight:800;font-size:.86rem;}
.pet-contact-anchor:hover {background:#1d624d;color:#fff;}
.pet-inquiry-section {padding:1.65rem;margin:1.4rem 0;max-width:810px;}
.pet-inquiry-header h2 {font-size:1.35rem;margin:.5rem 0;}
.pet-inquiry-header>p:not(.pet-eyebrow) {font-size:.88rem;color:#64748b;line-height:1.7;margin:.65rem 0 1rem;}
.pet-inquiry-form {gap:1rem;}
.pet-inquiry-form .form-item {gap:.35rem;}
.pet-inquiry-form label {font-weight:700;font-size:.84rem;}
.pet-form-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.pet-form-agreement {display:flex;gap:.7rem;align-items:flex-start;line-height:1.65;padding:.8rem;border:1px solid #e6eaed;border-radius:12px;background:#f9fafb;font-size:.84rem;color:#374151;cursor:pointer;}
.pet-form-agreement input[type=checkbox] {flex:none;width:18px;height:18px;min-width:18px;margin-top:.15rem;accent-color:#18715d;}
.pet-success-msg,.pet-error-msg {padding:1rem 1.15rem;border-radius:12px;font-size:.9rem;line-height:1.7;margin-bottom:1rem;}
.pet-success-msg {background:#edf8ef;color:#1c5b37;border:1px solid #c9e7ce;}
.pet-error-msg {background:#fff0f0;color:#8d2323;border:1px solid #f4caca;}
.pet-hp-field {position:absolute!important;left:-10000px!important;height:1px!important;width:1px!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important;}
.pet-back-link {margin:1.5rem 0;color:#29634f;font-weight:700;font-size:.88rem;}
.pet-submit-hero {margin-bottom:1.2rem;}
.pet-submit-hero h1 {margin:.6rem 0;font-size:clamp(1.65rem,2.5vw,2.1rem);}
.pet-submit-form {padding:1.5rem;gap:1rem;overflow:visible;}
.pet-form-section {border-top:1px solid #e5e7eb;padding-top:1.45rem;margin-top:.7rem;}
.pet-form-section:first-of-type {border-top:0;padding-top:.15rem;margin-top:0;}
.pet-step-label {font-size:.69rem!important;letter-spacing:.13em;font-weight:900;color:#15803d!important;margin:0 0 .3rem!important;}
.pet-form-section h2 {font-size:1.14rem;line-height:1.35;margin:.25rem 0;}
.pet-form-section>p:not(.pet-step-label) {color:#64748b;font-size:.84rem;line-height:1.6;margin-top:.3rem;}
.pet-submit-form .form-item label {font-size:.83rem;font-weight:700;}
.pet-submit-form input,.pet-submit-form select,.pet-submit-form textarea {font-size:.89rem;}
.pet-field-help {font-size:.72rem;color:#64748b;line-height:1.45;}
.pet-three-fields {grid-template-columns:repeat(2,minmax(0,1fr));}
.pet-upload-box {border:2px dashed #cad9ce;background:#f7fbf8;border-radius:16px;padding:1.3rem;text-align:center;}
.pet-upload-icon {font-size:2rem;margin-bottom:.5rem;}
.pet-upload-box strong {display:block;font-size:.95rem;}
.pet-upload-box p {font-size:.78rem;color:#64748b;line-height:1.5;margin:.4rem 0 .9rem;}
.pet-upload-box input[type=file] {padding:.75rem;background:#fff;max-width:100%;}
.pet-upload-previews {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-top:.8rem;}
.pet-upload-previews img {aspect-ratio:1;width:100%;border-radius:9px;object-fit:cover;border:1px solid #d4dcd5;}
.pet-plan-options {display:grid;gap:.7rem;}
.pet-plan {display:flex;align-items:stretch;gap:.65rem;cursor:pointer;}
.pet-plan input[type=radio] {width:19px;min-width:19px;margin:0 0 0 .15rem;accent-color:#18715d;}
.pet-plan-inner {display:grid;gap:.32rem;padding:.85rem 1rem;border:1px solid #dce4de;background:#fff;border-radius:12px;flex:1;}
.pet-plan input:checked+.pet-plan-inner {background:#f0f8f1;border-color:#66a480;box-shadow:0 0 0 1px #66a480;}
.pet-plan-inner strong {display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.89rem;}
.pet-plan-inner b {font-size:1rem;}
.pet-plan-inner small {color:#64748b;line-height:1.5;font-size:.76rem;}
.pet-main-submit {background:#111827;color:#fff;border:0;border-radius:11px;padding:1rem;font-weight:800;cursor:pointer;width:100%;}
.pet-main-submit:hover {background:#24654b;}
.pet-main-submit:disabled {opacity:.6;cursor:wait;}
.pet-submit-fine {font-size:.77rem;color:#64748b;line-height:1.65;text-align:center;}
.pet-side-info h3 {font-family:Merriweather,Georgia,serif;font-size:1.08rem;margin:0 0 1rem;}
.pet-side-info>p {font-size:.85rem;line-height:1.7;color:#4b5563;margin:.5rem 0;}
.pet-how-row {display:flex;gap:.7rem;padding:.7rem 0;border-bottom:1px solid #edf0ed;}
.pet-how-row:last-child {border-bottom:0;}
.pet-how-row>b {display:grid;place-items:center;width:27px;height:27px;flex:none;border-radius:50%;background:#153f33;color:#fff;font-size:.75rem;}
.pet-how-row span {display:flex;flex-direction:column;gap:.3rem;}
.pet-how-row strong {font-size:.82rem;}
.pet-how-row small {font-size:.77rem;color:#64748b;line-height:1.5;}
@media(max-width:1000px){.pet-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.pet-hero{grid-template-columns:1.3fr .7fr}.pet-detail-layout{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);}}
@media(max-width:799px){.pet-hero{grid-template-columns:1fr;}.pet-hero-art{display:none;}.pet-detail-layout{grid-template-columns:1fr;}.pet-detail-aside{order:2;}.pet-submit-layout{grid-template-columns:1fr;}.pet-submit-aside{order:2;}}
@media(max-width:580px){.pet-cards{grid-template-columns:1fr;}.pet-section-heading{align-items:flex-start;flex-direction:column;}.pet-filters{display:grid;grid-template-columns:1fr 1fr;}.pet-search-field{grid-column:span 2;}.pet-filter-button{grid-column:span 2;}.pet-clear-link{grid-column:span 2;text-align:center;}.pet-bottom-banner{align-items:flex-start;flex-direction:column;}.pet-card-image{aspect-ratio:5/3.2;}.pet-form-columns,.pet-three-fields{grid-template-columns:1fr;}.pet-submit-form{padding:1rem;}.pet-upload-previews{grid-template-columns:repeat(3,1fr);}.pet-info-grid{grid-template-columns:1fr 1fr;}.pet-temperament{grid-template-columns:1fr;}.pet-main-photo{aspect-ratio:4/3;}}
