/*
 Theme Name:   Freyt Child
 Theme URI:    http://freyt.bold-themes.com
 Description:  Freyt child theme
 Author:       BoldThemes
 Author URI:   http://bold-themes.com
 Template:     freyt
 Version:      1.0.4
 Tags:         one-column, right-sidebar, custom-menu, featured-images, sticky-post, theme-options, threaded-comments, translation-ready
 Text Domain:  freyt-child
*/


/* Theme customization starts here
-------------------------------------------------------------- */


* COLONNE — ALLINEAMENTO GLOBALE */

.bt_bb_column_content {
  text-align: left;
}

.bt_bb_column_content h1,
.bt_bb_column_content h2,
.bt_bb_column_content h3,
.bt_bb_column_content h4,
.bt_bb_column_content h5,
.bt_bb_column_content h6,
.bt_bb_column_content p,
.bt_bb_column_content .bt_bb_headline_content {
  text-align: inherit;
}

/* UTILITY — ALLINEAMENTO */

.align-left,   .align-left   * { text-align: left !important; }
.align-center, .align-center * { text-align: center !important; }
.align-right,  .align-right  * { text-align: right !important; }

/* UTILITY — DIMENSIONI TITOLI */

.title-xs, .title-xs *, .title-xs .bt_bb_headline_content,
.title-xs h1, .title-xs h2, .title-xs h3, .title-xs h4 {
  font-size: clamp(14px, 1.2vw, 18px) !important;
  font-family: 'Montserrat', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
}
.title-sm, .title-sm *, .title-sm .bt_bb_headline_content,
.title-sm h1, .title-sm h2, .title-sm h3, .title-sm h4 {
  font-size: clamp(18px, 1.8vw, 26px) !important;
  font-family: 'Montserrat', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
}
.title-md, .title-md *, .title-md .bt_bb_headline_content,
.title-md h1, .title-md h2, .title-md h3, .title-md h4 {
  font-size: clamp(22px, 2.2vw, 32px) !important;
  font-family: 'Montserrat', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  line-height: 1.05 !important;
}
.title-lg, .title-lg *, .title-lg .bt_bb_headline_content,
.title-lg h1, .title-lg h2, .title-lg h3, .title-lg h4 {
  font-size: clamp(28px, 3vw, 42px) !important;
  font-family: 'Montserrat', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
}
.title-xl, .title-xl *, .title-xl .bt_bb_headline_content,
.title-xl h1, .title-xl h2, .title-xl h3, .title-xl h4 {
  font-size: clamp(34px, 4vw, 64px) !important;
  font-family: 'Montserrat', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  line-height: 0.98 !important;
}
.title-xxl, .title-xxl *, .title-xxl .bt_bb_headline_content,
.title-xxl h1, .title-xxl h2, .title-xxl h3, .title-xxl h4 {
  font-size: clamp(42px, 5.5vw, 86px) !important;
  font-family: 'Montserrat', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  line-height: 0.95 !important;
}

/* UTILITY — PADDING */

.pad-0   { padding: 0 !important; }
.pad-xs  { padding: 12px !important; }
.pad-sm  { padding: 24px !important; }
.pad-md  { padding: 48px !important; }
.pad-lg  { padding: 72px !important; }
.pad-xl  { padding: 96px !important; }

.pad-top-0    { padding-top: 0 !important; }
.pad-top-sm   { padding-top: 24px !important; }
.pad-top-md   { padding-top: 48px !important; }
.pad-top-lg   { padding-top: 72px !important; }
.pad-bottom-0  { padding-bottom: 0 !important; }
.pad-bottom-sm { padding-bottom: 24px !important; }
.pad-bottom-md { padding-bottom: 48px !important; }
.pad-bottom-lg { padding-bottom: 72px !important; }
.pad-left-0    { padding-left: 0 !important; }
.pad-left-sm   { padding-left: 24px !important; }
.pad-left-md   { padding-left: 48px !important; }
.pad-right-0   { padding-right: 0 !important; }
.pad-right-sm  { padding-right: 24px !important; }
.pad-right-md  { padding-right: 48px !important; }

/* UTILITY — MARGIN */

.margin-0   { margin: 0 !important; }
.margin-sm  { margin: 24px !important; }
.margin-md  { margin: 48px !important; }
.margin-top-0    { margin-top: 0 !important; }
.margin-top-sm   { margin-top: 24px !important; }
.margin-top-md   { margin-top: 48px !important; }
.margin-bottom-0  { margin-bottom: 0 !important; }
.margin-bottom-sm { margin-bottom: 24px !important; }
.margin-bottom-md { margin-bottom: 48px !important; }

/* UTILITY — GAP */

.gap-0  { gap: 0 !important; }
.gap-sm { gap: 16px !important; }
.gap-md { gap: 32px !important; }
.gap-lg { gap: 48px !important; }

/* UTILITY — MAX WIDTH */

.max-w-sm,   .max-w-sm   > .bt_bb_column_content { max-width: 600px !important; }
.max-w-md,   .max-w-md   > .bt_bb_column_content { max-width: 900px !important; }
.max-w-lg,   .max-w-lg   > .bt_bb_column_content { max-width: 1200px !important; }
.max-w-full, .max-w-full > .bt_bb_column_content { max-width: 100% !important; }

/* UTILITY — BORDI */

.no-dividers .bt_bb_column_content {
  border-right: none !important;
  border-left: none !important;
}

/* UTILITY — IMMAGINI CENTRATE */

.img-center .bt_bb_column_content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.img-center img {
  display: block;
  margin: 0 auto;
}
.fp-wrap {
  display: flex;
  gap: 2rem;
  align-items: center;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}
.fp-wrap-center {
  display: block;
  overflow: hidden;
  width: 50%;
  margin: 0 auto;
}

.fp-left { flex: 0 0 55%; }
.fp-left img { width: 100%; height: 100%; object-fit: cover; display: block; }

.fp-right { flex: 1; padding: 2rem; }
.fp-center { padding: 1rem; }

.fp-title { font-weight: 700; margin-bottom: 1rem; }

/* Qui la formattazione interna è libera */
.fp-content ol, .fp-content ul { padding-left: 1.5em; }
.fp-content li { margin-bottom: .4em; }
.fp-content strong { font-weight: 700; }
.fp-content em { font-style: italic; }
.fp-no-offer {
    font-style: italic;
    padding: 20px 0;
	font-size: 18px;
}
@media (max-width: 820px) {
.fp-wrap {
  display: block;
}
.fp-wrap-center {
  width: 100%;
}
}
.service-btn-primary-offerte a, .service-btn-primary-offerte .bt_bb_link_offerta {
  background: #1C468A !important;
  color: var(--white) !important;
  border: 2px solid #1C468A !important;
}
.service-btn-primary-offerte a, .service-btn-primary-offerte .bt_bb_link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  text-decoration: none !important;
  font-family: var(--font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-btn-primary-offerte a:hover, .service-btn-primary-offerte .bt_bb_link:hover {
  background: #d97516 !important;
  border-color: #d97516 !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(240,131,27,0.30);
}
.bt_bb_button.bt_bb_style_outline_offerte a {
box-shadow: 0 0 0 1px var(--primary-color, #f4f7fc) inset;
}