/* ============================= */
/* CTA — PERSONAL CONTACT        */
/* ============================= */

.section.cta {
    background:
        linear-gradient(
            rgba(255,255,255,0.92),
            rgba(255,255,255,0.92)
        ),
        url("/static/img/stone-texture.png") center / cover no-repeat;
    padding: 120px 0;
}

.cta-inner {
    text-align: center;
}

/* TITLE */

.section.cta h2 {
    font-size: 38px;
    margin-bottom: 28px;
    letter-spacing: 0.02em;
}

/* TEXT */

.section.cta p {
    max-width: 640px;
    margin: 0 auto 48px;
    font-size: 18px;
    line-height: 1.7;
}

/* BUTTON */

.cta-button {
    display: inline-block;
    padding: 18px 42px;
    border-radius: 60px;
    background: var(--accent);
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    transition: background 0.25s ease, transform 0.25s ease;
}

.cta-button:hover {
    background: #00695c;
    transform: translateY(-2px);
}

.text-center {
    text-align: center;
}

.luxury-center {
    text-align: center;
    max-width: 820px;
    margin: 3rem auto 0;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* MOBILE */

@media (max-width: 768px) {
    .section.cta h2 {
        font-size: 30px;
    }

    .cta-button {
        padding: 16px 34px;
    }
}

/* ============================= */
/* GLOBAL DIGITAL VERIFICATION   */
/* ============================= */

.digital-verify {
    margin-top: 80px;
    padding: 64px 56px;
    border-radius: 32px;

    background:
        radial-gradient(
            1200px 400px at 50% -100px,
            rgba(255,255,255,0.08),
            transparent
        ),
        linear-gradient(
            rgba(0,0,0,0.55),
            rgba(0,0,0,0.55)
        ),
        url("/static/img/stone-texture.png") center / cover no-repeat;

    box-shadow:
        0 40px 120px rgba(0,0,0,0.6),
        inset 0 1px 0 rgba(255,255,255,0.08);

    text-align: center;
    position: relative;
    overflow: hidden;
}

/* subtle glow */
.digital-verify::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            120deg,
            transparent 20%,
            rgba(255,255,255,0.06),
            transparent 80%
        );
    pointer-events: none;
}

/* TITLE */
.digital-title {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 18px;
    color: var(--text-invert);
}

/* LEAD */
.digital-lead {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
    color: rgba(255,255,255,0.9);
}

/* SUBTEXT */
.digital-subtext {
    max-width: 640px;
    margin: 0 auto 48px;
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255,255,255,0.65);
}

/* FORM CARD */
.digital-verify-form {
    max-width: 520px;
    margin: 0 auto;
    padding: 36px 38px;

    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(12px);

    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.18);

    box-shadow:
        0 20px 60px rgba(0,0,0,0.5),
        inset 0 1px 0 rgba(255,255,255,0.12);
}

/* FIELD */
.digital-verify-field {
    margin-bottom: 26px;
    text-align: left;
}

.digital-verify-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
}

/* INPUT */
.digital-verify-field input {
    width: 100%;
    padding: 18px 20px;

    font-size: 18px;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    background: rgba(0,0,0,0.45);
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.25);

    color: #ffffff;
    outline: none;

    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.digital-verify-field input::placeholder {
    color: rgba(255,255,255,0.35);
}

.digital-verify-field input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(0,150,136,0.25);
}

/* BUTTON */
.digital-verify-form .button {
    width: 100%;
    padding: 16px 0;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

/* FOOTNOTE */
.digital-footnote {
    margin-top: 22px;
    font-size: 13px;
    color: rgba(255,255,255,0.55);
    text-align: center;
}

/* STATUS */
#globalVerifyStatus {
    margin-top: 18px;
    font-size: 14px;
    color: #ffb74d;
}

/* MOBILE */
@media (max-width: 768px) {
    .digital-verify {
        padding: 48px 24px;
        border-radius: 22px;
    }

    .digital-title {
        font-size: 28px;
    }

    .digital-verify-form {
        padding: 28px 22px;
    }

    .digital-verify-field input {
        font-size: 16px;
    }
}

/* ============================= */
/* GLOBAL VERIFY RESULT — LUX    */
/* ============================= */

.owner-result-image-wrap {
    display: flex;
    justify-content: center;
    margin: 18px 0 24px;
}

.owner-result-image-wrap img {
    max-width: 220px;
    max-height: 220px;
    border-radius: 14px;
    box-shadow:
        0 10px 30px rgba(0,0,0,0.25);
    object-fit: cover;
}

.owner-result-block {
    margin-bottom: 14px;
    text-align: center;
}

.owner-result-label {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-soft);
    margin-bottom: 4px;
}

.owner-result-value {
    font-size: 1rem;
    font-weight: 500;
}

.owner-result-value.link {
    color: var(--accent);
    text-decoration: none;
}

.owner-result-value.link:hover {
    text-decoration: underline;
}


/* ============================= */
/* CONTACT FORM — PREMIUM        */
/* ============================= */

.contact-form{
  margin-top: 42px;
  padding: 42px 42px;
  border-radius: 28px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow:
    0 30px 90px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.65);
  text-align: left;
}

.contact-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 18px;
  margin-bottom: 18px;
}

.field{ display:block; }
.field-wide{ grid-column: 1 / -1; }

.field-label{
  display:block;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-soft);
  margin-bottom: 8px;
}

.field-input{
  width: 100%;
  padding: 16px 16px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.98);
  color: var(--text);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.field-textarea{ resize: vertical; min-height: 120px; }

.field-input:focus{
  border-color: rgba(0,121,107,0.55);
  box-shadow: 0 0 0 3px rgba(0,121,107,0.15);
}

.field-hint{
  display:block;
  margin-top: 8px;
  font-size: 13px;
  color: var(--text-soft);
}

.contact-form .button.full{
  width: 100%;
  margin-top: 10px;
  padding: 16px 0;
}

.form-status{
  margin-top: 14px;
  font-size: 14px;
  color: var(--text-soft);
}
.form-status.loading{ color: #ffb74d; }
.form-status.success{ color: #2e7d32; }
.form-status.error{ color: #c62828; }

.contact-telegram-cta{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,0.08);
}

.contact-telegram-badge{
  display:inline-block;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,121,107,0.08);
  border: 1px solid rgba(0,121,107,0.18);
  color: var(--text);
  margin-bottom: 12px;
}

.contact-telegram-note{
  margin-top: 10px;
  font-size: 13px;
  color: var(--text-soft);
  line-height: 1.6;
}

@media (max-width: 768px){
  .contact-form{ padding: 28px 18px; border-radius: 22px; }
  .contact-grid{ grid-template-columns: 1fr; }
}

/* ===============================
   LATEST PRODUCTS GRID (HOME)
   =============================== */

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.section-link{
  color: var(--accent, #00796B);
  text-decoration:none;
  font-weight:600;
  font-size:0.95rem;
}

.section-link:hover{ text-decoration:underline; }

.product-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:22px;
}

.product-card{
  display:flex;
  flex-direction:column;
  background: var(--bg-paper, #fff);
  border-radius: 18px;
  overflow:hidden;
  text-decoration:none;
  color: inherit;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.04),
    0 10px 26px rgba(0,0,0,0.08);
  transition: transform .2s ease, box-shadow .2s ease;
}

.product-card:hover{
  transform: translateY(-3px);
  box-shadow:
    0 4px 14px rgba(0,0,0,0.10),
    0 18px 40px rgba(0,0,0,0.14);
}

.product-media{
  position:relative;
  width:100%;
  aspect-ratio: 4 / 3;   /* чтобы не было “огромных фоток” */
  background: #f2f4f5;
}

.product-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.product-media-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  letter-spacing:0.08em;
  color: rgba(15,31,36,.45);
}

.product-body{
  padding:16px 16px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.product-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.product-card-title{
    margin: 0;
    font-size: 0.82rem;      /* реально мелкий */
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: 0.015em;
    text-align: left;

    /* защита от глобальных стилей */
    max-width: 100%;
  }

.badge{
    flex:0 0 auto;
    font-size:.78rem;
    padding:6px 12px;
    border-radius:999px;
    background: linear-gradient(
      135deg,
      rgba(0,121,107,.95),
      rgba(33,150,243,.95)
    );
    color:#fff;
    font-weight:700;
    letter-spacing:.03em;
    box-shadow:
      0 4px 10px rgba(0,121,107,.35),
      inset 0 1px 0 rgba(255,255,255,.25);
  }

.product-meta{
  font-size:.9rem;
  color: var(--text-soft, #5f6f75);
}

.product-meta span{
  color: var(--text, #0f1f24);
  font-weight:600;
}

.product-cta{
  margin-top:auto;
  font-size:.9rem;
  color: var(--accent, #00796B);
  font-weight:600;
}

/* Tablet */
@media (max-width: 980px){
  .product-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 560px){
  .section-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .product-grid{
    grid-template-columns: 1fr;
  }
}