/* Sampion Pets customer-only presentation, isolated from approved storefront. */
.woocommerce-account .woocommerce form .form-row input.input-text,.woocommerce-checkout .woocommerce form .form-row input.input-text,.woocommerce-account .woocommerce form select,.woocommerce-checkout .woocommerce form select,.sp-address-form input,.sp-address-form select{background:#fffdf9;border:1.5px solid #c5d6c9;border-radius:13px;min-height:48px;padding:11px 14px;color:#244d3b;box-shadow:none;transition:border-color .2s,box-shadow .2s;width:100%}
.woocommerce-account .woocommerce form .form-row input:focus,.woocommerce-checkout .woocommerce form .form-row input:focus,.sp-address-form input:focus{outline:none;border-color:#244d3b;box-shadow:0 0 0 3px #9bb89f55}
.woocommerce-checkout .woocommerce-checkout .col2-set,.woocommerce-account .woocommerce form,.sp-address-manager{background:#fff8ef;border:1px solid #e4e9dc;border-radius:20px;padding:clamp(16px,3vw,30px)}
.woocommerce-checkout h3,.sp-address-manager h2{color:#244d3b;font-family:Outfit,sans-serif}
.sp-checkout-addresses{background:#f3f7f0;padding:18px;border:1px solid #c5d6c9;border-radius:16px;margin:0 0 22px}.sp-checkout-addresses label{display:block;font-weight:700;color:#244d3b;margin-bottom:8px}.sp-checkout-addresses select{width:100%;padding:12px;border:1px solid #9bb89f;border-radius:10px}.sp-checkout-addresses .sp-save-address-label{font-weight:500;display:flex;gap:8px;align-items:center}.sp-address-hint{font-size:.9rem;color:#536c5d}
.sp-address-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.sp-address-card{background:white;border:1px solid #c5d6c9;border-radius:14px;padding:16px}.sp-address-card strong{color:#244d3b}.sp-add-address{margin-top:20px}.sp-add-address summary{cursor:pointer;font-weight:700;color:#244d3b}.sp-address-form{display:grid;gap:12px;margin-top:16px}.sp-address-form label{display:grid;gap:5px}.sp-validation{display:block;min-height:1.4em;font-size:.87rem;margin-top:5px}.sp-validation.sp-valid{color:#197347;font-weight:700}.sp-validation.sp-invalid{color:#b12c2c;font-weight:700}

/* Checkout Blocks: billing AND shipping; scoped to checkout only. */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout{--sp-checkout-green:#244d3b;--sp-checkout-cream:#fff8ef;color:#244d3b;font-family:'DM Sans',sans-serif}
body.woocommerce-checkout .wc-block-components-main .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper{background:#fff8ef;border:1px solid #e4e9dc;border-radius:20px;padding:clamp(16px,2.5vw,28px);margin-bottom:18px;box-shadow:0 6px 22px rgba(36,77,59,.035)}
body.woocommerce-checkout .wc-block-components-checkout-step__heading-title{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:750;color:#244d3b}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wc-block-components-textarea{background:#fffdf9!important;border:1.5px solid #c5d6c9!important;border-radius:13px!important;min-height:48px!important;color:#244d3b!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s!important}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout .wc-block-components-address-form input:focus{outline:2px solid #9bb89f!important;outline-offset:1px;border-color:#244d3b!important}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-checkout-step__description{color:#355b48!important}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{background:#244d3b!important;color:white!important;border-radius:100px!important;padding:14px 24px!important}
/* Independent illustrated faces with eyes and paws, not a bouncing logo. */
.sp-password-mascot{display:flex;flex-direction:column;align-items:center;gap:7px;background:#f3f7f0;border:1px solid #d5e3d4;border-radius:18px;padding:14px;margin:12px 0;color:#244d3b;font-size:.88rem;font-weight:650}
.sp-mascot-stage{display:flex;justify-content:center;align-items:end;gap:20px;height:96px;width:100%}.sp-mascot{position:relative;width:85px;height:90px;transform-origin:50% 80%;transition:transform .35s}.sp-mascot .sp-head{position:absolute;left:7px;top:15px;width:70px;height:70px;border:2px solid #244d3b;border-radius:42% 42% 48% 48%;background:#fff;z-index:2}.sp-cat .sp-head{background:#efab75}.sp-mascot .sp-ear{position:absolute;top:3px;width:29px;height:41px;background:#9bb89f;border:2px solid #244d3b;z-index:1}.sp-pup .sp-ear.left{left:0;border-radius:80% 15% 80% 60%;transform:rotate(-27deg)}.sp-pup .sp-ear.right{right:0;border-radius:15% 80% 60% 80%;transform:rotate(27deg)}.sp-cat .sp-ear{background:#efab75;width:29px;height:31px;top:4px}.sp-cat .sp-ear.left{left:7px;transform:rotate(-25deg);clip-path:polygon(0 0,100% 30%,65% 100%)}.sp-cat .sp-ear.right{right:7px;transform:rotate(25deg);clip-path:polygon(100% 0,0 30%,35% 100%)}.sp-eye{position:absolute;top:26px;width:8px;height:10px;background:#244d3b;border-radius:50%;transition:transform .2s,height .2s,top .2s}.sp-eye.left{left:17px}.sp-eye.right{right:17px}.sp-nose{position:absolute;left:30px;top:39px;width:9px;height:7px;background:#e37e74;border-radius:50%}.sp-mouth{position:absolute;left:30px;top:48px;width:11px;height:7px;border-bottom:2px solid #244d3b;border-radius:50%}.sp-paw{position:absolute;top:65px;width:23px;height:23px;border:2px solid #244d3b;border-radius:45%;background:#fff;z-index:5;transition:transform .35s,top .35s}.sp-cat .sp-paw{background:#efab75}.sp-paw.left{left:3px}.sp-paw.right{right:3px}
.sp-password-mascot[data-state=hide] .sp-paw{top:20px}.sp-password-mascot[data-state=hide] .sp-paw.left{transform:translateX(15px) rotate(-20deg)}.sp-password-mascot[data-state=hide] .sp-paw.right{transform:translateX(-15px) rotate(20deg)}.sp-password-mascot[data-state=hide] .sp-eye{height:2px}.sp-password-mascot[data-state=no] .sp-pup{animation:sp-face-no .55s ease 2}.sp-password-mascot[data-state=no] .sp-cat{animation:sp-face-no .55s ease .1s 2}.sp-password-mascot[data-state=yes] .sp-pup{animation:sp-face-yes .55s ease 2}.sp-password-mascot[data-state=yes] .sp-cat{animation:sp-face-yes .55s ease .12s 2}.sp-password-mascot[data-state=yes] .sp-mouth{height:12px;border-bottom-width:3px}.sp-password-mascot[data-state=strong] .sp-eye{transform:translateX(4px)}
@keyframes sp-face-no{0%,100%{transform:rotate(0)}25%{transform:rotate(-11deg)}75%{transform:rotate(11deg)}}@keyframes sp-face-yes{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(7px) rotate(3deg)}}@media(prefers-reduced-motion:reduce){.sp-mascot,.sp-mascot *{animation:none!important;transition:none!important}}
