/* =========================================================
   Design Tokens / Theme Variables
   全站颜色、主题变量
   ========================================================= */
:root{
    --bg0:#f6f7fb;
    --bg1:#ffffff;
    --card:#ffffff;
    --line:#e5e7eb;
    --text:#111827;
    --muted:#6b7280;
    --accent:#2563eb;
    --accent2:#14b8a6;
}

/* =========================================================
   Base / Global
   全局基础样式
   ========================================================= */
html, body{
    height:100%;
}
body{
    background:var(--bg1);
    color:var(--text);
    font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
}
a{
    color:inherit;
}
a:hover{
    color:var(--accent);
}

/* =========================================================
   Page Background Layer
   固定背景层（防止随页面高度重复）
   ========================================================= */
.page-bg{
    position:fixed;
    inset:0;
    z-index:-1;
    background:
            radial-gradient(900px 420px at 15% 8%, rgba(37,99,235,.10), transparent 60%),
            radial-gradient(900px 420px at 90% 22%, rgba(20,184,166,.08), transparent 60%),
            linear-gradient(180deg,var(--bg0),var(--bg1));
}

/* =========================================================
   Navbar
   顶部导航栏
   ========================================================= */
.navbar{
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
}
.navbar .navbar-brand{
    font-weight:800;
    letter-spacing:.2px;
    line-height:38px;
}
img.sizuya{
    width:38px;
    height:38px;
}
.navbar .nav-link{
    color:rgba(17,24,39,.80)!important;
    font-weight:600;
}
.navbar .nav-link.active,
.navbar .nav-link:hover{
    color:var(--accent)!important;
}

/* =========================================================
   Hero Section
   首页 Hero 区域
   ========================================================= */
.hero{
    padding:3.5rem 0 2.25rem 0;
}
.hero h1{
    font-weight:900;
    letter-spacing:.2px;
    line-height:1.08;
}
.hero .lead{
    color:var(--muted);
    max-width:54ch;
}
.hero .badge-glow{
    background:rgba(37,99,235,.08);
    border:1px solid rgba(37,99,235,.20);
    color:rgba(17,24,39,.85);
    font-weight:700;
}

/* =========================================================
   Tech Background Grid
   科技感背景纹理（可选装饰）
   ========================================================= */
.tech{
    position:relative;
}
.tech:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
            linear-gradient(rgba(17,24,39,.04) 1px, transparent 1px),
            linear-gradient(90deg, rgba(17,24,39,.04) 1px, transparent 1px);
    background-size:32px 32px;
    mask-image:radial-gradient(closest-side at 50% 25%, rgba(0,0,0,.9), rgba(0,0,0,0));
    opacity:.9;
}

/* =========================================================
   Card / Container Components
   通用卡片容器
   ========================================================= */
.tech-card{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 12px 30px rgba(17,24,39,.06);
}
.small-muted{
    color:var(--muted);
    font-size:.92rem;
}

/* =========================================================
   Price / Amount Display
   价格显示样式
   ========================================================= */
.price{
    font-weight:900;
    letter-spacing:.2px;
}
.price .amt{
    background:linear-gradient(135deg,var(--accent),var(--accent2));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

/* =========================================================
   Buttons
   按钮样式
   ========================================================= */
.btn-accent{
    background:var(--accent);
    border-color:var(--accent);
    font-weight:800;
    border-radius:999px;
    box-shadow:0 10px 24px rgba(37,99,235,.18);
    color:#FFF;
}
.btn-accent:hover{
    filter:brightness(.96);
}
.btn-outline-light{
    color:var(--accent)!important;
    border-color:rgba(37,99,235,.35)!important;
    border-radius:999px;
    font-weight:800;
    background:rgba(255,255,255,.7)!important;
}
.btn-outline-light:hover{
    background:rgba(37,99,235,.06)!important;
}

/* =========================================================
   Tables
   表格样式
   ========================================================= */
.table{
    color:var(--text);
}
.table thead th{
    color:rgba(17,24,39,.80);
    border-bottom:1px solid var(--line)!important;
}
.table td,
.table th{
    border-color:var(--line)!important;
}

/* =========================================================
   Carousel
   房源图片轮播
   ========================================================= */
.carousel{
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:0 14px 34px rgba(17,24,39,.08);
}
.carousel-control-prev-icon,
.carousel-control-next-icon{
    background-color:rgba(255,255,255,.85);
    border-radius:999px;
    box-shadow:0 10px 22px rgba(17,24,39,.10);
    width:3rem;
    height:3rem;
    background-size:60% 60%;
}

/* =========================================================
   Badges
   标签徽章
   ========================================================= */
.badge{
    border-radius:999px;
}
.badge-glow{
    background:rgba(20,184,166,.10);
    border:1px solid rgba(20,184,166,.20);
    color:rgba(17,24,39,.85);
    font-weight:700;
}

/* =========================================================
   Step Indicator
   步骤指示器（1 / 2 / 3）
   ========================================================= */
.step{
    display:flex;
    align-items:center;
    gap:.75rem;
}
.step .n{
    width:34px;
    height:34px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(37,99,235,.25);
    background:rgba(37,99,235,.06);
    box-shadow:0 10px 22px rgba(37,99,235,.10);
    font-weight:900;
}

/* =========================================================
   Footer
   页脚
   ========================================================= */
.footer{
    border-top:1px solid var(--line);
    color:var(--muted);
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(10px);
    line-height:40px;
}
.footer a{
    text-decoration:none;
}
.footer .container {
    justify-content: center !important;
    text-align: center;
}
/* =========================================================
   flatpickr Fix
   日期控件修正
   ========================================================= */
.flatpickr-calendar .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-next-month{
    width:28px;
    height:28px;
    padding:0;
}
.flatpickr-calendar .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-next-month svg{
    width:14px;
    height:14px;
}
.flatpickr-calendar .flatpickr-prev-month:hover,
.flatpickr-calendar .flatpickr-next-month:hover{
    background:rgba(0,0,0,.05);
}

/* =========================================================
   图片加载交占位
   ========================================================= */
.cover-img {
    width: 100%;
    aspect-ratio: 14 / 9;
    object-fit: cover;
    display: block;
    background-color: #1a1a1a;
}

/* =========================================================
   intl-tel-input
   电话输入框基础修正
   ========================================================= */
.iti, .iti input{
    width:100%;
}

.serial {
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#eef2ff;
    color:#1d4ed8;
    font-weight:700;
}

/* 加载状态 */
.btn-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 6px;
    vertical-align: middle;
    border: 2px solid rgba(255,255,255,.6);
    border-top-color: #333;
    border-radius: 50%;
    animation: btn-spin 0.8s linear infinite;
}
@keyframes btn-spin {
    to {
        transform: rotate(360deg);
    }
}