@import url('https://fonts.googleapis.com/css2?family=SF+Pro+Display:wght@400;500;700;900&family=Inter:wght@300;400;600;800&display=swap');

html { scroll-behavior: smooth; }

body {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    /* Apple 風格動態背景 */
    background: radial-gradient(circle at 0% 0%, #e0f2fe 0%, transparent 50%),
                radial-gradient(circle at 100% 0%, #ffe4e6 0%, transparent 50%),
                radial-gradient(circle at 100% 100%, #fef9c3 0%, transparent 50%),
                radial-gradient(circle at 0% 100%, #dcfce7 0%, transparent 50%),
                #f8fafc;
    background-attachment: fixed;
}

/* --- Glassmorphism Utilities --- */
.glass-panel {
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07);
}

.glass-nav {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.glass-card {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

/* --- Plan Radio (套餐選擇) --- */
.plan-radio:checked + .plan-card {
    border-color: rgba(249, 115, 22, 0.5);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 247, 237, 0.9));
    box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.1), 0 20px 25px -5px rgba(249, 115, 22, 0.15);
    transform: scale(1.01);
}

.plan-radio:checked + .plan-card .check-ring {
    border-color: #F97316;
    background-color: #F97316;
    color: white;
    box-shadow: 0 0 10px rgba(249, 115, 22, 0.4);
}

/* --- Gradient Text --- */
.price-gradient-text {
    background: linear-gradient(135deg, #FF3B30, #FF9500); /* Apple Style Red to Orange */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.brand-gradient-bg {
    background: linear-gradient(135deg, #FF3B30, #FF9500); /* Deep Black/Grey for Premium feel */
}

.cta-gradient-bg {
    background: linear-gradient(135deg, #F97316, #FB923C);
    box-shadow: 0 10px 20px rgba(249, 115, 22, 0.3);
}

/* --- SKU Radio (規格選擇) --- */
/* 文字 SKU */
.sku-radio:checked + div {
    border-color: #F97316;
    background-color: #fff;
    color: #F97316;
    box-shadow: 0 0 0 1px #F97316, 0 4px 12px rgba(249, 115, 22, 0.15);
}

/* 圖片 SKU */
.sku-radio:checked + div.sku-img-card {
    transform: translateY(-2px);
    border-color: #F97316;
    box-shadow: 0 0 0 2px #F97316, 0 8px 16px rgba(249, 115, 22, 0.2);
}
.sku-radio:checked + div.sku-img-card span {
    background-color: #F97316;
}

/* --- Delivery Radio (配送方式) --- */
input[name="delivery"]:checked + div {
    background: rgba(255, 255, 255, 0.9);
    border-color: #F97316;
    box-shadow: 0 0 0 1px #F97316, 0 4px 6px rgba(0,0,0,0.05);
}
input[name="delivery"]:checked + div .icon-box {
    background-color: #FFF7ED;
    color: #F97316;
}
input[name="delivery"]:checked + div span {
    color: #1F2937;
    font-weight: 700;
}

img { -webkit-user-drag: none; }

/* Animations */
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}
.animate-float { animation: float 6s ease-in-out infinite; }
        @keyframes stockFill {
            0% { width: 0%; opacity: 0; }
            100% { width: 85%; opacity: 1; }
        }

/* 为成功弹窗添加滚动效果 */
#success-modal .relative.w-full.max-w-sm {
    max-height: 90vh; /* 限制弹窗最大高度为视口的90% */
    overflow: hidden; /* 隐藏溢出部分 */
}

#success-modal .relative.bg-white\\/90 {
    max-height: 90vh; /* 弹窗内容最大高度 */
    display: flex;
    flex-direction: column; /* 垂直布局 */
}

#success-modal .p-2.pb-6 {
    flex-shrink: 0; /* 顶部内容不缩放 */
}

#success-modal .px-2.pb-8 {
    flex: 1; /* 中间内容区域自动填充剩余空间 */
    overflow-y: auto; /* 垂直滚动 */
    overflow-x: hidden; /* 隐藏水平滚动 */
    max-height: calc(90vh - 200px); /* 计算最大高度（减去顶部和底部高度） */
}

/* 自定义滚动条样式 */
#success-modal .px-2.pb-8::-webkit-scrollbar {
    width: 4px; /* 滚动条宽度 */
}

#success-modal .px-2.pb-8::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05); /* 滚动条轨道背景 */
    border-radius: 2px; /* 圆角 */
}

#success-modal .px-2.pb-8::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2); /* 滚动条滑块 */
    border-radius: 2px; /* 圆角 */
}

#success-modal .px-2.pb-8::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3); /* 悬停时颜色 */
}

/* 优化按钮位置 */
#success-modal button.w-full.mt-6 {
    flex-shrink: 0; /* 按钮不缩放 */
    margin-top: auto; /* 按钮自动靠底部 */
    position: sticky; /* 粘性定位 */
    bottom: 0; /* 底部对齐 */
    background: linear-gradient(135deg, #f97316, #ef4444, #a855f7); /* 保留原背景 */
    z-index: 10; /* 确保按钮在滚动内容之上 */
}

.detail-img img{
    width: 100% !important;
}
