/* Legal pages, shop list and card branding (OTP Uputstvo IPM). Base .dns-legal
   rules are the original design of the Uslovi/Privatnost pages, moved here so
   every legal page shares one stylesheet. */
@import url('https://fonts.googleapis.com/css2?family=Brygada+1918:ital,wght@0,500;0,600;1,500;1,600&family=Manrope:wght@400;500;600;700&display=swap');

/* ============ DNS TERMS & CONDITIONS ============ */
/* bg #FDFCFA | dark #0D0B07 | brown #392E20 | mid #705F4F | line #D8CCC4 | gold #B08960 */

.dns-legal,
.dns-legal * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.dns-legal {
  box-sizing: border-box;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw;
  max-width: 100vw;
  background: #FDFCFA !important;
  padding: 120px 120px 140px;
  font-family: 'Manrope', sans-serif;
}

.dns-legal-inner {
  max-width: 800px;
  margin: 0 auto;
}

/* Header */
.dns-legal-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
}

.dns-legal-eyebrow::before {
  content: '';
  width: 34px;
  height: 1px;
  background: #B08960;
}

.dns-legal-eyebrow span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #B08960;
}

.dns-legal-heading {
  font-family: 'Brygada 1918', serif;
  font-weight: 500;
  font-size: 38px;
  line-height: 1.15;
  color: #0D0B07;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.dns-legal-updated {
  font-size: 14px;
  color: #705F4F;
  margin-bottom: 64px;
  padding-bottom: 40px;
  border-bottom: 1px solid #D8CCC4;
}

/* Placeholder notice banner */
.dns-legal-notice {
  background: #F7F1E8;
  border: 1px solid #D8CCC4;
  border-radius: 10px;
  padding: 22px 26px;
  margin-bottom: 56px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.dns-legal-notice svg {
  width: 18px;
  height: 18px;
  stroke: #B08960;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  margin-top: 2px;
}

.dns-legal-notice p {
  font-size: 13.5px;
  line-height: 1.6;
  color: #392E20;
}

.dns-legal-notice strong {
  font-weight: 700;
  color: #0D0B07;
}

/* Section blocks */
.dns-legal-section {
  margin-bottom: 52px;
}

.dns-legal-section:last-child {
  margin-bottom: 0;
}

.dns-legal-section h2 {
  font-family: 'Brygada 1918', serif;
  font-weight: 600;
  font-size: 23px;
  line-height: 1.3;
  color: #0D0B07;
  margin-bottom: 16px;
}

.dns-legal-section p {
  font-size: 15.5px;
  line-height: 1.75;
  color: #392E20;
  margin-bottom: 16px;
  font-weight: 400;
}

.dns-legal-section p:last-child {
  margin-bottom: 0;
}

.dns-legal-section ul {
  list-style: none;
  margin-bottom: 16px;
}

.dns-legal-section ul li {
  font-size: 15.5px;
  line-height: 1.7;
  color: #392E20;
  padding-left: 24px;
  position: relative;
  margin-bottom: 10px;
}

.dns-legal-section ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #B08960;
}

/* Placeholder field marker */
.dns-legal-fill {
  background: rgba(176, 137, 96, 0.14);
  border: 1px dashed #B08960;
  border-radius: 4px;
  padding: 1px 8px;
  color: #392E20;
  font-style: italic;
  font-weight: 500;
  white-space: nowrap;
}

/* Pull quote / emphasis box for important legal notices */
.dns-legal-emphasis {
  font-family: 'Brygada 1918', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 17px;
  line-height: 1.6;
  color: #0D0B07;
  padding: 18px 24px;
  border-left: 2px solid #B08960;
  background: #F7F1E8;
  border-radius: 0 8px 8px 0;
  margin: 20px 0;
}

/* Contact block */
.dns-legal-contact {
  background: #F7F1E8;
  border-radius: 10px;
  padding: 32px 34px;
  margin-top: 8px;
}

.dns-legal-contact p {
  margin-bottom: 8px;
}

.dns-legal-contact p:last-child {
  margin-bottom: 0;
}

.dns-legal-contact a {
  color: #392E20;
  text-decoration: underline;
  text-decoration-color: #D8CCC4;
  text-underline-offset: 3px;
}

.dns-legal-contact a:hover {
  color: #B08960;
}

/* Tablet 1024px */
@media (max-width: 1024px) {
  .dns-legal {
    padding: 90px 60px 100px;
  }
  .dns-legal-heading {
    font-size: 32px;
  }
}

/* Mobile 767px */
@media (max-width: 767px) {
  .dns-legal {
    padding: 70px 25px 80px;
  }
  .dns-legal-heading {
    font-size: 28px;
  }
  .dns-legal-updated {
    margin-bottom: 48px;
    padding-bottom: 32px;
  }
  .dns-legal-notice {
    padding: 18px 20px;
    margin-bottom: 44px;
  }
  .dns-legal-section {
    margin-bottom: 42px;
  }
  .dns-legal-section h2 {
    font-size: 20px;
  }
  .dns-legal-section p,
  .dns-legal-section ul li {
    font-size: 15px;
  }
  .dns-legal-emphasis {
    font-size: 16px;
    padding: 16px 20px;
  }
  .dns-legal-contact {
    padding: 26px 24px;
  }
}

/* Small phone ~380px */
@media (max-width: 380px) {
  .dns-legal-heading {
    font-size: 25px;
  }
}

/* Sub-headings inside a section (privacy inside the terms) */
.dns-legal-section h3 {
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 15.5px;
  color: #0D0B07;
  margin: 22px 0 8px;
}
.dns-legal-section a { color: #392E20; text-decoration: underline; text-decoration-color: #B08960; text-underline-offset: 3px; }
.dns-legal-muted { color: #705F4F; font-size: 13.5px; }
.dns-legal-price { white-space: nowrap; font-weight: 700; color: #0D0B07; }

/* Product / price table */
.dns-legal-table { width: 100%; border-collapse: collapse; margin: 8px 0 22px; font-size: 14.5px; color: #392E20; }
.dns-legal-table th { text-align: left; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #B08960; font-weight: 700; padding: 0 12px 10px 0; border-bottom: 1px solid #D8CCC4; }
.dns-legal-table td { padding: 14px 12px 14px 0; border-bottom: 1px solid #E8DFD3; vertical-align: top; line-height: 1.55; }
.dns-legal-table td:last-child, .dns-legal-table th:last-child { text-align: right; padding-right: 0; }
@media (max-width: 600px) {
  .dns-legal-table thead { display: none; }
  .dns-legal-table tr { display: block; border-bottom: 1px solid #E8DFD3; padding: 12px 0; }
  .dns-legal-table td { display: block; border: 0; padding: 2px 0; }
  .dns-legal-table td:last-child { text-align: left; }
}

/* Shop list */
.dns-shop { display: grid; gap: 18px; margin: 30px 0; }
.dns-shop-item { background: #F7F1E8; border-radius: 12px; padding: 26px 28px; }
.dns-shop-item h2 { font-family: 'Brygada 1918', serif; font-weight: 600; font-size: 21px; color: #0D0B07; margin-bottom: 8px; }
.dns-shop-item p { font-size: 15px; line-height: 1.65; color: #392E20; margin-bottom: 8px; }
.dns-shop-buy { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px !important; }
.dns-shop-buy .dns-legal-price { font-size: 19px; }
.dns-shop-btn { background: #0D0B07; color: #FDFCFA !important; text-decoration: none !important; padding: 11px 26px; border-radius: 999px; font-weight: 600; font-size: 14px; letter-spacing: .04em; }
.dns-shop-btn:hover { background: #392E20; }
.dns-legal-inner > p { font-size: 15.5px; line-height: 1.75; color: #392E20; margin-bottom: 16px; }
.dns-legal-inner > p a { color: #392E20; text-decoration: underline; text-decoration-color: #B08960; text-underline-offset: 3px; }

/* Withdrawal form */
.dns-form { border: 1px solid #D8CCC4; border-radius: 10px; padding: 28px; background: #fff; margin-top: 10px; }
.dns-form h2 { font-family: 'Brygada 1918', serif; font-weight: 600; font-size: 22px; color: #0D0B07; margin-bottom: 18px; text-align: center; }
.dns-form-table { width: 100%; border-collapse: collapse; font-size: 14px; color: #392E20; }
.dns-form-table th, .dns-form-table td { border: 1px solid #D8CCC4; padding: 10px 12px; vertical-align: top; text-align: left; }
.dns-form-table th { width: 110px; background: #F7F1E8; font-size: 12px; font-weight: 700; }
.dns-form-line { display: block; border-bottom: 1px solid #A89A8C; height: 26px; }
.dns-form-print { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.dns-form-print button { background: #0D0B07; color: #FDFCFA; border: 0; border-radius: 999px; padding: 11px 24px; font: 600 14px 'Manrope', sans-serif; cursor: pointer; }
@media print {
  header, footer, .elementor-location-header, .elementor-location-footer, .dns-brand, .dns-form-print,
  .dns-legal-eyebrow, .dns-legal-heading, .dns-legal-inner > p { display: none !important; }
  .dns-legal { padding: 0 !important; margin: 0 !important; left: 0; width: auto; }
  .dns-form { border: 0; padding: 0; }
}

/* Card branding strip (Uputstvo 2.1) — sits under the site footer */
.dns-brand { background: #FDFCFA; border-top: 1px solid #E8DFD3; padding: 26px 20px 22px; text-align: center; font-family: 'Manrope', sans-serif; }
.dns-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1080px; margin: 0 auto; }
.dns-brand-acc, .dns-brand-prog { display: flex; align-items: center; gap: 10px; }
/* Acceptance marks: one box size for the whole group (min 37x23, max 180x113). */
/* No frames around the marks (OTP banka review, 29.10.2026). */
.dns-brand-acc .dns-brand-mark { width: 58px; height: 38px; display: flex; align-items: center; justify-content: center; }
/* Program marks: one width for the group (min 60, max 155). */
.dns-brand-prog .dns-brand-mark { width: 72px; height: 40px; display: flex; align-items: center; justify-content: center; }
.dns-brand-mark img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
/* Visa Secure is a square mark: shown whole and smaller, as in the bank's branding examples. */
.dns-brand-prog .dns-brand-mark.dns-brand-visasecure { width: 36px; height: 36px; }
.dns-brand-bank img { height: 30px; width: auto; display: block; }
.dns-brand-text { margin: 16px 0 6px; font-size: 12.5px; color: #705F4F; }
.dns-brand-links { margin: 0; font-size: 12.5px; color: #705F4F; }
.dns-brand-links a { color: #705F4F; text-decoration: underline; text-underline-offset: 3px; }
/* Narrow screens: the bank's vertical layout, groups stacked with the bank logo between. */
@media (max-width: 820px) {
  .dns-brand-row { flex-direction: column; gap: 18px; }
}

/* Test-mode notice on shop pages (also used inside the .dns-co checkout) */
.dns-co-test { background: #FFF4E0; border: 1px solid #E8C98F; border-radius: 10px; padding: 14px 18px; font-size: 14px; line-height: 1.55; color: #5C4320; margin: 0 0 26px; }
