/* Westie Puppies For Home — global design tokens & components */
:root{
  --wpfh-primary:#C2410C; --wpfh-primary-hover:#9A3412; --wpfh-primary-active:#7C2D12; --wpfh-primary-tint:#FDF1E7;
  --wpfh-secondary:#D4A373; --wpfh-secondary-tint:#F6EADB; --wpfh-tertiary:#4D7C2F; --wpfh-tertiary-tint:#EAF1E2;
  --wpfh-bg:#FFFBF5; --wpfh-surface:#FFFFFF; --wpfh-warm:#FBF4EA; --wpfh-deep:#2B2522;
  --wpfh-ink:#1F1A17; --wpfh-ink-soft:#46403B; --wpfh-muted:#6B645E; --wpfh-border:#ECE6DD; --wpfh-border-strong:#DCD3C7;
  --wpfh-font-head:'Lora',Georgia,serif; --wpfh-font-body:'Open Sans',system-ui,sans-serif;
}
body{background:var(--wpfh-bg);font-family:var(--wpfh-font-body);color:var(--wpfh-ink-soft);}
h1,h2,h3,h4,.elementor-heading-title{font-family:var(--wpfh-font-head);color:var(--wpfh-ink);line-height:1.18;font-weight:600;}
body .elementor-widget-text-editor{font-family:var(--wpfh-font-body);}
.elementor-button{border-radius:9999px!important;font-weight:700;}
.elementor-accordion .elementor-tab-title,.e-n-accordion-item-title{font-family:var(--wpfh-font-head);}

/* overline utility (add class wpfh-overline to a heading widget) */
.wpfh-overline .elementor-heading-title{font-family:var(--wpfh-font-body);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7C2D12!important;}

/* buttons rendered by shortcodes */
.wpfh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--wpfh-font-body);font-weight:700;font-size:15px;line-height:1;padding:13px 22px;border-radius:9999px;border:2px solid transparent;text-decoration:none;transition:all .18s ease;}
.wpfh-btn.primary{background:var(--wpfh-primary);color:#fff;}
.wpfh-btn.primary:hover{background:var(--wpfh-primary-hover);color:#fff;transform:translateY(-2px);}
.wpfh-btn.secondary{background:var(--wpfh-surface);color:var(--wpfh-primary-active);border-color:var(--wpfh-border-strong);}
.wpfh-btn.secondary:hover{border-color:var(--wpfh-primary);color:var(--wpfh-primary);transform:translateY(-2px);}
.wpfh-btn.lg{font-size:17px;padding:17px 30px;}

/* puppy grid */
.wpfh-puppy-grid{display:grid;gap:24px;grid-template-columns:1fr;}
@media(min-width:600px){.wpfh-puppy-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:980px){.wpfh-puppy-grid.wpfh-cols-4{grid-template-columns:repeat(4,1fr);}.wpfh-puppy-grid.wpfh-cols-3{grid-template-columns:repeat(3,1fr);}}
.wpfh-puppy-card{background:var(--wpfh-surface);border:1px solid var(--wpfh-border);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease;}
.wpfh-puppy-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(60,42,28,.12);}
.wpfh-puppy-photo{position:relative;display:block;aspect-ratio:4/3.4;background:var(--wpfh-secondary-tint);overflow:hidden;}
.wpfh-puppy-photo img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease;display:block;}
.wpfh-puppy-card:hover .wpfh-puppy-photo img{transform:scale(1.05);}
.wpfh-tag{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:9999px;color:#fff;display:inline-flex;align-items:center;gap:5px;}
.wpfh-tag svg{width:13px;height:13px;}
.wpfh-tag.male{background:var(--wpfh-tertiary);}
.wpfh-tag.female{background:var(--wpfh-primary);}
.wpfh-tag.status{top:auto;bottom:14px;background:rgba(43,37,34,.82);}
.wpfh-puppy-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.wpfh-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.wpfh-name-row h3{font-size:1.35rem;margin:0;font-family:var(--wpfh-font-head);}
.wpfh-name-row h3 a{color:var(--wpfh-ink);text-decoration:none;}
.wpfh-name-row h3 a:hover{color:var(--wpfh-primary);}
.wpfh-gender{font-size:13px;font-weight:600;color:var(--wpfh-muted);}
.wpfh-desc{font-size:15px;color:var(--wpfh-muted);margin:0;flex:1;}
.wpfh-meta{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px dashed var(--wpfh-border-strong);}
.wpfh-mi{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--wpfh-ink-soft);}
.wpfh-mi svg{width:16px;height:16px;color:var(--wpfh-secondary);flex:none;}
.wpfh-mi.wpfh-price{font-weight:700;color:var(--wpfh-primary-active);}
.wpfh-actions{display:flex;gap:10px;margin-top:8px;}
.wpfh-actions .wpfh-btn{flex:1;}
.wpfh-empty{text-align:center;color:var(--wpfh-muted);font-size:1.05rem;padding:32px;}

/* single puppy custom-field rows */
.wpfh-single-facts .xpro-cf-wrapper{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed var(--wpfh-border-strong);}
.wpfh-single-facts .xpro-element-custom-field-label{font-weight:700;color:var(--wpfh-ink);margin-right:4px;}
.wpfh-single-facts .xpro-element-custom-field{color:var(--wpfh-ink-soft);}

/* xpro theme-builder header tweaks */
.xpro-theme-builder-header{position:sticky;top:0;z-index:100;}
