    /* ====== Base reset ====== */
    :root{
      --bg:#f5f0e6; /* cream */
      --panel:#fff;
      --dark:#0b0b0b;
      --muted:#6b655e;
      --gold:#c49b26; /* luxury gold */
      --accent: rgba(196,155,38,0.08);
      --container:1200px;
      --radius:14px;
    }
    *{box-sizing:border-box}
    html{
      height:100%;
      width:100%;
      overflow-x:hidden;
      -webkit-text-size-adjust:100%;
    }
    body{
      margin:0;
      height:100%;
      width:100%;
      overflow-x:hidden;
      position:relative;
      font-family:'Vazirmatn', 'Cairo', Roboto, system-ui, -apple-system, 'Segoe UI', Arial;
      background:linear-gradient(180deg,var(--bg) 0%, #efe9dd 100%);
      color:var(--dark);
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      -webkit-text-size-adjust:100%;
    }
    a{color:inherit}
    img{display:block;max-width:100%;height:auto}

    /* ====== Layout ======
       Tailwind CDN هم کلاس .container داره (با media-queryهای خودش).
       این قانون با specificity و !important روی max-width جلوی
       محدود شدن عرض به ۷۶۸/۱۰۲۴ رو می‌گیره تا هدر و main همیشه یکی باشن. */
    .container{
      width:100% !important;
      max-width:var(--container) !important;
      margin-left:auto;
      margin-right:auto;
      padding-left:1.25rem;
      padding-right:1.25rem;
      box-sizing:border-box;
    }

    /* ====== Topbar / Header ======
       هدر با Tailwind ساخته می‌شه (داخل includes/header.php)، اینجا نیازی نیست. */

    /* ===== Hero ===== */
    .hero{min-height:460px;display:flex;align-items:center}
    .hero-inner{display:flex;gap:30px;align-items:center;width:100%}
    .hero-left{flex:1}
    .hero h1{font-size:36px;color:var(--dark);margin-bottom:10px}
    .hero p{color:var(--muted);line-height:1.7;font-size:16px}
    .hero-card{flex:1;background:linear-gradient(180deg, #fff 0%, #f9f7f5 100%);border-radius:18px;padding:24px;box-shadow:0 20px 60px rgba(2,2,2,0.06)}
    .hero-card .meta{display:flex;gap:10px;align-items:center;margin-bottom:12px}
    .badge{background:var(--gold);color:#000;padding:6px 10px;border-radius:8px;font-weight:700}

    /* ===== Sections ===== */
    section{
      background:var(--panel);
      border-radius:var(--radius);
      padding:28px;
      margin:28px 0;
      box-shadow:0 12px 30px rgba(2,2,2,0.04);
      border:1px solid rgba(11,11,11,0.02);
      max-width:100%;
      overflow-x:hidden; /* جلوگیری از اسکرول افقی ناشی از محتوای داخل سکشن */
    }
    h2.section-title{color:var(--gold);margin-bottom:12px;font-size:22px;overflow-wrap:anywhere}
    .lead{color:var(--muted);line-height:1.8;overflow-wrap:anywhere}

    .grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
    .card-img{height:220px;border-radius:12px;overflow:hidden;background:#eee;display:flex;align-items:center;justify-content:center;color:#777}

    /* contact */
    .contact-form{display:flex;flex-direction:column;gap:10px}
    .contact-form input,.contact-form textarea{padding:12px;border-radius:8px;border:1px solid rgba(11,11,11,0.06)}
    .btn{background:var(--gold);border:0;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer}

    @media(max-width:768px){
        .grid{ grid-template-columns:1fr; }
        .hero-inner{ flex-direction:column; }
    }

    /* small helper the mobile menu (Tailwind) still relies on */
    .mobile-link:last-child{ border-bottom-width:0; }

    /* ===== Animations: fade-in & reveal ===== */
    .reveal{opacity:0;transform:translateY(16px);transition:all 700ms cubic-bezier(.16,.84,.29,1)}
    .reveal.visible{opacity:1;transform:none}

    /* small helpers */
    .muted{color:var(--muted)}
    .socials{display:flex;gap:12px;align-items:center}

    /* ===== Preloader ===== */
    #preloader {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: var(--bg);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 9999;
      transition: opacity 0.5s ease;
    }
    #preloader.fade-out {
      opacity: 0;
      pointer-events: none;
    }
    .spinner {
      border: 4px solid rgba(0, 0, 0, 0.1);
      border-top: 4px solid var(--gold);
      border-radius: 50%;
      width: 40px;
      height: 40px;
      animation: spin 1s linear infinite;
    }
    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

/* ========================================================== */
/* انیمیشن تصویر هدر (مشابه سایت سوی‌دا) */
/* ========================================================== */

.hero-image-wrapper {
    margin: 20px 0 30px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    position: relative;
}

.hero-image-container {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 24px;
    background: #f5f0e6;
    transition: all 0.5s cubic-bezier(0.2, 0.9, 0.3, 1);
}

.hero-main-image {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.7s cubic-bezier(0.2, 0.9, 0.3, 1),
                filter 0.5s cubic-bezier(0.2, 0.9, 0.3, 1);
    transform: scale(1);
    filter: brightness(1) saturate(1);
}

.hero-image-wrapper.reveal {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
    transition: all 0.9s cubic-bezier(0.16, 0.84, 0.29, 1);
}

.hero-image-wrapper.reveal.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.hero-image-wrapper.reveal .hero-main-image {
    opacity: 0;
    transform: scale(1.05);
    transition: all 1s cubic-bezier(0.16, 0.84, 0.29, 1);
}

.hero-image-wrapper.reveal.visible .hero-main-image {
    opacity: 1;
    transform: scale(1);
}

.hero-image-container:hover {
    box-shadow: 0 20px 60px rgba(139, 94, 60, 0.20);
    transform: translateY(-4px);
}

.hero-image-container:hover .hero-main-image {
    transform: scale(1.04);
    filter: brightness(1.05) saturate(1.1);
}

.hero-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg,
                rgba(196, 155, 38, 0) 0%,
                rgba(196, 155, 38, 0.02) 50%,
                rgba(196, 155, 38, 0.05) 100%);
    pointer-events: none;
    transition: all 0.6s cubic-bezier(0.2, 0.9, 0.3, 1);
    opacity: 0;
}

.hero-image-container:hover .hero-image-overlay {
    opacity: 1;
}

.hero-image-container::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg,
                transparent 30%,
                rgba(255, 255, 255, 0.05) 50%,
                transparent 70%);
    transform: rotate(35deg) translateX(-100%);
    transition: transform 0.8s cubic-bezier(0.2, 0.9, 0.3, 1);
    pointer-events: none;
}

.hero-image-container:hover::after {
    transform: rotate(35deg) translateX(100%);
}

@media (max-width: 768px) {
    .hero-image-wrapper {
        margin: 10px 0 20px;
        border-radius: 16px;
    }
    .hero-image-container {
        border-radius: 16px;
    }
    .hero-image-container:hover {
        transform: translateY(-2px);
    }
    .hero-image-container:hover .hero-main-image {
        transform: scale(1.02);
    }
}

/* ========================================================== */
/* افکت ریزش کنجد روی کل سایت (به‌جز روی متن‌ها) هنگام حرکت موس */
/* ========================================================== */

#sesame-global-layer{
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 4000;
    overflow: hidden;
}

.sesame-seed{
    position: absolute;
    top: -18px;
    width: 15px;
    height: 9px;
    background: linear-gradient(135deg, #f7ecd2, #e6cf9c);
    border: 1px solid rgba(139, 94, 60, 0.4);
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
    pointer-events: none;
    z-index: 6;
    will-change: transform, opacity;
    animation-name: sesame-fall;
    animation-timing-function: cubic-bezier(.4,.1,.7,1);
    animation-fill-mode: forwards;
}

@keyframes sesame-fall{
    0%{
        transform: translateY(0) translateX(0) rotate(0deg);
        opacity: 1;
    }
    85%{
        opacity: 1;
    }
    100%{
        transform: translateY(var(--fall-distance, 220px)) translateX(var(--drift, 0px)) rotate(var(--rotate, 180deg));
        opacity: 0;
    }
}

/* ========================================================== */
/* بخش نظرات مشتریان */
/* ========================================================== */

.comment-alert{
    padding: 12px 16px;
    border-radius: 10px;
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.7;
}
.comment-alert-success{
    background: rgba(76, 175, 80, 0.1);
    color: #2e7d32;
    border: 1px solid rgba(76, 175, 80, 0.25);
}
.comment-alert-error{
    background: rgba(211, 47, 47, 0.08);
    color: #c62828;
    border: 1px solid rgba(211, 47, 47, 0.22);
}

.comment-form{
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #faf7f2;
    border: 1px solid rgba(11,11,11,0.05);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 26px;
    position: relative; /* برای نگه داشتن honeypot داخل فرم */
    max-width: 100%;
    overflow: hidden; /* جلوگیری از هرگونه بیرون‌زدگی افقی */
}

/* Honeypot ضدربات: بدون left:-9999px تا اسکرول افقی ایجاد نشود */
.hp-field{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.comment-form-row{
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    max-width: 100%;
}

.comment-name-input{
    flex: 1 1 auto;
    min-width: 0; /* اجازه می‌دهد در flex جمع شود و overflow ندهد */
    max-width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(11,11,11,0.08);
    font-family: inherit;
    font-size: 16px; /* زیر ۱۶px باعث زوم خودکار و پرش موقع لمس تصادفی توی موبایل می‌شه */
    box-sizing: border-box;
}

.comment-text-input{
    width: 100%;
    max-width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(11,11,11,0.08);
    font-family: inherit;
    font-size: 16px; /* همون دلیل بالا */
    resize: vertical;
    min-height: 80px;
    box-sizing: border-box;
}

.star-rating{
    display: flex;
    gap: 4px;
    font-size: 24px;
    line-height: 1;
    direction: ltr;
    flex-shrink: 0;
}
.star-rating .star{
    cursor: pointer;
    color: #d8d2c6;
    transition: color .15s ease, transform .15s ease;
    user-select: none;
}
.star-rating .star:hover,
.star-rating .star.hovered{
    transform: scale(1.12);
}
.star-rating .star.selected{
    color: var(--gold);
}

.comments-list{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.comment-item{
    background: #fff;
    border: 1px solid rgba(11,11,11,0.05);
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: 0 6px 20px rgba(2,2,2,0.03);
    max-width: 100%;
    overflow-wrap: anywhere;
}

.comment-item-head{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
    max-width: 100%;
}

.comment-name{
    font-weight: 700;
    color: var(--dark);
    overflow-wrap: anywhere;
    word-break: break-word;
    min-width: 0;
}

.comment-stars{
    color: var(--gold);
    font-size: 15px;
    letter-spacing: 2px;
    direction: ltr;
    flex-shrink: 0;
}

.comment-text{
    color: var(--muted);
    line-height: 1.8;
    margin: 0 0 8px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.comment-date{
    font-size: 12px;
    color: #9a9388;
}

@media(max-width:600px){
    .comment-form{
        padding: 16px;
    }
    .comment-form-row{
        flex-direction: column;
        align-items: flex-start;
    }
    .star-rating{
        font-size: 26px;
    }
}
