/* ==========================================================================
   SALAZAR - Google Ads landing pages (/marketing-obsluzhvane/, /lp/izrabotka-na-saitove/)
   Loaded ONLY by those two pages, after style.css. Everything is scoped under .lp
   (set on <body>) and built from the site's existing tokens, so no other page is affected.
   ========================================================================== */

/* ---- Hero: the regular inner hero + CTAs, trust row and the price note ---- */
.lp .inner-hero__copy .lead { margin-bottom: 26px; }
.lp-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px 14px; margin-bottom: 24px; }
.lp-trust { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.lp-trust li {
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px;
  font-size: 13px; font-weight: 600; line-height: 1.2; color: #E4E6F5;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12);
}
.lp-trust svg { width: 14px; height: 14px; flex-shrink: 0; color: #A78BFA; }
.lp-price-note { margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-on-dark-secondary); }
.lp-price-note strong { color: #fff; font-weight: 800; }

/* ---- Hero side panel: what the client gets, in one glass card ---- */
.lp-offer {
  position: relative; z-index: 1; width: 100%; max-width: 400px; padding: 24px 24px 22px; border-radius: 24px;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 30px 70px -30px rgba(5,7,21,0.75);
}
.lp-offer::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: linear-gradient(135deg, var(--brand-blue), var(--brand-purple) 55%, var(--brand-pink));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0.7;
}
.lp-offer__kicker { display: block; margin-bottom: 14px; font-family: 'Space Grotesk', 'Manrope', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #C4B5FD; }
.lp-offer__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.lp-offer__list li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); }
.lp-offer__list img, .lp-offer__ico { width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; }
.lp-offer__ico { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--brand-blue), var(--brand-purple)); color: #fff; }
.lp-offer__ico svg { width: 20px; height: 20px; }
.lp-offer__list b { display: block; font-size: 14.5px; color: #fff; }
.lp-offer__list small { display: block; font-size: 12.5px; line-height: 1.4; color: var(--text-on-dark-secondary); }
.lp-offer__foot { margin: 16px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--text-on-dark-secondary); }

/* ---- Generic 4 / 2 column card grids (the site's .bento-grid is 3-col) ---- */
.lp-grid { display: grid; gap: 24px; }
.lp-grid--4 { grid-template-columns: repeat(4, 1fr); }
.lp-grid--2 { grid-template-columns: repeat(2, 1fr); }
.lp-grid .bento-card h3 { font-size: 18px; }
.lp-grid .service-icon:not(.service-icon--img) { width: 64px; height: 64px; border-radius: 18px; }
.lp-grid .service-icon:not(.service-icon--img) svg { width: 28px; height: 28px; }
.lp-grid .bento-card p { margin-bottom: 0; }
@media (max-width: 1100px) { .lp-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .lp-grid--4, .lp-grid--2 { grid-template-columns: 1fr; } }

/* ---- Pricing: terms under the cards ---- */
.lp-terms { max-width: 860px; margin: 32px auto 0; padding: 22px 26px; border-radius: var(--radius-md); list-style: none; background: linear-gradient(135deg, rgba(157,78,255,0.07), rgba(31,200,255,0.06)); border: 1px solid rgba(116,39,214,0.18); }
.lp-terms li { position: relative; padding-left: 22px; font-size: 14.5px; line-height: 1.55; color: var(--text-on-light-secondary); }
.lp-terms li + li { margin-top: 8px; }
.lp-terms li::before { content: ''; position: absolute; left: 4px; top: 0.6em; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-purple); }
.lp-terms a { color: var(--brand-purple-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.lp-terms__lead { font-weight: 700; color: var(--text-on-light); }
.lp .pkg-card .pkg-list li > span > b { font-weight: 700; }
.lp-center { margin-top: 28px; text-align: center; }

/* ---- Proof: portfolio + reviews on the same light section ---- */
.lp-proof-sub { margin: 64px 0 24px; text-align: center; font-size: clamp(22px, 2.2vw, 28px); }
.lp .testimonial-grid { margin-top: 0; }

/* ---- Contact block (final CTA + form) ---- */
/* minmax(0, …): the custom dropdowns' long one-line labels must never widen their column */
.lp .contact-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
.lp .contact-form .form-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.lp .contact-form .form-row--single { grid-template-columns: minmax(0, 1fr); }
.lp .custom-select__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 920px) { .lp .contact-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .lp .contact-form .form-row { grid-template-columns: minmax(0, 1fr); }
  .lp .custom-select__value { white-space: normal; line-height: 1.35; text-align: left; }
}
.lp-contact .contact-hours svg { width: 16px; height: 16px; flex-shrink: 0; }
.lp-contact .section-head { margin-bottom: 22px; }
.lp-contact__points { margin: 22px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.lp-contact__points li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--text-on-dark-secondary); }
.lp-contact__points svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; color: #A78BFA; }
.lp-contact__alt { margin-top: 26px; }
.lp-contact__alt .contact-info-item { margin-bottom: 10px; }
.lp .contact-form .form-field--full { grid-column: 1 / -1; }
.lp .contact-form textarea { min-height: 96px; }
.lp .form-optional { font-weight: 500; opacity: 0.75; }
.lp .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---- WordPress vs Custom ---- */
.lp-tech .bento-card ul { margin: 14px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.lp-tech .bento-card li { display: flex; gap: 10px; font-size: 14.5px; line-height: 1.5; }
.lp-tech .bento-card li svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; color: var(--brand-purple); }

@media (max-width: 920px) {
  .lp-offer { max-width: 460px; }
}
@media (max-width: 640px) {
  .lp-hero__ctas .btn { flex: 1 1 100%; justify-content: center; }
  .lp-trust li { font-size: 12.5px; padding: 6px 10px; }
  .lp-offer { padding: 20px 18px 18px; border-radius: 20px; }
  .lp-terms { padding: 18px 18px; }
  .lp-proof-sub { margin-top: 44px; font-size: 18px; }
}

/* ---- Phone hero v153: tighter first screen - no breadcrumb, short one-line kicker, smaller
   headline/lead, compact CTAs and the trust chips two per row ---- */
@media (max-width: 640px) {
  .lp .inner-hero { padding: 20px 0 34px; }
  .lp .inner-hero .breadcrumb { display: none; }
  .lp .lp-hide-m { display: none; }
  .lp .inner-hero__copy .eyebrow { font-size: 11px; letter-spacing: 0.06em; padding: 5px 11px; gap: 7px; margin-bottom: 12px; }
  .lp .inner-hero__copy h1 { font-size: clamp(25px, 7vw, 29px); line-height: 1.14; margin-bottom: 12px; }
  .lp .inner-hero__copy .lead { font-size: 15px; line-height: 1.55; margin-bottom: 18px; }
  .lp-hero__ctas { gap: 10px; margin-bottom: 16px; }
  .lp-hero__ctas .btn { padding-top: 13px; padding-bottom: 13px; font-size: 15.5px; }
  .lp-trust { gap: 6px; margin-bottom: 14px; }
  .lp-trust li { font-size: 12px; padding: 5px 9px; gap: 5px; }
  .lp-trust svg { width: 12px; height: 12px; }
  .lp-price-note { font-size: 13px; }
}
@media (max-width: 640px) {
  /* trust chips -> a tight two-column check list */
  .lp-trust { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px 18px; margin-bottom: 16px; }
  .lp-trust li { align-items: flex-start; padding: 0; border: 0; background: none; border-radius: 0; font-size: 12.5px; line-height: 1.3; gap: 6px; }
  .lp-trust svg { width: 13px; height: 13px; margin-top: 1px; }
}
