/* =========================================================
   Cado Community — playful pet-brand theme
   ========================================================= */
:root{
  --cado-teal:#0aada6; --cado-teal-dark:#087d79; --cado-teal-tint:#e7f9f7;
  --cado-coral:#ff6b6b; --cado-coral-dark:#e2496a; --cado-coral-tint:#fff0f0;
  --cado-yellow:#ffc857; --cado-yellow-tint:#fff8e6;
  --cado-blue:#3f7cff; --cado-blue-tint:#eef3ff;
  --cado-ink:#1c2438; --cado-muted:#6b7690; --cado-line:#e7ecf3;
  --cado-bg:#fbfcfe; --cado-radius:20px; --cado-radius-sm:12px;
  --cado-shadow:0 10px 30px rgba(20,40,70,.08); --cado-shadow-sm:0 4px 14px rgba(20,40,70,.06);
}
.cado-wrap,.cado-form-wrap,.cado-dashboard{max-width:1200px;margin:30px auto;font-family:'Poppins',Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cado-ink)}
.cado-wrap *,.cado-form-wrap *,.cado-dashboard *{box-sizing:border-box}

/* ---- Hero / search ---- */
.cado-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff4e0 0%,#ffe9ee 45%,#e6faf7 100%);padding:48px 34px;border-radius:28px;text-align:center;border:1px solid var(--cado-line)}
.cado-hero:before{content:"🐾";position:absolute;font-size:120px;opacity:.06;top:-30px;left:-10px;transform:rotate(-18deg)}
.cado-hero:after{content:"🐾";position:absolute;font-size:140px;opacity:.06;bottom:-45px;right:-15px;transform:rotate(15deg)}
.cado-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--cado-teal-dark);background:#fff;padding:5px 14px;border-radius:20px;box-shadow:var(--cado-shadow-sm)}
.cado-hero h1{font-size:44px;margin:14px 0 6px;color:var(--cado-ink);font-weight:800}
.cado-hero p{color:var(--cado-muted);margin:0 0 26px;font-size:15px}
.cado-searchbar{position:relative;display:flex;flex-wrap:nowrap;align-items:stretch;max-width:1120px;margin:auto;background:#fff;border:2px solid #fff;border-radius:18px;padding:7px;gap:7px;box-shadow:var(--cado-shadow)}
.cado-searchbar input{flex:1 1 0;border:0;background:var(--cado-bg);padding:14px 14px;min-width:0;outline:0;font-size:13.5px;border-radius:12px}
.cado-searchbar input:focus{background:var(--cado-teal-tint)}
.cado-searchbar button,.cado-primary{border:0;background:linear-gradient(135deg,var(--cado-teal),var(--cado-teal-dark));color:#fff;padding:13px 18px;border-radius:12px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(10,173,166,.35);transition:transform .15s ease;white-space:nowrap;flex:0 0 auto}
.cado-searchbar button:hover,.cado-primary:hover{transform:translateY(-1px)}
.cado-searchbar select.cado-country-select,.cado-searchbar select.cado-radius-select{border:0;background:var(--cado-bg);border-radius:12px;padding:12px 10px;font-size:12.5px;font-weight:700;color:var(--cado-ink);flex:0 0 128px;min-width:0}
.cado-searchbar #cado-near{background:var(--cado-yellow-tint);color:#8a5a00;box-shadow:none;flex:0 0 auto}
.cado-keyword-wrap{position:relative;flex:1 1 0;min-width:0}
.cado-keyword-wrap input{width:100%}
.cado-suggest-box{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--cado-line);border-radius:14px;box-shadow:var(--cado-shadow);z-index:60;max-height:260px;overflow-y:auto;padding:6px}
.cado-suggest-box.open{display:block}
.cado-suggest-item{padding:10px 14px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--cado-ink);cursor:pointer}
.cado-suggest-item:hover,.cado-suggest-item.active{background:var(--cado-teal-tint);color:var(--cado-teal-dark)}
.cado-suggest-empty{padding:10px 14px;font-size:12.5px;color:var(--cado-muted)}
.cado-pincode-hint{max-width:980px;margin:8px auto 0;text-align:center;font-size:12px;font-weight:700;color:var(--cado-teal-dark);min-height:16px}

/* ---- Service tabs ---- */
.cado-service-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.cado-service-tabs button{background:#fff;border:2px solid var(--cado-line);border-radius:16px;padding:16px;font-weight:800;cursor:pointer;color:var(--cado-ink);font-size:14px;transition:all .15s ease}
.cado-service-tabs button:hover{border-color:var(--cado-teal)}
.cado-service-tabs button.active{border-color:var(--cado-teal);background:linear-gradient(135deg,var(--cado-teal-tint),#fff);color:var(--cado-teal-dark);box-shadow:var(--cado-shadow-sm)}

/* ---- Filters ---- */
.cado-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.cado-filters select,.cado-filters input{padding:10px 14px;border:2px solid var(--cado-line);border-radius:12px;background:#fff;font-weight:600;font-size:13px}

/* ---- Result cards ---- */
.cado-result-head{display:flex;justify-content:space-between;align-items:center;margin:16px 0;font-size:14px}
.cado-result-head strong{font-size:19px}
.cado-results{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cado-card,.cado-dash-card{background:#fff;border:2px solid var(--cado-line);border-radius:var(--cado-radius);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.cado-card:hover{transform:translateY(-3px);box-shadow:var(--cado-shadow)}
.cado-card>img{width:100%;height:160px;object-fit:cover}
.cado-avatar{height:160px;background:linear-gradient(135deg,var(--cado-teal-tint),var(--cado-yellow-tint));display:flex;align-items:center;justify-content:center;font-size:52px}
.cado-card-body{padding:18px}
.cado-card-top{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}
.cado-type{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--cado-teal);padding:4px 10px;border-radius:20px}
.cado-verified{font-size:10px;font-weight:800;color:#0a7a45;background:#e7f9ee;border-radius:20px;padding:5px 9px}
.cado-card h3{margin:10px 0 6px;font-size:18px;font-weight:800}
.cado-card p{font-size:12.5px;color:#586179;line-height:1.5;margin:5px 0}
.cado-muted{color:var(--cado-muted)!important}
.cado-card-actions{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.cado-card-actions button,.cado-card-actions a,.cado-request{border:2px solid var(--cado-line);background:#fff;color:var(--cado-ink);padding:8px 11px;border-radius:10px;text-decoration:none;font-size:11.5px;font-weight:700;cursor:pointer;transition:all .15s ease}
.cado-card-actions button:hover,.cado-card-actions a:hover{border-color:var(--cado-teal);color:var(--cado-teal-dark)}
.cado-request{width:100%;margin-top:9px;background:var(--cado-coral-tint);border-color:#ffd1d1;color:var(--cado-coral-dark);font-weight:800}
.cado-empty{text-align:center;padding:48px 20px;background:var(--cado-bg);border:2px dashed var(--cado-line);border-radius:var(--cado-radius);grid-column:1/-1}
.cado-empty div:first-child{font-size:40px}
.cado-empty h3{margin:10px 0 4px}
.cado-empty p{color:var(--cado-muted);font-size:13px}
.cado-loading{text-align:center;padding:48px;color:var(--cado-muted);font-weight:600}

/* ---- Emergency banner ---- */
.cado-emergency{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;background:linear-gradient(90deg,#fff0f0,#fff7f2);border:2px solid #ffd6d6;border-radius:var(--cado-radius);padding:20px 22px}
.cado-emergency strong{display:block;color:var(--cado-coral-dark);font-size:16px}
.cado-emergency span{font-size:12.5px;color:var(--cado-muted)}
.cado-emergency button{border:0;background:linear-gradient(135deg,var(--cado-coral),var(--cado-coral-dark));color:#fff;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(226,73,106,.3)}

/* ---- Forms ---- */
.cado-form-wrap,.cado-dashboard{background:#fff;border:2px solid var(--cado-line);border-radius:26px;padding:30px;box-shadow:var(--cado-shadow-sm)}
.cado-section-head{margin-bottom:22px;text-align:center}
.cado-section-head h2{margin:6px 0;font-size:28px;font-weight:800}
.cado-section-head p{color:var(--cado-muted);font-size:13.5px}
.cado-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px}
.cado-form-grid>div{display:flex!important;flex-direction:column!important;gap:6px;position:relative;min-width:0}
.cado-form-grid .full{grid-column:1/-1!important}
.cado-form label{font-size:12.5px;font-weight:800;color:var(--cado-ink)}
.cado-form input,.cado-form select,.cado-form textarea{width:100%;border:2px solid var(--cado-line);border-radius:12px;padding:11px 13px;font-size:13.5px;background:var(--cado-bg);transition:border-color .15s ease}
.cado-form input:focus,.cado-form select:focus,.cado-form textarea:focus{outline:0;border-color:var(--cado-teal);background:#fff}
.cado-form textarea{min-height:95px;resize:vertical}
.cado-form-msg{margin-top:12px;font-size:13px;font-weight:700}
.cado-login-box{text-align:center;border:2px solid var(--cado-line);border-radius:var(--cado-radius);padding:34px;margin:30px auto;max-width:600px;background:linear-gradient(135deg,var(--cado-teal-tint),#fff)}
.cado-login-box .cado-primary{display:inline-block;text-decoration:none}
.cado-dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cado-dash-card{padding:16px}
.cado-dash-card .cado-status{float:right}

/* ---- Status pills ---- */
.cado-status{display:inline-block;border-radius:20px;padding:5px 10px;font-size:10px;font-weight:800;letter-spacing:.02em}
.cado-status.approved{background:#e7f9ee;color:#0a7a45}
.cado-status.pending{background:var(--cado-yellow-tint);color:#8a5a00}
.cado-status.suspended{background:var(--cado-coral-tint);color:#c0293f}
.cado-status.urgent{background:var(--cado-coral-tint);color:var(--cado-coral-dark)}

/* ---- Modal ---- */
.cado-modal{display:none;position:fixed;inset:0;background:rgba(20,25,40,.55);z-index:99999;padding:20px;backdrop-filter:blur(2px)}
.cado-modal.open{display:flex;align-items:center;justify-content:center}
.cado-modal-box{background:#fff;border-radius:24px;padding:28px;max-width:650px;width:100%;max-height:90vh;overflow:auto;position:relative;box-shadow:0 25px 60px rgba(0,0,0,.25)}
.cado-close{position:absolute;right:14px;top:10px;border:0;background:var(--cado-bg);width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer;color:var(--cado-muted);line-height:1}

/* ---- Admin ---- */
.cado-admin{max-width:1280px}
.cado-admin-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff4e0,#e6faf7);padding:28px;border-radius:22px;margin:20px 0;border:1px solid var(--cado-line)}
.cado-admin-hero h1{margin:4px 0;font-size:30px;font-weight:800}
.cado-admin-hero p{color:var(--cado-muted);margin:0}
.cado-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:16px 0}
.cado-stat{background:#fff;border:2px solid var(--cado-line);border-radius:16px;padding:16px;display:flex;gap:12px;align-items:center;transition:transform .15s ease}
.cado-stat:hover{transform:translateY(-2px);box-shadow:var(--cado-shadow-sm)}
.cado-stat>span{font-size:26px;background:var(--cado-teal-tint);width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.cado-stat strong{display:block;font-size:23px}
.cado-stat small{color:var(--cado-muted)}
.cado-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cado-panel{background:#fff;border:2px solid var(--cado-line);border-radius:18px;padding:20px}
.cado-panel h2{margin-top:0;font-size:18px}
.cado-quick{display:grid;gap:9px}
.cado-quick a{padding:12px;border:2px solid var(--cado-line);border-radius:12px;text-decoration:none;font-weight:700;color:var(--cado-ink);transition:all .15s ease}
.cado-quick a:hover{border-color:var(--cado-teal);color:var(--cado-teal-dark);background:var(--cado-teal-tint)}
.cado-search-admin{display:flex;gap:8px;margin:14px 0}
.cado-search-admin input{min-width:300px;padding:10px 12px;border:2px solid var(--cado-line);border-radius:10px}
.cado-table-wrap{background:#fff;border:2px solid var(--cado-line);border-radius:16px;overflow:auto}
.cado-table{border:0}
.cado-actions{display:flex;gap:6px;flex-wrap:wrap}
.cado-form-wrap code,.cado-panel code{background:var(--cado-bg);padding:5px 8px;border-radius:6px}
.cado-admin-pet-view .cado-pet-actions{display:none}
.cado-check-col{width:34px}
.cado-bulk-bar{display:flex;align-items:center;gap:10px;margin:12px 0}
.cado-bulk-bar select{padding:8px 10px;border-radius:8px;border:2px solid var(--cado-line)}
.cado-bulk-count{font-size:12px;color:var(--cado-muted);font-weight:700}
.cado-pagination{display:flex;gap:6px;margin:16px 0;flex-wrap:wrap}
.cado-admin-hero .cado-actions{display:flex;gap:8px;flex-wrap:wrap}
.cado-import-report{border-color:var(--cado-teal);background:var(--cado-teal-tint);margin:16px 0}
.cado-import-errors{margin:10px 0 0;padding-left:18px;font-size:12.5px;color:#8a5a00}
.cado-import-errors li{margin-bottom:4px}
.cado-panel code{font-size:11.5px}

@media(max-width:800px){.cado-results,.cado-dash-grid{grid-template-columns:repeat(2,1fr)}.cado-stats{grid-template-columns:repeat(2,1fr)}.cado-admin-grid{grid-template-columns:1fr}}
@media(max-width:900px){.cado-searchbar{flex-wrap:wrap}.cado-searchbar>*{flex:1 1 46%}.cado-searchbar button.cado-primary,#cado-search-btn{flex:1 1 100%}}
@media(max-width:600px){.cado-hero{padding:30px 18px}.cado-hero h1{font-size:30px}.cado-searchbar>*{flex:1 1 100%!important}.cado-service-tabs,.cado-results,.cado-form-grid,.cado-dash-grid{grid-template-columns:1fr}.cado-stats{grid-template-columns:1fr 1fr}.cado-emergency{align-items:flex-start;flex-direction:column}.cado-admin-hero{align-items:flex-start;gap:12px;flex-direction:column}}

/* ---- Pet registration & My Pet grid ---- */
.cado-hero-actions{margin-top:16px}
.cado-hero-actions .cado-primary{padding:13px 22px;border-radius:12px;font-size:13px;background:linear-gradient(135deg,var(--cado-coral),var(--cado-coral-dark));box-shadow:0 6px 16px rgba(226,73,106,.3)}
.cado-account-tabs{display:flex;gap:12px;margin-bottom:22px;border-bottom:2px solid var(--cado-line)}
.cado-acc-tab{background:none;border:0;padding:12px 6px;font-weight:800;color:var(--cado-muted);cursor:pointer;border-bottom:3px solid transparent;font-size:14px}
.cado-acc-tab.active{color:var(--cado-teal-dark);border-bottom-color:var(--cado-teal)}
.cado-pet-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.cado-pet-panel-head p{color:var(--cado-muted);font-size:13px;margin:0}
.cado-pet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cado-pet-card{background:#fff;border:2px solid var(--cado-line);border-radius:var(--cado-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease}
.cado-pet-card:hover{transform:translateY(-3px);box-shadow:var(--cado-shadow-sm)}
.cado-pet-card-media{height:150px;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--cado-yellow-tint),var(--cado-teal-tint))}
.cado-pet-card-media img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block}
.cado-pet-avatar{height:100%;display:flex;align-items:center;justify-content:center;font-size:54px}
.cado-pet-card-info{padding:16px;display:flex;flex-direction:column;gap:6px}
.cado-pet-card-info h3{margin:0;font-size:17px;font-weight:800}
.cado-pet-facts{list-style:none;margin:6px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;font-size:12px;color:#334155}
.cado-pet-facts strong{color:var(--cado-teal-dark);font-weight:800}
.cado-pet-desc{font-size:12px;color:var(--cado-muted);margin:4px 0 0}
.cado-pet-remove{margin-top:10px;border:2px solid #ffd1d1;background:var(--cado-coral-tint);color:var(--cado-coral-dark);border-radius:10px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer;align-self:flex-start}

@media(max-width:800px){.cado-pet-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cado-pet-grid{grid-template-columns:1fr}.cado-pet-facts{grid-template-columns:1fr}}
.cado-pet-addmore-row{text-align:center;margin-top:20px}
.cado-pet-addmore-row .cado-primary{padding:12px 24px}

/* ---- Taxonomy checkbox groups ---- */
.cado-checkbox-group{display:flex;flex-wrap:wrap;gap:8px 12px;border:2px solid var(--cado-line);border-radius:14px;padding:14px;background:var(--cado-bg)}
.cado-checkbox{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#334155;cursor:pointer;background:#fff;border:1px solid var(--cado-line);padding:6px 12px;border-radius:20px}
.cado-checkbox:has(input:checked){border-color:var(--cado-teal);background:var(--cado-teal-tint);color:var(--cado-teal-dark)}
.cado-checkbox input{width:auto}

/* ---- OSM / community-data badge ---- */
.cado-card-osm{border-color:#cfe0ff}
.cado-osm-badge{background:var(--cado-blue-tint);color:#2456b8;font-size:10px;font-weight:800;padding:5px 10px;border-radius:20px}
.cado-osm-attribution{font-size:11px;color:var(--cado-muted);text-align:center;margin:12px 0 20px;line-height:1.5}

.cado-field-help{font-size:11px;color:var(--cado-muted)}
.cado-current-photo{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:11px;color:var(--cado-muted)}
.cado-current-photo img{width:58px;height:58px;object-fit:cover;border-radius:12px;border:2px solid var(--cado-line)}
.cado-pet-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cado-pet-profile{border:2px solid var(--cado-blue-tint);background:var(--cado-blue-tint);color:#2456b8;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer}
.cado-pet-health{font-size:11px;color:#475569;background:var(--cado-bg);border-radius:12px;padding:10px;margin-top:6px;display:grid;gap:5px}
.cado-pet-health strong{color:var(--cado-teal-dark)}
.cado-pet-profile-modal{padding:0;border:0}
.cado-pet-profile-modal .cado-pet-card{box-shadow:none}
.cado-form input[type=file]{padding:9px;background:var(--cado-bg)}
.cado-form button:disabled{opacity:.6;cursor:not-allowed}

/* ---- Pet form v2: sectioned, row-based (inline-flex layout, theme-proof) ---- */
.cado-pet-form-creative{display:flex;flex-direction:column;gap:22px}
.cado-form-section{border:2px solid var(--cado-line);border-radius:16px;padding:20px 20px 4px;background:var(--cado-bg)}
.cado-form-section-title{display:block;font-size:13px;font-weight:800;color:var(--cado-teal-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px}
.cado-pet-form-creative label{font-size:12.5px;font-weight:800;color:var(--cado-ink)}
.cado-pet-form-creative input,.cado-pet-form-creative select,.cado-pet-form-creative textarea{width:100%;border:2px solid var(--cado-line);border-radius:12px;padding:11px 13px;font-size:13.5px;background:#fff;box-sizing:border-box}
.cado-pet-form-creative input:focus,.cado-pet-form-creative select:focus,.cado-pet-form-creative textarea:focus{outline:0;border-color:var(--cado-teal)}
.cado-pet-form-creative textarea{min-height:80px;resize:vertical}
#cado-pet-type-other{margin-top:8px}
@media(max-width:560px){.cado-pet-form-creative [style*="flex:1 1 220px"]{flex-basis:100%!important}}
