* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--lp-color-surface); color: var(--lp-color-text); font-family: var(--lp-font-ui); font-size: var(--lp-text-base); line-height: var(--lp-line-body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
a { color: var(--lp-color-link); text-decoration: none; transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease; }
a:hover { color: var(--lp-color-link-hover); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1,h2,h3,h4,h5,p { margin-top: 0; }
h1,h2,h3,h4,h5 { color: var(--lp-color-heading); font-family: var(--lp-font-brand); font-weight: 700; line-height: 1.02; letter-spacing: .01em; text-transform: uppercase; }
h1 { font-size: var(--lp-h1); letter-spacing: -.012em; }
h2 { font-size: var(--lp-h2); }
h3 { font-size: var(--lp-h3); }
h4 { font-size: var(--lp-h4); }
p:last-child { margin-bottom: 0; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.lp-container { width: min(var(--lp-container), calc(100% - var(--lp-gutter))); margin-inline: auto; }
.lp-container--wide { width: min(var(--lp-container-wide), calc(100% - var(--lp-gutter))); margin-inline: auto; }
.lp-main { min-height: 55vh; background: var(--lp-color-surface); }
.lp-section { padding: var(--lp-section-y) 0; background: var(--lp-color-surface); }
.lp-section--soft { background: var(--lp-color-surface-soft); }
.lp-section + .lp-section { border-top: 1px solid rgba(217,228,222,.55); }
.lp-kicker { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .55rem; color: var(--lp-brand-accent); font-size: .78rem; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.lp-section-heading { max-width: 780px; margin-bottom: 1.75rem; }
.lp-section-heading h1,.lp-section-heading h2 { margin-bottom: .5rem; }
.lp-section-heading p { max-width: 690px; margin-bottom: 0; color: var(--lp-color-muted); font-size: .98rem; }
.lp-section-heading--split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.lp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.lp-centered-action { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 2rem; }

/* Buttons */
.lp-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wp-element-button,button[type="submit"],input[type="submit"] { min-height: 46px; padding: .75rem 1.2rem; border: 1px solid transparent; border-radius: var(--lp-radius-md); background: var(--lp-brand-primary); color: #fff; font-family: var(--lp-font-ui); font-size: .9rem; font-weight: 750; line-height: 1.2; text-align: center; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease; }
.lp-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.wp-element-button:hover,button[type="submit"]:hover,input[type="submit"]:hover { background: var(--lp-brand-dark); color: #fff; transform: translateY(-1px); box-shadow: var(--lp-shadow-soft); }
.lp-button--secondary { background: #fff; border-color: var(--lp-brand-primary); color: var(--lp-brand-primary); }
.lp-button--secondary:hover { background: var(--lp-color-surface-brand); color: var(--lp-brand-dark); }
.lp-button--highlight { background: var(--lp-brand-highlight); color: var(--lp-brand-dark); }
.lp-button--highlight:hover { background: var(--lp-brand-highlight-strong); color: var(--lp-brand-dark); }
.lp-button--ghost-light { border-color: rgba(255,255,255,.52); background: transparent; color: #fff; }
.lp-button--ghost-light:hover { border-color: #fff; background: rgba(255,255,255,.1); color: #fff; }
.lp-text-link { display: inline-flex; align-items: center; gap: .3rem; color: var(--lp-brand-accent); font-size: .9rem; font-weight: 750; }
.lp-text-link:hover { color: var(--lp-brand-primary); }

/* Forms: one visual contract for Woo + Core + Theme. */
.lp-main label,.woocommerce label,.livepets-support-area label,.livepets-b2b-application label { color: var(--lp-color-text); font-size: .88rem; font-weight: 650; }
.lp-main input[type="text"],.lp-main input[type="email"],.lp-main input[type="tel"],.lp-main input[type="number"],.lp-main input[type="password"],.lp-main input[type="search"],.lp-main input[type="url"],.lp-main input[type="file"],.lp-main select,.lp-main textarea,.woocommerce input.input-text,.woocommerce select,.woocommerce textarea { width: 100%; min-height: 46px; border: 1px solid var(--lp-color-border-strong); border-radius: var(--lp-radius-md); background: #fff; color: var(--lp-color-text); font-family: var(--lp-font-ui); font-size: .94rem; font-weight: 500; outline: 0; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.lp-main input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.lp-main select,.woocommerce input.input-text,.woocommerce select { padding: .72rem .85rem; }
.lp-main textarea,.woocommerce textarea { min-height: 132px; padding: .75rem .85rem; resize: vertical; }
.lp-main input[type="file"] { padding: .55rem; background: var(--lp-color-surface-soft); }
.lp-main input:focus,.lp-main select:focus,.lp-main textarea:focus,.woocommerce input.input-text:focus,.woocommerce select:focus,.woocommerce textarea:focus { border-color: var(--lp-brand-accent); box-shadow: var(--lp-focus-ring); }
.lp-main input[type="checkbox"],.lp-main input[type="radio"] { accent-color: var(--lp-brand-primary); }
.lp-main fieldset,.woocommerce fieldset { margin: 1.35rem 0; padding: 1.15rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-lg); background: var(--lp-color-surface-soft); }
.lp-main legend,.woocommerce legend { padding: 0 .45rem; color: var(--lp-brand-primary); font-family: var(--lp-font-brand); font-size: 1.3rem; font-weight: 700; text-transform: uppercase; }

/* Notices */
.woocommerce-error,.woocommerce-info,.woocommerce-message,.livepets-account-notice,.livepets-form-errors { margin: 0 0 1.15rem; padding: .95rem 1rem; border: 1px solid var(--lp-color-border); border-left: 4px solid var(--lp-brand-primary); border-radius: var(--lp-radius-md); background: var(--lp-color-surface-brand); color: var(--lp-color-text); font-size: .9rem; line-height: 1.5; }
.woocommerce-error,.livepets-form-errors,.livepets-account-notice.is-error { border-left-color: var(--lp-color-danger); background: var(--lp-color-danger-soft); color: var(--lp-color-danger-text); }
.woocommerce-message { border-left-color: var(--lp-color-success); background: var(--lp-color-success-soft); }
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before { color: inherit; }

/* Tables */
.lp-main table,.woocommerce table.shop_table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-lg); overflow: hidden; background: #fff; font-size: .9rem; }
.lp-main table th,.lp-main table td,.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding: .85rem 1rem; border: 0; border-bottom: 1px solid var(--lp-color-border); text-align: left; }
.lp-main table th,.woocommerce table.shop_table th { background: var(--lp-color-surface-soft); color: var(--lp-brand-primary); font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.lp-main table tr:last-child td,.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul,.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin: 2.25rem 0 0; padding: 0; border: 0; list-style: none; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span,.nav-links .page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 .65rem; border: 1px solid var(--lp-color-border); border-radius: var(--lp-radius-md); background: #fff; color: var(--lp-brand-primary); font-size: .84rem; font-weight: 750; }
.woocommerce nav.woocommerce-pagination ul li span.current,.nav-links .page-numbers.current,.woocommerce nav.woocommerce-pagination ul li a:hover,.nav-links a.page-numbers:hover { border-color: var(--lp-brand-primary); background: var(--lp-brand-primary); color: #fff; }
/* Checkbox/radio primitives were still browser-native in Core/Woo forms. */
.lp-main input[type="checkbox"],
.lp-main input[type="radio"],
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] { width: 18px; height: 18px; margin: 0 .42rem 0 0; accent-color: var(--lp-brand-primary); vertical-align: -3px; }
.required { color: var(--lp-color-danger); }

/* alpha.16 — Woo notices keep the action at the far edge on desktop. */
.woocommerce-message,.woocommerce-info,.woocommerce-error{position:relative}
.woocommerce-message:has(.button),.woocommerce-info:has(.button){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem 1.5rem}
.woocommerce-message .button,.woocommerce-info .button{float:none!important;justify-self:end;margin:0!important;white-space:nowrap}
@media(max-width:700px){.woocommerce-message:has(.button),.woocommerce-info:has(.button){grid-template-columns:1fr}.woocommerce-message .button,.woocommerce-info .button{justify-self:start}}
