/* Load Google Font Montserrat as a fallback for Nexa */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,700;0,800;0,900;1,400&display=swap');

/* Nexa local font mappings */
@font-face {
  font-family: 'Nexa-Heavy';
  font-weight: 800;
  src: local('Nexa Heavy'), local('Nexa-Heavy'), local('NexaBold'), local('Nexa-Bold');
}
@font-face {
  font-family: 'Nexa-Book';
  font-weight: 400;
  src: local('Nexa Book'), local('Nexa-Book'), local('NexaLight'), local('Nexa-Light');
}
@font-face {
  font-family: 'Nexa-Black';
  font-weight: 900;
  src: local('Nexa Black'), local('Nexa-Black'), local('NexaExtraBold'), local('Nexa-ExtraBold');
}
@font-face {
  font-family: 'Nexa-Regular';
  font-weight: 400;
  src: local('Nexa Regular'), local('Nexa-Regular'), local('NexaRegular');
}
@font-face {
  font-family: 'NexaText-Book';
  font-weight: 400;
  src: local('NexaText Book'), local('NexaText-Book'), local('NexaTextBook');
}
@font-face {
  font-family: 'NexaText-Heavy';
  font-weight: 800;
  src: local('NexaText Heavy'), local('NexaText-Heavy'), local('NexaTextBold');
}
@font-face {
  font-family: 'NexaText-Black';
  font-weight: 900;
  src: local('NexaText Black'), local('NexaText-Black'), local('NexaTextExtraBold');
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Nexa-Regular', 'Nexa', 'Montserrat', sans-serif;
  background: #08080c;
  color: #f1f1f7;
  overflow-x: hidden;
}

/* Sidebar Dashboard Styles - Black & Magenta Theme */
.sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 280px;
  background: #000000;
  border-right: 1px solid #251220;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  z-index: 1000;
  overflow-y: auto;
}

.sidebar-title {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #f40076;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.sidebar h3 {
  font-family: 'Nexa-Black', 'Montserrat', sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  color: #927584;
  margin-top: 10px;
  letter-spacing: 1.5px;
}

.control-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.control-group label {
  font-size: 11px;
  color: #c4a8b8;
  font-weight: 500;
}

.control-group select, .control-group button {
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #3c152b;
  background: #12040d;
  color: #ffffff;
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 13px;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease-in-out;
}

.control-group select:hover {
  border-color: #f40076;
}

.control-group select:focus {
  border-color: #f40076;
  box-shadow: 0 0 8px rgba(244, 0, 118, 0.2);
}

.control-group button.btn-primary {
  background: linear-gradient(135deg, #f40076 0%, #b80058 100%);
  color: #ffffff;
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
  border: none;
  box-shadow: 0 4px 14px rgba(244, 0, 118, 0.3);
}

.control-group button.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(244, 0, 118, 0.4);
}

.control-group button.btn-primary:active {
  transform: translateY(0);
}

.info-box {
  background: #12040d;
  padding: 15px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1.5;
  color: #b8a2ae;
  border-left: 3px solid #f40076;
}

/* Sidebar Custom Form Fields Styling */
.control-group input[type="text"],
.control-group input[type="date"],
.control-group input[type="number"] {
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #3c152b;
  background: #12040d;
  color: #ffffff;
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 13px;
  outline: none;
  transition: all 0.2s ease-in-out;
  width: 100%;
}

.control-group input[type="text"]:focus,
.control-group input[type="date"]:focus,
.control-group input[type="number"]:focus {
  border-color: #f40076;
  box-shadow: 0 0 8px rgba(244, 0, 118, 0.2);
}

.control-group button.btn-outline {
  background: transparent;
  color: #f40076;
  border: 1px solid #f40076;
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
  transition: all 0.2s ease;
}

.control-group button.btn-outline:hover {
  background: rgba(244, 0, 118, 0.1);
  border-color: #ff3b9a;
  color: #ff3b9a;
}

.sidebar-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 250px;
  overflow-y: auto;
  padding-right: 5px;
  margin-bottom: 5px;
  border: 1px solid #1a151b;
  padding: 10px;
  border-radius: 6px;
  background: #060205;
}

/* Custom scrollbar for sidebar sections */
.sidebar-section::-webkit-scrollbar {
  width: 4px;
}
.sidebar-section::-webkit-scrollbar-track {
  background: #0a0a0f;
}
.sidebar-section::-webkit-scrollbar-thumb {
  background: #3c152b;
  border-radius: 2px;
}
.sidebar-section::-webkit-scrollbar-thumb:hover {
  background: #f40076;
}

/* Workspace Preview Area */
.preview-area {
  margin-left: 280px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  min-height: 100vh;
}

/* Page Containers */
.page {
  position: relative;
  width: 595.28pt; /* A4 Width */
  height: 841.89pt; /* A4 Height */
  background: #ffffff; /* Clean white A4 page background */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

/* Absolute coordinates positions utility */
.abs {
  position: absolute;
  box-sizing: border-box;
}

.bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.content-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

/* Nexa Fonts classes */
.font-heavy {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
}
.font-book {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 400;
}
.font-black {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 700;
}
.font-regular {
  font-family: 'Nexa-Regular', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 400;
}
.font-txt-book {
  font-family: 'NexaText-Book', 'Nexa Text', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 400;
}
.font-txt-heavy {
  font-family: 'NexaText-Heavy', 'Nexa Text', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
}
.font-txt-black {
  font-family: 'NexaText-Heavy', 'Nexa Text', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 700;
}

/* page-break rules for printing */
@media print {
  body {
    background: none;
    color: #000;
  }
  .no-print {
    display: none !important;
  }
  .preview-area {
    margin-left: 0 !important;
    padding: 0 !important;
  }
  .page {
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    page-break-after: always;
  }
  @page {
    size: A4 portrait;
    margin: 0;
  }
}

/* ==========================================================================
   Voucher Branding Layouts (Floating Cards & Header Pills)
   ========================================================================== */

/* Main Hotel Header Card floating at the top of Pages 2-7 */
.page-header-card {
  position: absolute;
  top: 0;
  left: 44.2pt;
  width: 506.6pt;
  height: 87.5pt;
  background: #f40076; /* Mivi Magenta */
  border-radius: 0 0 35px 35px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 10;
  color: #ffffff;
}

.page-header-card .hotel-title {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-size: 26pt;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 3px;
}

.page-header-card .hotel-subtitle {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 13.5pt;
  font-weight: 400;
  letter-spacing: 4px;
  margin-top: 3pt;
}

/* Floating Card Container */
.voucher-card {
  position: absolute;
  left: 44.2pt;
  width: 506.6pt;
  background: #ededed; /* Grey card background */
  border-radius: 35px; /* Increased to be proportional to the magenta pills */
  padding: 8pt;
  box-sizing: border-box;
  z-index: 5;
}

.voucher-card.white-card {
  background: #ffffff;
  border: none;
  color: #000000;
}
.voucher-card.white-card p {
  text-align: justify;
}

/* Page 2 details page layout override to make the cards flow dynamically and size to content */
#page2 {
  --scale: 1.0;
}

#page2 .content-layer {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: calc(14pt * var(--scale));
  padding: calc(100pt * var(--scale)) 44.2pt 35pt 44.2pt;
  box-sizing: border-box;
}

#page2 .page-header-card {
  height: calc(87.5pt * var(--scale));
  border-radius: 0 0 calc(35px * var(--scale)) calc(35px * var(--scale));
}

#page2 .page-header-card .hotel-title {
  font-size: calc(26pt * var(--scale));
  letter-spacing: calc(3px * var(--scale));
}

#page2 .page-header-card .hotel-subtitle {
  font-size: calc(13.5pt * var(--scale));
  margin-top: calc(3pt * var(--scale));
  letter-spacing: calc(4px * var(--scale));
}

#p2-transfer-card {
  margin-top: auto !important;
}

#page2 .voucher-card {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  height: auto;
  padding: calc(8pt * var(--scale));
  border-radius: calc(35px * var(--scale));
}

#page2 .card-header-bar {
  height: calc(40.5pt * var(--scale));
  line-height: calc(40.5pt * var(--scale));
  margin-bottom: calc(12pt * var(--scale));
  font-size: calc(13.5pt * var(--scale));
  border-radius: calc(35px * var(--scale));
}

#page2 .passenger-list {
  gap: calc(6pt * var(--scale));
  font-size: calc(11.5pt * var(--scale));
}

#page2 .booking-details {
  gap: calc(5pt * var(--scale));
  margin-top: calc(12pt * var(--scale));
  font-size: calc(11.5pt * var(--scale));
}

#page2 .flight-rows-container {
  gap: calc(7pt * var(--scale));
  margin-top: calc(5pt * var(--scale));
}

#page2 .flight-date {
  width: calc(82.0pt * var(--scale));
  height: calc(40.5pt * var(--scale));
  border-radius: calc(35px * var(--scale));
  font-size: calc(13pt * var(--scale));
  line-height: calc(40.5pt * var(--scale));
}

#page2 .flight-details {
  height: calc(40.5pt * var(--scale));
  border-radius: calc(35px * var(--scale));
}

#page2 .flight-details-meta {
  font-size: calc(9.5pt * var(--scale));
  margin-bottom: calc(1pt * var(--scale));
}

#page2 .flight-details-route {
  font-size: calc(12.5pt * var(--scale));
}

#page2 .luggage-pill {
  margin-top: calc(12pt * var(--scale));
  height: calc(25pt * var(--scale));
  font-size: calc(10.5pt * var(--scale));
  border-radius: calc(20px * var(--scale));
}

#page2 .transfer-body {
  font-size: calc(11.5pt * var(--scale));
}

#page2 .transfer-body div {
  margin-bottom: calc(8pt * var(--scale)) !important;
}

#page2 .transfer-body div:last-child {
  margin-bottom: 0 !important;
}

/* Card Header Pill */
.card-header-bar {
  width: 100%;
  box-sizing: border-box;
  height: 40.5pt;
  background: #f40076;
  border-radius: 35px; /* Increased by 50% from 23px */
  color: #ffffff;
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-size: 13.5pt;
  font-weight: 800;
  line-height: 40.5pt;
  text-align: center;
  margin-bottom: 12pt;
  letter-spacing: 0.5px;
}

/* Passenger List & Booking Details */
.passenger-list {
  display: flex;
  flex-direction: column;
  gap: 6pt;
  margin-left: 15pt;
  color: #1e1e24;
  font-size: 11.5pt;
  font-family: 'Nexa-Regular', 'Montserrat', sans-serif;
}

.booking-details {
  display: flex;
  flex-direction: column;
  gap: 5pt;
  margin-left: 15pt;
  margin-top: 12pt;
  color: #000000;
  font-size: 11.5pt;
}

/* Flight Grid inside Card 2 */
.flight-rows-container {
  display: flex;
  flex-direction: column;
  gap: 7pt;
  margin-top: 5pt;
}

.flight-row {
  display: flex;
  gap: 6.5pt;
}

.flight-date {
  width: 82.0pt;
  height: 40.5pt;
  background: #f40076;
  border-radius: 35px; /* Increased by 50% from 23px */
  color: #ffffff;
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-size: 13pt;
  font-weight: 800;
  line-height: 40.5pt;
  text-align: center;
}

.flight-details {
  flex: 1;
  height: 40.5pt;
  background: #f40076;
  border-radius: 35px; /* Increased by 50% from 23px */
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-left: 0;
}

.flight-details-meta {
  font-size: 9.5pt;
  opacity: 0.95;
  margin-bottom: 1pt;
}

.flight-details-route {
  font-size: 12.5pt;
  letter-spacing: 0.2px;
}

/* Luggage Black Pill */
.luggage-pill {
  position: relative;
  margin-top: 12pt;
  width: 100%;
  height: 25pt;
  background: #000000;
  border-radius: 20px;
  color: #ffffff;
  font-family: 'Nexa-Regular', 'Montserrat', sans-serif;
  font-size: 10.5pt;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
}

/* Transfer details styling */
.transfer-body {
  margin-left: 15pt;
  margin-right: 15pt;
  color: #000000;
  font-size: 11.5pt;
  line-height: 1.6;
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
}

/* Grid-2 for page content split */
.grid-2 {
  display: grid;
  grid-template-columns: 180pt 1fr;
  gap: 15pt;
  margin-top: 10pt;
  padding: 0 8pt;
}

.left-photos {
  display: flex;
  flex-direction: column;
  gap: 12pt;
}

.left-photos img {
  width: 100%;
  border-radius: 12px;
  object-fit: cover;
}

.right-columns {
  display: flex;
  flex-direction: column;
  gap: 12pt;
}

.right-column-card {
  background: #f40076;
  color: #ffffff;
  border-radius: 35px; /* Increased by 50% from 23px */
  padding: 12pt 15pt;
  box-sizing: border-box;
}

.right-column-card h4 {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-size: 11.5pt;
  font-weight: 800;
  margin-bottom: 3pt;
}

.right-column-card p {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 11pt;
  line-height: 1.3;
}

/* Tip Box */
.tip-box {
  background: #000000;
  color: #ffffff;
  border-radius: 35px; /* Increased by 50% from 23px */
  padding: 12pt 15pt;
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-size: 11pt;
  font-weight: 800;
  line-height: 1.35;
  margin-top: 12pt;
  margin-left: 8pt;
  margin-right: 8pt;
}

.tip-box.grey-tip {
  background: #e4e6eb;
  color: #1e1e24;
}

/* Page 5 Grid */
.grid-5 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16pt; /* Increased gap to distribute space */
  padding: 0 12pt;
  margin-top: 10pt;
}

.sec-item {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 11.5pt;
  line-height: 1.35;
  color: #000000;
  text-align: justify;
}

.sec-item strong {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
  color: #000000;
}

/* Photo Collages */
.photo-row-3 {
  position: absolute;
  left: 8pt;
  right: 8pt;
  bottom: 8pt;
  height: 180pt; /* Increased height to fill the card nicely */
  display: flex;
  gap: 0; /* Contiguous images */
  border-radius: 23px;
  overflow: hidden;
}

.photo-row-3 img {
  width: 33.333%; /* Force equal 1/3 width to prevent flexbox intrinsic width overflow */
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important; /* parent container clips outer corners */
}

.photo-grid-4 {
  position: absolute;
  left: 8pt;
  right: 8pt;
  bottom: 8pt;
  height: 275pt;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8pt;
  overflow: hidden;
}

.photo-grid-4 img {
  width: 100%;
  height: 100%;
  min-height: 0; /* Prevent grid items from expanding based on intrinsic image size */
  object-fit: cover;
  border-radius: 18px;
}

/* Page 7 Support columns */
.grid-7 {
  display: grid;
  grid-template-columns: 1fr 130pt;
  gap: 16pt;
  padding: 0 4pt;
  margin-top: 0pt;
  height: 520pt;
}

/* Page 7 photo wrapper (portrait with magenta border) */
.p7-photo-wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 35px;
  border: 3pt solid #f40076;
  box-sizing: border-box;
}

.p7-photo-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Page 7 Tip Box (plain text, no background) */
.p7-tip-box {
  font-size: 11pt;
  line-height: 1.35;
  margin-top: 14pt;
  padding: 0 12pt;
  color: #000000;
  text-align: justify;
}

.p7-tip-box strong {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
}

.p7-tip-box span {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 400;
}

.support-left {
  display: flex;
  flex-direction: column;
  gap: 12pt;
  color: #1e1e24;
}

.support-left p {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 11.5pt;
  line-height: 1.35;
}

.support-sec h4 {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-size: 12pt;
  font-weight: 800;
  margin-bottom: 2pt;
}

.support-sec p {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 11pt;
  line-height: 1.3;
}

.support-sec .phone-label, .support-sec .insta-label {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
  margin-top: 3pt;
  font-size: 11pt;
}

/* Hospedagem Extra 2-Column layout */
.extra-hotel-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 6pt;
  font-size: 11pt;
  color: #000000;
  margin-left: 15pt;
  margin-right: 15pt;
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  line-height: 1.4;
}

.extra-col-left, .extra-col-right {
  display: flex;
  flex-direction: column;
  gap: 5pt;
}

#page2 .extra-hotel-grid {
  gap: calc(5pt * var(--scale));
  font-size: calc(10pt * var(--scale));
  margin-left: calc(15pt * var(--scale));
  margin-right: calc(15pt * var(--scale));
}

#page2 .extra-col-left, #page2 .extra-col-right {
  gap: calc(4pt * var(--scale));
}

/* Background Layers on Pages 2-7 */
.bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

#p3-bg, #p4-bg, #p5-bg, #p6-bg, #p7-bg {
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}

/* ==========================================================================
   Page 4 Rows Layout Styles (Turn 22)
   ========================================================================== */

.page4-row-container {
  display: flex;
  flex-direction: column;
  gap: 12pt;
  padding: 0 8pt;
  margin-top: 10pt;
}

.page4-card {
  background: #f40076;
  color: #ffffff;
  border-radius: 23px;
  display: flex;
  align-items: center;
  padding: 8pt;
  gap: 12pt;
  box-sizing: border-box;
  height: 160pt; /* Increased height to fill the space */
}

.page4-card img {
  width: 222pt; /* Increased width to match aspect ratio */
  height: 144pt; /* Increased height to fill card */
  object-fit: cover;
  border-radius: 18px;
}

.page4-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.page4-card-content p {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-size: 11pt;
  line-height: 1.35;
  text-align: justify !important;
  margin: 0;
  color: #ffffff !important;
}

.page4-card-content strong {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
  color: #ffffff !important;
}

/* Page 4 Tip Box (plain text at bottom) */
.p4-tip-box {
  font-size: 11pt;
  line-height: 1.35;
  margin-top: 14pt;
  padding: 0 8pt;
  color: #000000;
  text-align: justify;
}

.p4-tip-box strong {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
}

.p4-tip-box span {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 400;
}

/* Page 5 Tip Box (plain text) */
.p5-tip-box {
  font-size: 11pt;
  line-height: 1.35;
  margin-top: 14pt;
  padding: 0 12pt;
  color: #000000;
  text-align: justify;
}

.p5-tip-box strong {
  font-family: 'NexaText-Heavy', 'Nexa-Heavy', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 800;
}

.p5-tip-box span {
  font-family: 'NexaText-Book', 'Nexa-Book', 'Nexa', 'Montserrat', sans-serif;
  font-weight: 400;
}
