:root{
  --accent:#fc5a8d;
  --bg:#f9fafb;
  --text:#111827;
  --muted:#6b7280;
  --card:#ffffff;
  --border:#e5e7eb;
  --shadow:0 1px 2px rgba(0,0,0,0.06);
  --radius:16px;
}

*{box-sizing:border-box;}

html,body{height:100%;}

body{
  margin:0;
  font-family:'Nunito',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit;text-decoration:none;}

.safe-area-top{padding-top:env(safe-area-inset-top);}

.container{max-width:1080px;margin:0 auto;}

@media (min-width: 1280px){
  .container{max-width:1140px;}
}

.header{
  position:sticky;
  top:0;
  z-index:40;
  background:var(--card);
  box-shadow:var(--shadow);
}

.header-inner{display:flex;align-items:center;gap:12px;padding:12px 16px;}

.logo{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.logo img{height:28px;width:auto;display:block;}

.logo-title{
  font-size:18px;
  font-weight:800;
  letter-spacing:0.2px;
  color:var(--accent);
}

.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px;}

.header-btn{
 

 font-family: "Plus Jakarta Sans", sans-serif;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:0px solid var(--border);
  background:#fff;
  cursor:pointer;
  font-weight:800;
  color:#374151;
  box-shadow:var(--shadow);
  white-space:nowrap;

        background-color: #fc5a8d;
        border-block-end-style: solid;
        border-block-end-width: 0px;
        border-block-start-style: solid;
        border-block-start-width: 0px;
        border-bottom-left-radius: 36px;
        border-bottom-right-radius: 36px;
        border-bottom-style: solid;
        border-bottom-width: 0px;
        border-end-end-radius: 36px;
        border-end-start-radius: 36px;
        border-inline-end-style: solid;
        border-inline-end-width: 0px;
        border-inline-start-style: solid;
        border-inline-start-width: 0px;
        border-left-style: solid;
        border-left-width: 0px;
        border-right-style: solid;
        border-right-width: 0px;
        border-start-end-radius: 36px;
        border-start-start-radius: 36px;
        border-top-left-radius: 36px;
        border-top-right-radius: 36px;
        border-top-style: solid;
        border-top-width: 0px;
        bottom: 0px;
        box-sizing: border-box;
        caret-color: rgb(255, 255, 255);
        color: rgb(255, 255, 255);
        column-rule-color: rgb(255, 255, 255);
        cursor: pointer;
        display: block;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-size: 15.2px;
        font-weight: 600;
        inset-block-end: 0px;
        inset-block-start: 0px;
        inset-inline-end: 0px;
        inset-inline-start: 0px;
        left: 0px;
        line-height: 28px;
        list-style-type: none;
        margin-block-start: 15px;
        margin-inline-end: 5px;
        margin-inline-start: 5px;
        margin-left: 5px;
        margin-right: 5px;
        margin-top: 15px;
   
        padding-block-end: 5px;
        padding-block-start: 3px;
        padding-bottom: 5px;
        padding-inline-end: 22px;
        padding-inline-start: 22px;
        padding-left: 22px;
        padding-right: 22px;
        padding-top: 5px;
        position: relative;
        right: 0px;
        text-align: center;
    
        text-size-adjust: 100%;
        top: 0px;
        transition-duration: 0.4s;
        transition-timing-function: ease-in-out;
        user-select: none;
        vertical-align: middle;
        -webkit-font-smoothing: antialiased;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
       
    width: 30px;
    height: 30px;
    padding: 0;
    margin-top: 5px;
        padding-top: 2px;
    padding-right: 2px;
}
a.header-btn.radius {
    color: #fc5a8d;
    background: white;
    /* border: 3px solid #fc5a8d; */
    box-shadow: none;
    font-size: 30px;
}

.header-btn:hover{border-color:#d1d5db;}

.section-pad{padding:12px 16px;}

.search-filters-row{display:flex;flex-direction:column;gap:10px;}

.searchbar{display:flex;gap:10px;}

.searchbar .field{position:relative;flex:1;}

.searchbar input{
  width:100%;
  padding:12px 12px 12px 40px;
  border:1px solid var(--border);
  border-radius:30px;
  outline:none;
  background:#fff;
  font-size:15px;
}

.searchbar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(227,21,66,0.12);}

.searchbar .icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:#9ca3af;
}

.searchbar button{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--border); 
  background:#fff;
  cursor:pointer;
  font-weight:700;
}

.searchbar button:hover{border-color:#d1d5db;}

.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;}

.chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 12px;
  border-radius:30px;
  border:1px solid var(--border);
  background:#fff;
  color:#374151;
  font-size:14px;
  white-space:nowrap;
}

.chip img{height:20px;width:auto;display:block;}

.chip.active{border-color:var(--accent);color:var(--accent);}

@media (min-width: 820px){
  .search-filters-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;}
  .searchbar{flex:1;max-width:520px;}
  .chips{flex-wrap:wrap;overflow-x:visible;padding-bottom:0;}
}

.main{padding:14px 16px 92px;}

.meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 10px;}

.count{color:var(--muted);font-size:14px;}

.sort-btn{
  display:none !important;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  font-weight:800;
  color:#374151;
  white-space:nowrap;
}

.sort-btn:hover{border-color:#d1d5db;}

.sort-btn svg{width:18px;height:18px;}

.grid{display:grid;grid-template-columns:1fr;gap:12px;}

@media (min-width: 700px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (min-width: 980px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (min-width: 1280px){
  .grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}

.card{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border-radius:var(--radius);
  background:var(--card);
  box-shadow:var(--shadow);
  border:1px solid rgba(0,0,0,0.04);
  transition:transform 0.12s ease, box-shadow 0.12s ease;
}

.card:hover{transform:translateY(-2px);}

.card-flip{perspective:1000px;}

.card-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  height:100%;
  transform-style:preserve-3d;
  transition:transform 0.45s ease;
}

.card-face{backface-visibility:hidden;}

.card-front{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.card-back{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px;
  border-radius:var(--radius);
  background:linear-gradient(160deg, #ffffff 0%, #fff4f6 100%);
  border:1px solid rgba(227,21,66,0.14);
  transform:rotateY(180deg);
}
.card:hover .card-cta {
    background: #b10b2f;
    transition-duration: .2s;
}
.card-flip:hover .card-inner{transform:rotateY(180deg);}

.card-back-header{display:flex;align-items:center;gap:8px;}
.card-back-title{font-weight:900;font-size:18px;}
.card-back-sub{color:#6b7280;font-size:13px;}
.trait-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px;color:#374151;}
.trait-list li{display:flex;gap:6px;align-items:flex-start;}
.trait-list li::before{content:'•';color:var(--accent);font-weight:900;line-height:1.2;}

.thumb{width:100%;aspect-ratio:3 / 4;border-radius:14px;overflow:hidden;background:#e5e7eb;}

.thumb img{width:100%;height:100%;object-fit:cover;display:block;}

.card-info{min-width:0;}

.title-row{display:flex;align-items:center;gap:8px;margin-bottom:2px;min-width:0;}

.title-row h3{margin:0;font-size:17px;font-weight:900;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.flag{display:inline-flex;align-items:center;justify-content:center;border:0px solid rgba(0,0,0,0.12);border-radius:6px;padding:3px;background:#fff;}
.flag .fi{display:block;font-size:16px;}

.subtitle{color:#4b5563;font-size:13px;margin:2px 0 8px;}

.tags{display:flex;flex-wrap:wrap;gap:6px;}

.tag{font-size:12px;color:#4b5563;background:#f3f4f6;border-radius:999px;padding:5px 10px;}

.card-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(227,21,66,0.25);
  background:#e71542;
  color:white;
  font-weight:900;
  font-size:13px;
  margin-top:10px;
  width:100%;
  box-shadow:var(--shadow);
}
span.card-cta.card-cta--ghost {
    color: #e71542;
}
.card-cta--ghost{border-color:rgba(227,21,66,0.2);background:transparent;margin-top:auto;}

.card:hover .card-cta{background:rgba(227,21,66,0.06);}

.load-more{display:flex;justify-content:center;margin:18px 0 8px;}
.load-more .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid var(--border);
  background:#fff;
  color:#374151;
  font-weight:800;
  gap:8px;
  box-shadow:var(--shadow);
}

.load-more .btn:hover{border-color:#d1d5db;}

.pagination{display:flex;flex-direction:column;gap:10px;align-items:center;margin:18px 0 8px;}
.pagination-pages{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.page-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:#374151;
  font-weight:800;
  font-size:13px;
}
.page-link:hover{border-color:#d1d5db;}
.page-link.active{border-color:rgba(227,21,66,0.35);color:var(--accent);background:rgba(227,21,66,0.08);}
.page-ellipsis{padding:0 6px;color:#9ca3af;}

.bottom-bar{
  position:sticky;
  bottom:0;
  z-index:30;
  background:var(--card);
  border-top:1px solid var(--border);
  padding:12px 16px;
}

.bottom-bar .btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  font-weight:800;
  color:#374151;
}

.bottom-bar .btn:hover{border-color:#d1d5db;}

.bottom-bar .btn svg{width:18px;height:18px;}

@media (min-width: 820px){
  .main{padding:24px 16px 24px;}
  .sort-btn{display:inline-flex;}
  .bottom-bar{display:none;}
  .sheet{padding-bottom:24px;}
}

.empty{
  text-align:center;
  padding:64px 16px;
  color:var(--muted);
}

.empty h2{margin:0 0 6px;color:var(--text);font-size:20px;font-weight:800;}

.detail-hero{
  position:relative;
  height:52vh;
  min-height:320px;
  background:#111827;
}

.detail-hero img{width:100%;height:100%;object-fit:cover;display:block;}

.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,0.45), rgba(0,0,0,0.06), rgba(0,0,0,0));}

.back{
  position:absolute;
  top:12px;
  left:12px;
  z-index:10;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.92);
  box-shadow:var(--shadow);
  font-weight:800;
}

.back svg{width:18px;height:18px;}

.hero-action{
  position:absolute;
  top:12px;
  right:12px;
  z-index:10;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.92);
  box-shadow:var(--shadow);
  font-weight:800;
}

.hero-action:hover{background:#fff;}

.sheet{
  margin-top:-36px;
  padding:0 16px 92px;
}

.sheet-inner{
  max-width:1080px;
  margin:0 auto;
}

@media (min-width: 1280px){
  .sheet-inner{max-width:1240px;}
}

.panel{
  background:#fff;
  border-radius:24px;
  
  padding:18px 50px;
  
}

.panel h1{margin:0;font-size:26px;font-weight:900;}

.panel .subhead{margin:4px 0 0;color:#4b5563;font-size:14px;}

.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(227,21,66,0.06);
  color:var(--accent);
  font-weight:800;
  font-size:13px;
}

.section{margin-top:14px;}

.section h2{margin:0 0 8px;font-size:18px;font-weight:900;}

.section p{margin:0;color:#374151;line-height:1.55;}

.facts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px;}

@media (min-width: 820px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));}
}

.fact{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px;
  background:#fff;
}

.fact .k{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;}

.fact .v{margin-top:4px;font-size:15px;font-weight:800;color:#111827;}

.shelter{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px;
  background:#fff;
}

.shelter .name{font-weight:900;margin:0 0 4px;}

.shelter .line{margin:0;color:#374151;font-size:14px;}

.shelter a{color:var(--accent);font-weight:900;}

.detail-main{padding-top:20px;padding-bottom:24px;}

.dog-profile{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;}

@media (min-width: 1024px){
  .dog-profile{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:26px;}
}

.dog-gallery{min-width:0;    padding: 0px 50px;}

.dog-gallery-main{position:relative;border-radius:22px;overflow:hidden;background:#e5e7eb;box-shadow:var(--shadow);}

.dog-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3 / 4;}

.gallery-fav{
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.10);
  background:rgba(255,255,255,0.92);
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  cursor:pointer;
}

.gallery-fav:hover{background:#fff;}

.dog-gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px;}

.gallery-thumb{appearance:none;border:2px solid transparent;background:#e5e7eb;border-radius:18px;padding:0;cursor:pointer;overflow:hidden;box-shadow:var(--shadow);}

.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1 / 1;}

.gallery-thumb.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(227,21,66,0.18), var(--shadow);}

.gallery-thumb:focus-visible{outline:3px solid rgba(227,21,66,0.24);outline-offset:2px;}

.dog-info{min-width:0;}

.dog-badge-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}

.badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;}

.badge-accent{background:#e3f4e9;color:#16a34a;text-transform: uppercase;}

.dog-title{margin:0;font-size:34px;font-weight:900;line-height:1.08;letter-spacing:-0.02em;}

@media (min-width: 820px){
  .dog-title{font-size:44px;}
}

.dog-title .flag{margin-left:8px;}

.dog-subtitle{margin-top:6px;color:#374151;font-size:14px;}

.dog-location{display:flex;align-items:center;gap:8px;margin-top:8px;color:#374151;font-size:14px;}

.dog-location .loc-icon{width:18px;height:18px;flex:none;color:#9ca3af;}

.dog-section{margin-top:18px;}

.dog-section h2{margin:0 0 8px;font-size:18px;font-weight:900;}

.dog-section .pills{margin-top:0;}

.dog-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;}

.stat-card{;border-radius:16px;padding:12px;background:#fff;}

.stat-card .k{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;}

.stat-card .v{margin-top:4px;font-size:15px;font-weight:900;color:#111827;}

.profile-panel{margin-top:14px;}

.profile-panel h2{margin:0 0 10px;font-size:18px;font-weight:900;}

.profile-panel p{margin:0;color:#374151;line-height:1.55;}

.health-list{display:flex;flex-direction:column;gap:10px;}

.health-item{display:flex;align-items:center;justify-content:space-between;gap:12px;}

.health-item .k{color:var(--muted);font-size:13px;font-weight:700;}

.health-item .v{font-weight:900;color:#374151;text-align:right;min-width:36px;}

.health-item .v.ok{color:#16a34a;}

.pills-green{margin-top:10px;}

.pill.green{background:rgba(22,163,74,0.12);color:#16a34a;}

.contact-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:8px;}

@media (min-width: 820px){
  .contact-grid{grid-template-columns:1fr 220px;align-items:start;}
}

.contact-title{font-weight:900;margin-bottom:4px;}

.contact-line{color:#374151;font-size:14px;}

.contact-cta{display:flex;flex-direction:column;gap:10px;}

.cta-btn{display:flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:14px;border:1px solid rgba(227,21,66,0.25);background:#fff;color:var(--accent);font-weight:900;box-shadow:var(--shadow);}

.cta-btn:hover{background:rgba(227,21,66,0.06);}

.app-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:70;
}

.app-modal.open{display:flex;}

.app-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,0.5);
}

.app-modal-card{
  position:relative;
  width:100%;
  max-width:380px;
  background:#fff;
  border-radius:20px;
  border:1px solid rgba(0,0,0,0.08);
  padding:18px;
  box-shadow:0 24px 48px rgba(15,23,42,0.18);
}

.app-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.app-modal-title{font-weight:900;font-size:18px;}
.app-modal-close{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  font-weight:900;
  color:#374151;
}

.app-modal-card p{margin:8px 0 0;color:#4b5563;font-size:14px;line-height:1.5;}

.app-modal-actions{display:grid;gap:10px;margin-top:14px;}
.app-modal-actions .cta-btn{width:100%;}
.searchbar button{border:none !important;margin-left:-60px;}

.load-more .btn {
    font-size: 13px;
}
a.chip {
    font-weight: 800;
}
form.searchbar {
    border-radius: 30px;
}

a.sort-btn {
    display: none;
}
.meta-row {
    display: none;
}
.inner-page-hero{
	
    padding-top: 100px !important;

}


@media (min-width: 576px) {
    .container, .container-sm {
        max-width: 540px;
    }
}


@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 720px;
    }
}


@media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}

.pulses {
      color: #fc5a8d !important;
            border-radius: 50%;
            animation: pulse 1s infinite;
        }
		 @keyframes pulse {
            0% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.1);
            }
            100% {
                transform: scale(1);
            }
        }
		
		