/*
Theme Name: Pars Tajhizat Smart Hotel
Theme URI: https://parstajhizat.com
Author: Pars Tajhizat
Description: قالب یک‌صفحه‌ای معرفی سیستم‌های هوشمندسازی هتل؛ دو زبانه (فارسی/انگلیسی)، با انیمیشن مقدمه، پس‌زمینه‌ی نورونی متحرک، گالری و بخش تماس با ما. همه‌ی متن‌ها، عکس‌ها و اطلاعات تماس از بخش «شخصی‌سازی» (Customize) در پیشخوان وردپرس قابل ویرایش هستند.
Version: 1.0
Requires at least: 5.0
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pars-tajhizat
*/

  * { margin:0; padding:0; box-sizing:border-box; }
  html, body {
    min-height:100%;
    background:
      repeating-linear-gradient(
        100deg,
        rgba(255,255,255,0.05) 0px,
        rgba(255,255,255,0.05) 2px,
        rgba(0,0,0,0.04) 3px,
        rgba(0,0,0,0.04) 6px
      ),
      radial-gradient(ellipse at 20% 15%, rgba(80,120,255,0.35), transparent 55%),
      radial-gradient(ellipse at 80% 85%, rgba(10,20,110,0.55), transparent 60%),
      linear-gradient(160deg, #142a72 0%, #0d1e57 35%, #0a1640 70%, #060d29 100%);
    background-color:#0e1c4a;
    overflow-x:hidden;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
  }
  #matrix-canvas {
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    z-index:1;
  }
  .overlay {
    position:relative;
    z-index:2;
    min-height:62vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#f3dfae;
    direction:rtl;
    padding:3rem 1rem 1rem;
    transition: min-height 0.8s ease, padding 0.8s ease;
  }
  .overlay.collapsed {
    min-height:auto;
    padding:1.2rem 1.5rem 0.6rem;
  }
  h1 {
    font-size:3.2rem;
    font-weight:800;
    letter-spacing:0.05em;
    color:#fff3d6;
    text-shadow:
      0 1px 0 #a9762b,
      0 2px 0 #8f611f,
      0 3px 4px rgba(0,0,0,0.55),
      0 0 24px rgba(230,198,116,0.5);
    transition: transform 0.9s cubic-bezier(.6,-0.1,.4,1), font-size 0.8s ease;
  }
  h1.settled {
    animation: flicker 3s infinite;
  }
  h1.mini {
    font-size:1.4rem;
    letter-spacing:0.02em;
    animation:none;
  }
  h1.mini-right { transform: translateX(min(38vw, 320px)); }
  h1.mini-left  { transform: translateX(calc(-1 * min(38vw, 320px))); }
  @keyframes flicker {
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { opacity:1; }
    20%, 22%, 24%, 55% { opacity:0.55; }
  }

  /* ---------- Language chooser splash ---------- */
  #langChooser {
    position:fixed;
    inset:0;
    z-index:50;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2.2rem;
    background:rgba(6,13,41,0.72);
    backdrop-filter: blur(2px);
    text-align:center;
    padding:1.5rem;
    transition: opacity 0.5s ease;
  }
  #langChooser.hidden {
    opacity:0;
    pointer-events:none;
  }
  #langChooser p {
    color:#fff3d6;
    font-family:'Vazirmatn', Tahoma, sans-serif;
    font-size:1.05rem;
    letter-spacing:0.03em;
    text-shadow:0 2px 6px rgba(0,0,0,0.6);
  }
  .lang-options {
    display:flex;
    gap:1.2rem;
    flex-wrap:wrap;
    justify-content:center;
  }
  .lang-btn {
    padding:0.9rem 2.4rem;
    background:rgba(8,16,48,0.55);
    border:1.5px solid #d4af37;
    color:#fff3d6;
    font-size:1.05rem;
    font-weight:700;
    border-radius:10px;
    cursor:pointer;
    box-shadow:0 4px 16px rgba(0,0,0,0.35);
    transition: all 0.25s ease;
  }
  .lang-btn:hover {
    background:#d4af37;
    color:#1a1206;
    box-shadow:0 6px 22px rgba(212,175,55,0.4);
  }

  body.lang-en .overlay,
  body.lang-en .gallery {
    direction:ltr;
  }
  .letter {
    display:inline-block;
    opacity:0;
    transform: translateY(-260px) rotate(520deg) scale(0.6);
    animation: letterDrop 0.85s cubic-bezier(.2,.7,.3,1) forwards;
  }
  @keyframes letterDrop {
    0% { opacity:0; transform: translateY(-260px) rotate(520deg) scale(0.6); }
    70% { opacity:1; }
    100% { opacity:1; transform: translateY(0) rotate(0deg) scale(1); }
  }
  .subtitle {
    margin-top:1rem;
    font-size:1.15rem;
    font-weight:600;
    letter-spacing:0.15em;
    color:#ffe9b0;
    text-shadow: 0 2px 3px rgba(0,0,0,0.6), 0 0 12px rgba(230,198,116,0.35);
    opacity:0;
    min-height:1.5em;
    transition: opacity 0.6s ease;
  }
  .subtitle.fade-out {
    opacity:0 !important;
  }
  .cursor {
    display:inline-block;
    width:0.6em;
    background:#d4af37;
    animation: blink 1s step-start infinite;
  }
  @keyframes blink {
    50% { opacity:0; }
  }
  .scanline {
    display:none;
  }
  .vignette {
    display:none;
  }

  .gallery {
    position:relative;
    z-index:2;
    padding:0.8rem 1.5rem 6rem;
    direction:rtl;
    text-align:center;
  }
  .gallery h2 {
    color:#fff3d6;
    font-size:2.1rem;
    font-weight:800;
    text-shadow: 0 1px 0 #a9762b, 0 2px 6px rgba(0,0,0,0.6), 0 0 20px rgba(230,198,116,0.4);
    margin-bottom:0.8rem;
  }
  .gallery > p {
    color:#ffedc9;
    opacity:1;
    text-shadow: 0 1px 3px rgba(0,0,0,0.55);
    max-width:640px;
    margin:0 auto 3.2rem;
    line-height:2;
    font-size:0.98rem;
  }
  .card-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:1.8rem;
    max-width:1200px;
    margin:0 auto;
  }
  .card {
    background:rgba(8,16,48,0.55);
    backdrop-filter: blur(4px);
    border:1px solid rgba(212,175,55,0.35);
    border-radius:18px;
    padding:1.8rem 1.4rem 2rem;
    box-shadow:0 4px 18px rgba(0,0,0,0.35);
    opacity:0;
    transition:transform 0.9s cubic-bezier(.2,.7,.2,1), opacity 0.9s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  }
  .card[data-dir="top"]    { transform: translate(0, -70vh); }
  .card[data-dir="right"]  { transform: translate(70vw, 0); }
  .card[data-dir="bottom"] { transform: translate(0, 70vh); }
  .card[data-dir="left"]   { transform: translate(-70vw, 0); }
  .card.show {
    opacity:1;
    transform: translate(0, 0);
  }
  .card.show:hover {
    transform:translateY(-6px);
    border-color:rgba(212,175,55,0.5);
    box-shadow:0 12px 34px rgba(212,175,55,0.18);
  }
  .card img {
    width:100%;
    height:150px;
    object-fit:cover;
    border-radius:12px;
    margin-bottom:1.1rem;
    border:1px solid rgba(212,175,55,0.45);
    box-shadow:0 6px 18px rgba(0,0,0,0.4);
    display:block;
  }
  .card h3 {
    color:#fff3d6;
    font-size:1.1rem;
    font-weight:800;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6), 0 0 10px rgba(230,198,116,0.35);
    margin-bottom:0.6rem;
  }
  .card p {
    color:#f1e2c4;
    opacity:1;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
    font-size:0.86rem;
    line-height:1.9;
  }

  /* ---------- Contact section ---------- */
  .contact {
    position:relative;
    z-index:2;
    padding:1rem 1.5rem 5rem;
    direction:rtl;
    text-align:center;
  }
  body.lang-en .contact { direction:ltr; }
  .contact h2 {
    color:#fff3d6;
    font-size:1.9rem;
    font-weight:800;
    text-shadow: 0 1px 0 #a9762b, 0 2px 6px rgba(0,0,0,0.6), 0 0 20px rgba(230,198,116,0.4);
    margin-bottom:2.4rem;
  }
  .contact-grid {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1.6rem;
    max-width:900px;
    margin:0 auto;
  }
  .contact-item {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0.8rem;
    width:190px;
    padding:1.6rem 1.2rem;
    background:rgba(8,16,48,0.55);
    backdrop-filter: blur(4px);
    border:1px solid rgba(212,175,55,0.35);
    border-radius:16px;
    text-decoration:none;
    box-shadow:0 4px 18px rgba(0,0,0,0.35);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  }
  .contact-item:hover {
    transform:translateY(-6px);
    border-color:rgba(212,175,55,0.7);
    box-shadow:0 12px 30px rgba(212,175,55,0.2);
  }
  .contact-icon {
    width:56px;
    height:56px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(212,175,55,0.12);
    border:1.5px solid rgba(212,175,55,0.5);
    box-shadow:0 0 16px rgba(230,198,116,0.35);
  }
  .contact-icon svg {
    width:26px;
    height:26px;
  }
  .contact-item.whatsapp .contact-icon {
    background:rgba(60,200,120,0.15);
    border-color:rgba(60,200,120,0.55);
    box-shadow:0 0 16px rgba(60,200,120,0.35);
  }
  .contact-label {
    color:#fff3d6;
    font-weight:700;
    font-size:0.95rem;
    text-shadow:0 1px 2px rgba(0,0,0,0.6);
  }
  .contact-value {
    color:#e8d6b8;
    font-size:0.8rem;
    direction:ltr;
    opacity:0.9;
  }
