/* Puppy Portal - frontend */
.pp-wrap{max-width:1100px;margin:0 auto;display:grid;gap:16px}
.pp-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pp-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}
.pp-table{width:100%;border-collapse:collapse}
.pp-table th,.pp-table td{padding:10px;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:top}
.pp-table th{text-align:left}
.pp-btn{display:inline-block;padding:8px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#f7f7f7;cursor:pointer}
.pp-btn-link{display:inline-block;padding:6px 10px;border-radius:10px;border:1px solid rgba(0,0,0,.12);text-decoration:none;background:#f7f7f7}
.pp-help{margin:6px 0 10px 0;color:#555}
.pp-litters{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 14px;margin:10px 0 12px 0}
.pp-check{display:flex;gap:10px;align-items:flex-start}
.pp-check input{margin-top:3px}
.pp-check-label small{color:#666}
.pp-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.2);margin-left:6px;vertical-align:middle}
.pp-chart{width:100%;height:auto;margin:8px 0 8px 0;color:#111}
.pp-card input[type="text"],.pp-card input[type="email"],.pp-card input[type="tel"],.pp-card input[type="password"],.pp-card input[type="date"],.pp-card select{border:1px solid #ccc;border-radius:6px;padding:8px;width:100%;box-sizing:border-box}
.pp-card input:focus,.pp-card select:focus{border-color:#2271b1;outline:none;box-shadow:0 0 0 1px #2271b1}

/* Mobile: show puppy table as cards */
@media (max-width: 768px){
  .pp-table-puppies,
  .pp-table-puppies thead,
  .pp-table-puppies tbody,
  .pp-table-puppies th,
  .pp-table-puppies td,
  .pp-table-puppies tr{
    display:block;
  }
  .pp-table-puppies thead{display:none;}
  .pp-table-puppies tr{
    border:1px solid rgba(0,0,0,.12);
    border-radius:14px;
    padding:12px;
    margin:0 0 12px 0;
    background:#fff;
  }
  .pp-table-puppies td{
    border:0;
    padding:6px 0;
  }
  .pp-table-puppies td::before{
    content:attr(data-label);
    font-weight:600;
    display:inline-block;
    min-width:110px;
    margin-right:8px;
    color:#111;
  }
  .pp-table-puppies td[data-label=""]::before{content:"";min-width:0;margin-right:0;}
  .pp-table-puppies .pp-btn-link{padding:10px 14px;}
}

.pp-color-name{
  display:inline-block;
  margin-right:6px;
  font-weight:600;
}
.pp-card h2 .pp-swatch{
  vertical-align:middle;
  margin-right:8px;
}
.pp-card h2 .pp-color-name{
  vertical-align:middle;
  margin-right:8px;
}
.pp-table-puppies .pp-swatch{
  margin-right:6px;
}


.pp-two-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}

/* Login page */
.pp-login-container{display:flex;justify-content:center;padding:40px 20px;min-height:50vh}
.pp-login-card{background:#fff !important;border:none !important;border-radius:24px !important;padding:48px 40px 40px !important;max-width:420px;width:100%;box-shadow:0 12px 40px rgba(0,0,0,.12) !important}
.pp-login-icon{text-align:center;margin-bottom:16px}
.pp-login-icon span{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:#f5f5f5;border-radius:16px;font-size:32px}
.pp-login-title{text-align:center !important;margin:0 0 6px 0 !important;font-size:26px !important;color:#111 !important;font-weight:700 !important}
.pp-login-subtitle{text-align:center;margin:0 0 32px 0;color:#999;font-size:14px}
.pp-login-card label{display:none !important}
.pp-login-card.pp-complete-profile label{display:block !important;font-weight:600;font-size:13px;color:#555;margin-bottom:4px}
.pp-form-group{margin-bottom:14px}
.pp-form-group input[type="text"],.pp-form-group input[type="tel"],.pp-form-group input[type="date"],.pp-form-group select{border:none !important;border-radius:12px !important;padding:14px 18px !important;width:100% !important;box-sizing:border-box !important;font-size:15px !important;background:#f0f0f3 !important;color:#333 !important;transition:background .2s,box-shadow .2s}
.pp-form-group input:focus,.pp-form-group select:focus{background:#e8e8ee !important;outline:none !important;box-shadow:0 0 0 3px rgba(26,26,46,.08) !important}
.pp-form-group input::placeholder{color:#aaa}
.pp-form-group select{color:#aaa;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 14px center !important}
.pp-form-group select option:not(:first-child){color:#333}
.pp-login-fields p.login-username,
.pp-login-fields p.login-password{margin:0 0 14px !important;position:relative}
.pp-login-card input[type="text"],
.pp-login-card input[type="password"]{border:none !important;border-radius:12px !important;padding:14px 18px !important;width:100% !important;box-sizing:border-box !important;font-size:15px !important;background:#f0f0f3 !important;color:#333 !important;transition:background .2s,box-shadow .2s}
.pp-login-card input[type="text"]::placeholder,
.pp-login-card input[type="password"]::placeholder{color:#aaa}
.pp-login-card input[type="text"]:focus,
.pp-login-card input[type="password"]:focus{background:#e8e8ee !important;outline:none !important;box-shadow:0 0 0 3px rgba(26,26,46,.08) !important}
.pp-login-card .login-remember{display:none}
.pp-login-forgot{text-align:right;margin:8px 0 0;font-size:13px}
.pp-login-forgot a{color:#888;text-decoration:none;font-weight:500}
.pp-login-forgot a:hover{color:#111}
.pp-login-card p.login-submit{margin:0 !important}
.pp-login-card input[type="submit"]{width:100% !important;padding:14px !important;border:none !important;border-radius:12px !important;background:#1a1a2e !important;color:#fff !important;font-size:16px !important;font-weight:600 !important;cursor:pointer;transition:background .2s,transform .1s;letter-spacing:.3px}
.pp-login-card input[type="submit"]:hover{background:#2d2d4e !important;transform:translateY(-1px)}
.pp-login-card input[type="submit"]:active{transform:translateY(0)}
.pp-login-divider{text-align:center;margin:28px 0 20px;position:relative}
.pp-login-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:radial-gradient(circle,#ccc 0%,transparent 100%)}
.pp-login-divider span{background:#fff;padding:0 16px;position:relative;color:#aaa;font-size:12px;letter-spacing:.5px}
.pp-social-login{display:flex;justify-content:center;gap:12px;margin-bottom:8px}
.pp-login-register{text-align:center !important;margin:28px 0 0 0 !important;padding-top:20px !important;border-top:1px solid #f0f0f0 !important;color:#999 !important;font-size:14px !important}
.pp-login-register a{color:#1a1a2e !important;font-weight:600;text-decoration:none}
.pp-login-register a:hover{text-decoration:underline}
@media(max-width:480px){.pp-login-card{padding:32px 24px 28px !important;border-radius:18px !important}}

/* Contact page - white card style matching login */
.page-id-15 #contact{background:#fff !important;border-radius:24px !important;padding:48px 40px 40px !important;max-width:800px;margin:40px auto !important;box-shadow:0 12px 40px rgba(0,0,0,.12) !important}
.page-id-15 #contact h2{font-size:1.8rem;font-weight:700;margin-bottom:8px}
.page-id-15 #contact h3{font-size:1.2rem;font-weight:600;margin-bottom:12px}
.page-id-15 .entry-content{background:transparent !important}
