/* Gilam — Gilam naqshi: yuqori va pastda kilim tasmalari, romb-medalyonlar, popuk chetlar, to‘qima ramka. Ranglar manifest sxemasidan; animatsiyalar prefers-reduced-motion da o‘chadi. */
.t-gilam .inv{background:var(--p1);color:var(--tx)}
.t-gilam .wash{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 40%,var(--w1),transparent 60%)}
/* Kilim tasmalari va popuklar */
.t-gilam .deco.top,.t-gilam .deco.bottom{left:0;right:0;height:48px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' fill='%238E2A2A'/%3E%3Cpath d='M24 4l20 20-20 20L4 24z' fill='%23E8C170'/%3E%3Cpath d='M24 12l12 12-12 12-12-12z' fill='%238E2A2A'/%3E%3Cpath d='M24 18l6 6-6 6-6-6z' fill='%232E4A6B'/%3E%3Cpath d='M0 0h6v6H0zM42 0h6v6h-6zM0 42h6v6H0zM42 42h6v6h-6z' fill='%23E8C170'/%3E%3C/svg%3E") repeat-x center/48px 48px;z-index:0}
.t-gilam .deco.top{top:0;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.t-gilam .deco.top::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 12L6 0l6 12L18 0l6 12z' fill='%23E8C170'/%3E%3C/svg%3E") repeat-x center/24px 12px;transform:scaleY(-1);opacity:.9}
.t-gilam .deco.bottom{bottom:0;box-shadow:0 -6px 18px rgba(0,0,0,.18)}
.t-gilam .deco.bottom::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 12L6 0l6 12L18 0l6 12z' fill='%23E8C170'/%3E%3C/svg%3E") repeat-x center/24px 12px;opacity:.9}
.t-gilam .deco.bottom::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;background:repeating-linear-gradient(90deg,var(--gl) 0 2px,transparent 2px 6px);opacity:.7}
.t-gilam .gl-shimmer{position:absolute;left:0;right:0;top:0;height:48px;pointer-events:none;z-index:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:glWeave 7s ease-in-out infinite}
@keyframes glWeave{0%{background-position:-40% 0}100%{background-position:140% 0}}
.t-gilam .content{padding:96px 22px 90px}
.t-gilam .small{font-family:var(--fb);font-size:11px;letter-spacing:.3em;color:var(--gl)}
/* To'qima ramka */
.t-gilam .frame{border:0;background:var(--card);padding:40px 18px 30px;border-radius:2px;
  box-shadow:0 0 0 3px var(--p1),0 0 0 5px var(--gl),0 0 0 9px var(--p1),0 0 0 10px var(--line)}
.t-gilam .frame::before{content:"";position:absolute;left:14px;right:14px;top:10px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 12L6 0l6 12L18 0l6 12z' fill='%23E8C170'/%3E%3C/svg%3E") repeat-x center/24px 12px;opacity:.8}
.t-gilam .frame::after{content:"";position:absolute;left:14px;right:14px;bottom:10px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 12L6 0l6 12L18 0l6 12z' fill='%23E8C170'/%3E%3C/svg%3E") repeat-x center/24px 12px;opacity:.8;transform:scaleY(-1)}
.t-gilam .names{font-family:var(--fs);font-size:42px;line-height:1.12;color:var(--tx)}
.t-gilam .names .amp{font-family:var(--fd);font-size:28px;color:var(--gl)}
.t-gilam .photo{border-radius:2px;border:4px solid var(--gl);box-shadow:0 0 0 2px var(--p1),0 0 0 4px var(--line)}
.t-gilam .quote{font-family:var(--fd);font-style:italic;color:var(--tx2)}
.t-gilam .greeting p::first-line{font-family:var(--fs);font-size:28px;color:var(--gl)}
.t-gilam .cal .dn span.on{background:var(--gl);border-radius:2px;transform:rotate(45deg)}
.t-gilam .cal .dn span.on::after{display:none}
.t-gilam .datebig{font-family:var(--fn);font-size:54px;color:var(--tx)}
.t-gilam .datebig small{color:var(--gl)}
.t-gilam .cd div{background:var(--card);border:2px solid var(--gl);border-radius:2px;box-shadow:inset 0 0 0 2px var(--p1),inset 0 0 0 3px var(--line)}
.t-gilam .cd b{color:var(--gl)}
.t-gilam .ev,.t-gilam .parents div,.t-gilam .note,.t-gilam .wi,.t-gilam .next,.t-gilam .tl .it,.t-gilam .gift .card,.t-gilam .smp{background:var(--card);border:1px solid var(--gl);border-radius:2px;box-shadow:inset 0 0 0 3px var(--p1),inset 0 0 0 4px var(--line)}
.t-gilam .ev .t{color:var(--gl)}
.t-gilam .ev .n,.t-gilam .parents .nm{font-family:var(--fd)}
.t-gilam .today{border-radius:2px;background:var(--gl);box-shadow:0 0 0 3px var(--p1),0 0 0 5px var(--gl)}
.t-gilam .btn{border-radius:2px;letter-spacing:.08em;text-transform:uppercase;font-size:11px;border-width:2px}
.t-gilam .btn.solid{color:#fff}
.t-gilam .seg button,.t-gilam .form input,.t-gilam .form select,.t-gilam .form textarea{border-radius:2px;background:rgba(255,255,255,.7)}
.t-gilam .together{font-family:var(--fn);color:var(--tx)}
.t-gilam .together small{font-family:var(--fs);color:var(--gl)}
.t-gilam .tl .it:before{border-radius:0;transform:rotate(45deg)}
.t-gilam .closing{font-family:var(--fs);font-size:26px;color:var(--gl)}
.t-gilam .gate{background:var(--p1)}
.t-gilam .gate::before,.t-gilam .gate::after{content:"";position:absolute;left:0;right:0;height:48px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' fill='%238E2A2A'/%3E%3Cpath d='M24 4l20 20-20 20L4 24z' fill='%23E8C170'/%3E%3Cpath d='M24 12l12 12-12 12-12-12z' fill='%238E2A2A'/%3E%3Cpath d='M24 18l6 6-6 6-6-6z' fill='%232E4A6B'/%3E%3Cpath d='M0 0h6v6H0zM42 0h6v6h-6zM0 42h6v6H0zM42 42h6v6h-6z' fill='%23E8C170'/%3E%3C/svg%3E") repeat-x center/48px 48px;pointer-events:none}
.t-gilam .gate::before{top:0}
.t-gilam .gate::after{bottom:0}
.t-gilam .env-back,.t-gilam .env-front,.t-gilam .env-flap,.t-gilam .env-letter{border-radius:2px}
.t-gilam .gate-names{font-family:var(--fs)}
@media (prefers-reduced-motion:reduce){.t-gilam .gl-shimmer{animation:none}}
