/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/*
 * Focus Caravaning CI
 *   Rot     #b22122
 *   Blau    #141f52  (Text + Footer)
 *   Font    Roboto Condensed (self-hosted)
*/



@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://shop.focus-caravaning.de/wp-content/themes/generatepress_child/ffonts/roboto-condensed-v31-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://shop.focus-caravaning.de/wp-content/themes/generatepress_child/ffonts/roboto-condensed-v31-latin-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://shop.focus-caravaning.de/wp-content/themes/generatepress_child/ffonts/roboto-condensed-v31-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('https://shop.focus-caravaning.de/wp-content/themes/generatepress_child/ffonts/roboto-condensed-v31-latin-800.woff2') format('woff2');
}

/* ----------------------------------------------------------
   BODY & FLIESSTEXT
   ---------------------------------------------------------- */
body,
.site-main p,
.entry-content p,
.woocommerce p,
.widget {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-size:   15px;
  line-height: 1.7;
  color:       #141f52;
}

/* ----------------------------------------------------------
   ÜBERSCHRIFTEN
   ---------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.woocommerce-products-header__title {
  font-family:    'Roboto Condensed', Arial, sans-serif;
  font-weight:    800;
  color:          #141f52;
  line-height:    1.1;
  letter-spacing: -0.01em;
}

h1 { font-size: 2.8rem;  }
h2 { font-size: 2.1rem;  }
h3 { font-size: 1.6rem;  }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.05rem; }
h6 { font-size: 0.9rem;  }

/* ----------------------------------------------------------
   NAVIGATION
   ---------------------------------------------------------- */
.main-navigation a,
.nav-primary a,
.site-header .menu > li > a {
  font-family:    'Roboto Condensed', Arial, sans-serif;
  font-size:      22px;
  font-weight:    800;
  letter-spacing: 0.04em;
  color:          #141f52;
  transition:     color 0.2s ease;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.nav-primary a:hover {
  color:           #b22122;
  text-decoration: none;
}

/* "Kontakt"-Button im Nav */
.main-navigation .menu-item-kontakt > a,
.nav-primary .menu-item-kontakt > a {
  background:    #b22122;
  color:         #fff !important;
  border-radius: 50px;
  padding:       6px 18px !important;
  transition:    background 0.2s ease;
}
.main-navigation .menu-item-kontakt > a:hover,
.nav-primary .menu-item-kontakt > a:hover {
  background: #8f1a1a;
}

/* ----------------------------------------------------------
   LINKS
   ---------------------------------------------------------- */
a       { color: #b22122; }
a:hover { color: #8f1a1a; text-decoration: none; }

/* ----------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------- */
.button,
.wp-block-button__link,
input[type="submit"],
button[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  font-family:     'Roboto Condensed', Arial, sans-serif !important;
  font-size:       14px !important;
  font-weight:     600 !important;
  letter-spacing:  0.06em !important;
  text-transform:  uppercase !important;
  background:      #b22122 !important;
  color:           #fff !important;
  border:          none !important;
  border-radius:   50px !important;
  padding:         10px 26px !important;
  cursor:          pointer;
  transition:      background 0.2s ease, transform 0.15s ease !important;
  text-decoration: none !important;
  display:         inline-block;
}

.button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background:  #8f1a1a !important;
  color:       #fff !important;
  transform:   translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background:  transparent !important;
  color:       #b22122 !important;
  border:      2px solid #b22122 !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background:  #b22122 !important;
  color:       #fff !important;
}

/* ----------------------------------------------------------
   ALLGEMEIN
   ---------------------------------------------------------- */
.separate-containers .comments-area, .separate-containers .inside-article, .separate-containers .page-header, .separate-containers .paging-navigation {
    padding: 0 40px;
}

/* ----------------------------------------------------------
   WOOCOMMERCE
   ---------------------------------------------------------- */
.woocommerce .price,
.woocommerce span.price,
.woocommerce div.product p.price {
  color:       #b22122 !important;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size:   1rem;
  padding:     12px 14px 4px;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product span.price {
  padding: 0 14px 8px;
  display: block;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  margin: 0 14px 14px;
}

.woocommerce span.onsale {
  background:    #b22122 !important;
  border-radius: 4px !important;
}

/* Produktbox */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border:        1px solid #E4E8EF;
  border-radius: 8px;
  overflow:      hidden;
  transition:    box-shadow 0.2s ease, transform 0.2s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
  transform:  translateY(-2px);
}

/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */
.site-footer,
#colophon {
  background: #141f52;
  color:      rgba(255,255,255,0.75);
}

.site-footer a,
#colophon a {
  color:      rgba(255,255,255,0.7);
}

.site-footer a:hover,
#colophon a:hover {
  color: #fff;
}

.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
  color:          #fff;
  font-family:    'Roboto Condensed', Arial, sans-serif;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size:      0.9rem;
}

/* ----------------------------------------------------------
   LEARNPRESS
   ---------------------------------------------------------- */

/* Seitentitel */
.learn-press-courses-header h1 {
  font-family:   'Roboto Condensed', Arial, sans-serif;
  font-weight:   800;
  color:         #141f52;
  margin-bottom: 1.5rem;
}

/* Suchleiste + Sortierung */
.lp-courses-bar {
  display:       flex;
  align-items:   center;
  gap:           1rem;
  margin-bottom: 1.5rem;
  flex-wrap:     wrap;
}

.search-courses {
  display:       flex;
  border:        1px solid #E4E8EF;
  border-radius: 50px;
  overflow:      hidden;
}

.search-courses input[type="search"] {
  border:      none !important;
  box-shadow:  none !important;
  padding:     8px 16px !important;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-size:   14px;
  color:       #141f52;
  min-width:   220px;
}

.search-courses button {
  background:    #b22122 !important;
  border:        none !important;
  border-radius: 0 !important;
  padding:       8px 16px !important;
  color:         #fff !important;
  cursor:        pointer;
}

.courses-order-by-wrapper select {
  border:        1px solid #E4E8EF;
  border-radius: 50px;
  padding:       7px 16px;
  font-family:   'Roboto Condensed', Arial, sans-serif;
  font-size:     14px;
  color:         #141f52;
  appearance:    none;
}

/* Grid/List-Umschalter */
.switch-layout label           { cursor: pointer; opacity: 0.4; transition: opacity 0.2s; }
.switch-layout input:checked + label { opacity: 1; }

/* Kurs-Liste */
.learn-press-courses.list {
  list-style:     none;
  padding:        0;
  margin:         0;
  display:        flex;
  flex-direction: column;
  gap:            1rem;
}

/* Kurs-Grid */
.learn-press-courses:not(.list) {
  list-style:             none;
  padding:                0;
  margin:                 0;
  display:                grid;
  grid-template-columns:  repeat(auto-fill, minmax(280px, 1fr));
  gap:                    1.25rem;
}

/* Kurs-Card */
.learn-press-courses .course-item {
  display:       flex;
  background:    #fff;
  border:        1px solid #E4E8EF;
  border-radius: 8px;
  overflow:      hidden;
  transition:    box-shadow 0.2s ease, transform 0.2s ease;
}

.learn-press-courses .course-item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
  transform:  translateY(-2px);
}

/* Grid: vertikal stapeln */
.learn-press-courses:not(.list) .course-item {
  flex-direction: column;
}

/* Kursbild */
.course-thumbnail { flex-shrink: 0; }

.learn-press-courses.list .course-thumbnail { width: 200px; }

.course-thumbnail img,
.course-img img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
  min-height: 130px;
}

/* Kurs-Inhalt */
.course-content {
  padding:        14px 16px;
  display:        flex;
  flex-direction: column;
  gap:            6px;
  flex:           1;
}

/* Kurstitel */
.wap-course-title {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-size:   1.1rem;
  font-weight: 700;
  margin:      0;
  line-height: 1.2;
}

.wap-course-title a       { color: #141f52; transition: color 0.2s; }
.wap-course-title a:hover { color: #b22122; }

/* Instructor */
.course-instructor-category,
.course-instructor-category a {
  font-size: 0.8rem;
  color:     #606878;
}

/* Meta (Dauer, Level, Lektionen…) */
.course-wrap-meta {
  display:   flex;
  flex-wrap: wrap;
  gap:       0.5rem 1rem;
  font-size: 0.8rem;
  color:     #606878;
}

.meta-item {
  display:     flex;
  align-items: center;
  gap:         0.25rem;
}

/* Kurzbeschreibung */
.course-short-description {
  font-size:   0.9rem;
  color:       #606878;
  margin:      0;
  line-height: 1.5;
}

/* Preis + Button */
.course-info {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  margin-top:      auto;
  padding-top:     10px;
  border-top:      1px solid #E4E8EF;
}

.origin-price {
  text-decoration: line-through;
  color:           #9aa0b0;
  font-size:       0.85rem;
  margin-right:    4px;
}

.course-item-price .price {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-size:   1.1rem;
  font-weight: 700;
  color:       #b22122;
}

/* "Jetzt kaufen"-Button */
.course-readmore a {
  font-family:     'Roboto Condensed', Arial, sans-serif !important;
  font-size:       13px !important;
  font-weight:     600 !important;
  text-transform:  uppercase !important;
  letter-spacing:  0.05em !important;
  background:      #b22122 !important;
  color:           #fff !important;
  border-radius:   50px !important;
  padding:         7px 18px !important;
  white-space:     nowrap;
  transition:      background 0.2s ease !important;
  text-decoration: none !important;
}

.course-readmore a:hover {
  background: #8f1a1a !important;
}

/* ----------------------------------------------------------
   LEARNPRESS – EINZELKURS (Single Course)
   ---------------------------------------------------------- */

/* Header-Bereich (dunkles Navy wie Footer) */
.lp-single-course__header {
  background:   #141f52;
  padding:      2rem 0;
  margin-bottom: 2rem;
}

.lp-single-course__header__inner {
  max-width: 1200px;
  margin:    0 auto;
  padding:   0 1.5rem;
}

/* Breadcrumb */
.learn-press-breadcrumb {
  list-style:  none;
  padding:     0;
  margin:      0 0 0.75rem;
  display:     flex;
  align-items: center;
  gap:         0.4rem;
  font-size:   0.82rem;
}

.learn-press-breadcrumb li,
.learn-press-breadcrumb a,
.learn-press-breadcrumb span {
  color: rgba(255,255,255,0.65);
}

.learn-press-breadcrumb a:hover {
  color: #fff;
}

.learn-press-breadcrumb .breadcrumb-delimiter {
  color: rgba(255,255,255,0.35);
  font-size: 0.7rem;
}

/* Kurstitel */
.lp-single-course__header .course-title,
.lp-single-course__header h1 {
  font-family:   'Roboto Condensed', Arial, sans-serif;
  font-weight:   800;
  font-size:     2.2rem;
  color:         #fff;
  margin:        0 0 0.5rem;
  line-height:   1.1;
}

/* Instructor + Datum im Header */
.lp-single-course__header .course-instructor-category,
.lp-single-course__header .course-instructor-category a,
.lp-single-course__header .course-instructor-category label,
.lp-single-course__header .lp-single-course-info-one,
.lp-single-course__header .item-meta {
  color:     rgba(255,255,255,0.7);
  font-size: 0.85rem;
}

.lp-single-course__header .course-instructor-category a:hover {
  color: #fff;
}

/* ------ Zweispaltiges Layout ------ */
.lp-single-course-main {
  display: flex;
  gap:     2rem;
  align-items: flex-start;
}

.lp-single-course-main__left  { flex: 1; min-width: 0; }
.lp-single-course-main__right { width: 300px; flex-shrink: 0; }

@media (max-width: 768px) {
  .lp-single-course-main { flex-direction: column; }
  .lp-single-course-main__right { width: 100%; }
}

/* ------ Rechte Sidebar (Kurs-Karte) ------ */
.lp-single-course-main__right__inner {
  border:        1px solid #E4E8EF;
  border-radius: 8px;
  overflow:      hidden;
  position:      sticky;
  top:           80px;
}

/* Kursbild */
.lp-single-course-main__right .course-img img {
  width:      100%;
  height:     180px;
  object-fit: cover;
  display:    block;
}

/* Preis */
.lp-single-course-main__right .course-price {
  display:     block;
  padding:     12px 16px 8px;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size:   1.4rem;
  color:       #b22122;
}

.lp-single-course-main__right .origin-price {
  text-decoration: line-through;
  color:           #9aa0b0;
  font-size:       0.9rem;
  margin-right:    6px;
}

/* Meta-Liste (Teilnehmer, Lektionen, Dauer…) */
.info-metas {
  padding:       0 16px 8px;
  border-bottom: 1px solid #E4E8EF;
}

.info-meta-item {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  padding:         6px 0;
  font-size:       0.85rem;
  border-bottom:   1px solid #f0f2f5;
}

.info-meta-item:last-child { border-bottom: none; }

.info-meta-left {
  color:       #606878;
  display:     flex;
  align-items: center;
  gap:         0.4rem;
}

.info-meta-left i { color: #b22122; font-size: 0.9rem; }

.info-meta-right {
  font-weight: 600;
  color:       #141f52;
}

/* "Jetzt kaufen"-Button */
.course-buttons {
  padding: 14px 16px;
}

.course-buttons .lp-button,
.course-buttons button {
  width:           100% !important;
  text-align:      center !important;
  justify-content: center !important;
  display:         block !important;
  font-family:     'Roboto Condensed', Arial, sans-serif !important;
  font-size:       15px !important;
  font-weight:     600 !important;
  text-transform:  uppercase !important;
  letter-spacing:  0.06em !important;
  background:      #b22122 !important;
  color:           #fff !important;
  border:          none !important;
  border-radius:   50px !important;
  padding:         11px 20px !important;
  cursor:          pointer !important;
  transition:      background 0.2s ease !important;
}

.course-buttons .lp-button:hover,
.course-buttons button:hover {
  background: #8f1a1a !important;
}

/* Social Share */
.social-swapper {
  padding:   0 16px 14px;
  font-size: 0.82rem;
  color:     #606878;
}

.share-toggle-icon {
  display:     flex;
  align-items: center;
  gap:         0.4rem;
  cursor:      pointer;
  color:       #606878;
  transition:  color 0.2s;
}

.share-toggle-icon:hover { color: #b22122; }

/* ------ Linker Content-Bereich ------ */

/* Kursbeschreibung */
.lp-course-description {
  font-size:     1rem;
  line-height:   1.75;
  color:         #141f52;
  margin-bottom: 1.5rem;
}

/* Info-Meldung (z.B. "no curriculum") */
.learn-press-message.info {
  background:    rgba(20,31,82,0.06);
  border-left:   4px solid #141f52;
  border-radius: 0 6px 6px 0;
  padding:       0.75rem 1rem;
  font-size:     0.9rem;
  color:         #141f52;
  margin-bottom: 1.5rem;
}

/* Dozenten-Bereich */
.lp-section-instructor > .section-title {
  font-family:   'Roboto Condensed', Arial, sans-serif;
  font-weight:   700;
  font-size:     1.2rem;
  color:         #141f52;
  border-bottom: 2px solid #E4E8EF;
  padding-bottom: 0.5rem;
  margin-bottom:  1rem;
}

.lp-instructor-info {
  display:     flex;
  gap:         1rem;
  align-items: flex-start;
}

.instructor-avatar img {
  width:         64px;
  height:        64px;
  border-radius: 50%;
  object-fit:    cover;
  border:        2px solid #E4E8EF;
}

.instructor-display-name {
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-weight: 700;
  font-size:   1rem;
  color:       #141f52;
}

.instructor-item-meta {
  font-size: 0.82rem;
  color:     #606878;
}

/* Verwandte Kurse */
.lp-list-courses-related {
  margin-top:  3rem;
  padding-top: 2rem;
  border-top:  2px solid #E4E8EF;
}

/* disable learnpress side bar on overview */
.lp-archive-courses-sidebar {
	display:none !important;
}