/*
 * PAWMELO 独立站购物模块样式（window.PetShop：登录弹窗 / Toast / 购物车按钮与抽屉 / 运费行）。
 * 沿用站点绿色调：#b4e598（青柠）/ #0b1512（深绿底）/ #eff7ed（浅字）。
 * 挂载在 body 下（由 pet-shop.js 创建），故使用不带作用域的 .petshop-* 类名。
 */

/* ---- 购物车按钮（小推车图标 + 计数角标；随背景亮度自适应配色） ---- */
/* ---- 左下角浮动容器：小推车 + 汇总卡（全站共用） ---- */
.petshop-float{position:fixed;left:24px;bottom:24px;z-index:10000;display:flex;flex-direction:row;align-items:flex-end;gap:10px;max-width:min(420px,calc(100vw - 48px));touch-action:none;-webkit-user-select:none;user-select:none}
.petshop-float.is-dragging{cursor:grabbing}
.petshop-cart{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid rgba(21,38,26,.22);border-radius:50%;background:#b4e598;color:#15261a;box-shadow:0 12px 30px rgba(0,0,0,.24);cursor:pointer;transition:transform .2s ease,background .25s ease,color .25s ease,border-color .25s ease}
.petshop-summary{flex:0 1 auto;min-width:0;max-width:420px;overflow:hidden;display:flex;align-items:center;gap:14px;padding:11px 15px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(18,30,24,.55);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 16px 40px rgba(0,0,0,.35);color:#eaf4e6;cursor:pointer;transition:border-color .2s ease,background .2s ease,max-width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .26s ease,transform .3s cubic-bezier(.4,0,.2,1),border-width .3s ease}
/* 购物车抽屉打开：汇总卡收成 0 宽并淡出，只留小推车；关闭时反向展开 */
.petshop-float.is-cart-open .petshop-summary{max-width:0;padding-left:0;padding-right:0;border-width:0;opacity:0;transform:translateX(-6px);pointer-events:none}
.petshop-summary:hover{border-color:rgba(255,255,255,.32)}
/* 两行：上排「件数 + 总价」（主视觉），下排「预估运费」 */
.petshop-summary-left{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:12px}
.petshop-summary-main{display:flex;align-items:baseline;gap:9px;min-width:0}
.petshop-summary-count{white-space:nowrap;color:#c7d6c8;font-size:12px}
.petshop-summary-total{font-size:17px;font-weight:700;white-space:nowrap;color:#eaffd9}
.petshop-summary-freight{color:#9daf9f;font-size:11px;white-space:nowrap}
.petshop-summary-freight:empty{display:none}
.petshop-summary-toggle{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#d8e7d6;font-size:14px;line-height:1;cursor:pointer;transition:background .2s ease}
.petshop-summary-toggle:hover{background:rgba(255,255,255,.24)}
/* 折叠后只留商品总价（隐藏件数与运费），保持一眼能看到金额 */
.petshop-summary.is-collapsed .petshop-summary-count,
.petshop-summary.is-collapsed .petshop-summary-freight{display:none}
.petshop-summary.is-collapsed .petshop-summary-main{gap:0}
.petshop-cart:hover{transform:translateY(-2px)}
.petshop-cart-icon{width:25px;height:25px;display:block}
.petshop-cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#173021;color:#eaffd9;font:700 11px/20px Inter,system-ui,sans-serif;text-align:center}
@keyframes petshopBump{0%{transform:scale(1)}40%{transform:scale(1.4)}100%{transform:scale(1)}}
.petshop-cart-count.is-bump{animation:petshopBump .42s ease}
@keyframes petshopShrink{0%{transform:scale(1);opacity:1}35%{transform:scale(.8);opacity:.65}100%{transform:scale(1);opacity:1}}
.petshop-cart.is-shrink{animation:petshopShrink .4s ease}
/* 落在深色背景上：切成浅色描边玻璃，图标随之变白 */
.petshop-cart.is-on-dark{background:rgba(255,255,255,.16);color:#f4fff0;border-color:rgba(255,255,255,.5);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.petshop-cart.is-on-dark .petshop-cart-count{background:#f4fff0;color:#15261a}

/* ---- 抽屉 ---- */
/* 抽屉：层级必须高于合规页脚（legal-footer.js 用的是 9999） */
.petshop-drawer{position:fixed;z-index:10010;top:0;right:0;width:min(460px,100vw);height:100dvh;display:flex;flex-direction:column;transform:translateX(101%);background:#0b1512;color:#eff7ed;box-shadow:-30px 0 80px rgba(0,0,0,.42);transition:transform .28s ease;font-family:Inter,system-ui,sans-serif}
.petshop-drawer.is-open{transform:translateX(0)}
.petshop-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:28px;border-bottom:1px solid rgba(226,242,224,.13)}
.petshop-drawer-head strong{font:38px/1 Georgia,serif;letter-spacing:-.04em}
.petshop-drawer-head button{border:0;background:transparent;color:#dce9d8;font:700 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;opacity:.8}
.petshop-drawer-head button:hover{opacity:1}
.petshop-drawer-items{overflow:auto;flex:1;padding:12px 28px}
.petshop-empty{color:#9daf9f;font-size:13px;padding:20px 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.petshop-empty p{margin:0}
.petshop-empty button{border:1px solid rgba(180,229,152,.42);border-radius:999px;background:transparent;color:#b4e598;padding:9px 16px;font:700 11px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}
.petshop-empty button:hover{background:#b4e598;color:#15261a}
.petshop-line{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:12px;padding:16px 0;border-bottom:1px solid rgba(226,242,224,.1)}
.petshop-line-img{width:68px;height:68px;border-radius:12px;object-fit:cover;background:#1c2923;grid-row:span 2}
.petshop-line-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.petshop-line-name{font-size:13px;overflow-wrap:anywhere}
.petshop-line-spec{color:#9daf9f;font-size:11px}
.petshop-line-price{color:#c9edb6;font-size:12px}
.petshop-line-qty{display:inline-flex;align-items:center;gap:8px;margin-top:4px}
.petshop-line-qty button{width:36px;height:36px;border:1px solid rgba(226,242,224,.25);border-radius:8px;background:transparent;color:inherit;line-height:1;cursor:pointer;font-size:16px}
.petshop-line-qty button:hover{background:#b4e598;color:#15261a;border-color:#b4e598}
.petshop-line-qty span{min-width:18px;text-align:center;font-size:13px}
.petshop-line-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px;text-align:right}
.petshop-line-right strong{font-size:13px;color:#eaffd9}
.petshop-line-del{border:0;background:transparent;color:#a5d4b0;font-size:11px;letter-spacing:.06em;text-decoration:underline;cursor:pointer;padding:0}
.petshop-drawer-foot{border-top:1px solid rgba(226,242,224,.13);padding:18px 28px calc(26px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
.petshop-drawer-freight{font-size:12px;color:#a5d4b0}
.petshop-drawer-freight.is-link{cursor:pointer;color:#b4e598;text-decoration:underline;text-underline-offset:2px}
.petshop-drawer-freight.is-link:hover{color:#d6f3c0}
.petshop-drawer-total{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.08em;color:#9daf9f}
.petshop-drawer-total strong{font-size:20px;color:#eaffd9}
.petshop-drawer-actions{display:flex;gap:10px}
.petshop-btn-ghost{flex:0 0 auto;border:1px solid rgba(226,242,224,.3);border-radius:999px;background:transparent;color:#dce9d8;padding:12px 16px;font:700 11px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.petshop-btn-ghost:hover{background:rgba(226,242,224,.08)}
.petshop-checkout{flex:1;border:0;border-radius:999px;background:#b4e598;color:#15261a;padding:12px 16px;font:700 12px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.petshop-checkout:hover{background:#c6f0ad}

/* ---- Toast ---- */
#pet-shop-toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%,150%);z-index:10030;background:#14351c;color:#effdf0;padding:12px 20px;border:1px solid rgba(180,229,152,.35);border-radius:999px;font:600 13px/1.2 Inter,system-ui,sans-serif;box-shadow:0 14px 34px rgba(0,0,0,.34);opacity:0;pointer-events:none;transition:transform .28s ease,opacity .28s ease}
#pet-shop-toast.is-visible{transform:translate(-50%,0);opacity:1}

/* ---- 登录弹窗 ---- */
.petshop-login-mask{position:fixed;inset:0;z-index:10020;background:rgba(6,16,10,.62);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.petshop-login-mask.is-visible{opacity:1;pointer-events:auto}
.petshop-login-card{position:relative;width:min(430px,100%);background:#0f1f17;color:#eff7ed;border:1px solid rgba(180,229,152,.22);border-radius:20px;padding:36px 30px 26px;box-shadow:0 30px 80px rgba(0,0,0,.5);font-family:Inter,system-ui,sans-serif}
.petshop-login-close{position:absolute;top:10px;right:14px;border:0;background:transparent;color:#a5d4b0;font-size:26px;line-height:1;cursor:pointer}
.petshop-login-kicker{color:#a5d4b0;font:700 10px/1 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.petshop-login-title{margin:10px 0 6px;font:30px/1.05 Georgia,serif;letter-spacing:-.02em;color:#effdf0}
.petshop-login-sub{margin:0 0 18px;color:#9daf9f;font-size:13px;line-height:1.5}
.petshop-login-form{display:flex;flex-direction:column;gap:6px}
.petshop-login-label{margin-top:8px;color:#a5d4b0;font:700 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.petshop-login-input{border:1px solid rgba(180,229,152,.28);border-radius:10px;background:#0b1512;color:#eff7ed;padding:12px 13px;font:inherit;font-size:14px;outline:none}
.petshop-login-input:focus{border-color:#b4e598}
.petshop-login-agree{display:flex;align-items:flex-start;gap:8px;margin:14px 0 4px;color:#c9dcc6;font-size:12px;line-height:1.45}
.petshop-login-agree input{margin-top:2px}
.petshop-login-error{background:rgba(200,70,60,.14);color:#ffb3aa;border-left:3px solid #c8463c;border-radius:6px;padding:9px 11px;font-size:12px}
.petshop-login-submit{margin-top:12px;border:0;border-radius:999px;background:#b4e598;color:#15261a;padding:14px 16px;font:700 12px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.petshop-login-submit:hover{background:#c6f0ad}
.petshop-login-submit:disabled{opacity:.6;cursor:default}
.petshop-login-links{display:flex;justify-content:space-between;margin-top:16px;font-size:12px}
.petshop-login-links a{color:#a5d4b0}

@media (max-width:520px){
  .petshop-drawer-head,.petshop-drawer-items,.petshop-drawer-foot{padding-left:18px;padding-right:18px}
  .petshop-login-card{padding:30px 22px 22px}
  .petshop-float{left:16px;bottom:16px;max-width:calc(100vw - 32px)}
}

/* ---- 登录框协议链接 + 协议弹层 ---- */
.petshop-login-agree span{flex:1}
.petshop-policy-link{background:none;border:0;padding:0;margin:0;font:inherit;color:#b4e598;text-decoration:underline;cursor:pointer}
.petshop-policy-link:hover{color:#d6f3c0}
.petshop-policy-mask{position:fixed;inset:0;z-index:10020;background:rgba(6,16,10,.66);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s ease}
.petshop-policy-mask.is-visible{opacity:1;pointer-events:auto}
.petshop-policy-card{display:flex;flex-direction:column;width:min(760px,94vw);max-height:82vh;background:#0f1f17;color:#e6f0e4;border:1px solid rgba(180,229,152,.22);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);font-family:Inter,system-ui,sans-serif}
.petshop-policy-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(180,229,152,.16)}
.petshop-policy-title{font-size:15px;color:#effdf0}
.petshop-policy-close{background:none;border:0;font-size:26px;line-height:1;color:#a5d4b0;cursor:pointer}
.petshop-policy-body{padding:18px 22px;overflow-y:auto;line-height:1.8;font-size:14px}
.petshop-policy-body h1,.petshop-policy-body h2,.petshop-policy-body h3{line-height:1.4;margin:1rem 0 .5rem;color:#effdf0}
.petshop-policy-body a{color:#b4e598}
.petshop-policy-hint{color:#9daf9f}

/* ---- 清空购物车确认层（盖住整个抽屉） ---- */
.petshop-confirm-mask{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(6,16,10,.62);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease}
.petshop-confirm-mask.is-visible{opacity:1;pointer-events:auto}
.petshop-confirm-card{width:100%;max-width:340px;padding:26px 24px;border-radius:18px;background:#0f1f17;border:1px solid rgba(180,229,152,.24);color:#eff7ed;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.petshop-confirm-card h3{margin:0 0 8px;font:22px/1.2 Georgia,serif;color:#effdf0}
.petshop-confirm-card p{margin:0 0 20px;font-size:13px;line-height:1.55;color:#9daf9f}
.petshop-confirm-actions{display:flex;gap:10px;justify-content:flex-end}
.petshop-confirm-danger{border:1px solid #c8463c;border-radius:999px;background:#c8463c;color:#fff;padding:11px 16px;font:700 11px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s ease}
.petshop-confirm-danger:hover:not(:disabled){background:#a8382f}
.petshop-confirm-danger:disabled{opacity:.6;cursor:not-allowed}

/* ---- 账号入口（登录 / 退出） ---- */
#petshop-account{position:fixed;top:18px;right:22px;z-index:10000;display:inline-flex;align-items:center;gap:8px;max-width:min(260px,68vw);padding:5px 6px 5px 14px;border-radius:999px;background:#b4e598;color:#15261a;border:1px solid #c6f0ad;box-shadow:0 8px 22px rgba(0,0,0,.25);font:700 12px/1 Inter,system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap;transition:background-color .32s ease,color .32s ease,border-color .32s ease,box-shadow .32s ease}
#petshop-account .petshop-account-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#petshop-account .petshop-account-btn{border:1px solid rgba(21,38,26,.35);border-radius:999px;background:transparent;color:#15261a;padding:6px 11px;font:inherit;cursor:pointer;transition:background .2s ease,color .2s ease}
#petshop-account .petshop-account-btn:hover{background:#15261a;color:#b4e598}

/* 浮动容器 / Toast 让开 iPhone 底部安全区 */
.petshop-float{bottom:calc(24px + env(safe-area-inset-bottom))}
#pet-shop-toast{bottom:calc(34px + env(safe-area-inset-bottom))}
@media (max-width:520px){
  .petshop-float{left:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
}

/* ---- 账号胶囊跟随背景：深绿/黑 → 玻璃；紫色区块 → 紫系 ---- */
#petshop-account.is-on-dark{
  background:rgba(18,30,24,.55);
  color:#eaf4e6;
  border-color:rgba(255,255,255,.32);
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
}
#petshop-account.is-on-dark .petshop-account-btn{border-color:rgba(255,255,255,.32);color:#eaf4e6}
#petshop-account.is-on-dark .petshop-account-btn:hover{background:#b4e598;color:#15261a;border-color:#b4e598}

#petshop-account.is-on-purple{
  background:rgba(59,7,100,.5);
  color:#e9d5ff;
  border-color:rgba(168,85,247,.55);
  box-shadow:0 8px 24px rgba(88,28,135,.35);
  backdrop-filter:blur(12px) saturate(140%);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
}
#petshop-account.is-on-purple .petshop-account-btn{border-color:rgba(233,213,255,.4);color:#e9d5ff}
#petshop-account.is-on-purple .petshop-account-btn:hover{background:#a855f7;color:#1b0b2e;border-color:#a855f7}
