/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

@font-face {
  font-family: 'Poppins';
  src: url('assets/fonts/Poppins-Regular.woff2') format('woff2'),
    url('assets/fonts/Poppins-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('assets/fonts/Poppins-Italic.woff2') format('woff2'),
    url('assets/fonts/Poppins-Italic.woff') format('woff');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('assets/fonts/Poppins-Bold.woff2') format('woff2'),
    url('assets/fonts/Poppins-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Copperplate Gothic';
  src: url('assets/fonts/CopperplateGothic-Bold.woff2') format('woff2'),
    url('assets/fonts/CopperplateGothic-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}



:root {
  --theme-font-family: 'Poppins';
  --theme--color-error: rgba(218, 0, 28, 0.7); /* taken from WC */
}

/* general: font */
* {
  font-family: 'Poppins' !important;
}

/* headings: font */
h1 {
  font-family: 'Copperplate Gothic' !important;
}


.entry-content a h2,
.entry-content a h3,
.entry-content a h4,
.entry-content a h5,
.entry-content a h6 {
  color: var(--theme-link-initial-color);
}

.entry-content select,
.entry-content textarea,
.entry-content input:is([type="url"], [type="tel"], [type="text"], [type="time"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="number"], [type="search"], [type="password"]),
.entry-content fieldset .wc-stripe-elements-field,
.entry-content .ff-inherit-theme-style .ff-el-form-control:not([size]):not([multiple]) {
  background-color: var(--theme-palette-color-8);
}

/* buttons */
main .stk-block .stk-button-group {
  column-gap: var(--theme-content-spacing);
  row-gap: var(--theme-content-spacing);
}

/* custom: buttons: hover color */
body .button:hover,
body .button:focus,
body button.button:hover,
body button.button:focus {
  color: var(--theme-palette-color-3);
}


/* header: logo: font */
[data-header*="type-1"] .ct-header [data-id="logo"] .site-title a {
  font-family: 'Copperplate Gothic' !important;
}

/* main */
main [data-vertical-spacing="top:bottom"],
main [data-vertical-spacing="bottom"] {
  padding-bottom: calc(var(--theme-content-vertical-spacing) * 2);
}

/* footer: widgets */
footer .ct-widget.widget_block {
  width: 100%;
}
/* footer: widgets: logo */
footer [data-column="widget-area-1"] .widget_block:first-child {
  margin-top: -130px;
}
/* footer: widgets: socials */
footer .footer-row-socials {
  position: relative;
}
footer .footer-row-socials::before {
  border-top: 14px solid rgba(255, 255, 255, 1.05);
  content: "";
  position: absolute;
  width: 90%;
  z-index: 0;
}
footer .footer-row-socials .ct-block-wrapper {
  background: var(--theme-palette-color-3);
  border-radius: 40%;
  padding: 0 120px;
  z-index: 1;
}

.has-background-lightgreen a {
  color: var(--theme-palette-color-6);
}


/* lists */
.entry-content .wp-block-list {
  padding-left: 5340px;
}
.entry-content .wp-block-list li {
  margin-bottom: calc(var(--theme-content-spacing) / *4);
  padding-left: calc(var(--theme-content-spacing) / 4);
}
.entry-content .wp-block-list li ul li {
  margin-bottom: calc(var(--theme-content-spacing) / 5);
}
.entry-content .wp-block-list li::marker {
  color: var(--theme-palette-color-6);
  font-weight: normal;
}


/* table */
.entry-content table:not(.shop_table) {
  margin-block-end: var(--theme-content-spacing);
}
.entry-content table:not(.shop_table) th,
.entry-content table:not(.shop_table) td {
  border-color: var(--theme-palette-color-1);
  padding: 4.5em;
}
.entry-content table:not(.shop_table) th {
  background-color: var(--theme-palette-color-8);
  text-align: left;
}

/* table: preise */
.wp-block-columns.htz-hs.preise {
  margin-bottom: calc(2 * var(--theme-content-spacing));
}
.htz-hs.preise table:not(.ts2) th:first-child {
  width: 650px;
}

/* table: termine */
.wp-block-columns.htz-hs.termine {
  margin-bottom: calc(6 * var(--theme-content-spacing));
}
.htz-hs.termine table th:first-child {
  width: 640px;
}

/* 404 page */
body.error404 h1.page-title {
  color: var(--theme-headings-color);
  font-size: 348px;
}


/* archive: header: kursangebote: archive label */
body[data-prefix="hundeschule_archive"] header.entry-header .ct-title-label {
  font-size: 18px;
}
/* archive: header: kursangebote: archive label: hide the "archive" label */
body[data-prefix="hundeschule_archive"].post-type-archive-hundeschule header.entry-header .ct-title-label {
  display: none;
}


/* CPT: Hundeschule: single */
/* columns */
body[data-prefix="hundeschule_single"] .entry-content .wp-block-columns {
  margin-bottom: calc(var(--theme-content-spacing) * 2);
}


/* page numbers */
main [data-pagination="simple"] .page-numbers {
  border-color: var(--theme-palette-color-1);
  color: var(--theme-palette-color-1);
}
main [data-pagination="simple"] .page-numbers:hover,
main [data-pagination="simple"] .page-numbers:focus {
  border-color: var(--theme-palette-color-3) !important;
  color: var(--theme-palette-color-3);
}

main [data-pagination="simple"] .page-numbers.current {
  background: none;
  border-color: var(--theme-palette-color-5);
  color: var(--theme-palette-color-5);
}
main [data-pagination="simple"] .page-numbers.current:hover,
main [data-pagination="simple"] .page-numbers.current:focus {
  border-color: var(--theme-palette-color-5) !important;
  color: var(--theme-palette-color-5);
}
main [data-pagination="simple"] .prev,
main [data-pagination="simple"] .next {
  border-color: var(--theme-palette-color-1);
  color: var(--theme-palette-color-1);
}
main [data-pagination="simple"] .prev:hover,
main [data-pagination="simple"] .next:focus {
  border-color: var(--theme-palette-color-3) !important;
  color: var(--theme-palette-color-3);
}


/* PLUGIN: WSForms */
/* button: submit */
.wsf-field-wrapper[data-type="submit"] {
  margin-top: var(--theme-content-spacing);
}
button.wsf-button.wsf-button-primary {
  border-width: 2px;
  color: var(--theme-palette-color-7);
  font-size: 18px;
  font-weight: bold;
}
button.wsf-button.wsf-button-primary:hover,
button.wsf-button.wsf-button-primary:focus {
  background: none;
  border-color: var(--theme-palette-color-1);
  color: var(--theme-palette-color-1);
}
/* alert: success */
[role="alert"] .wsf-alert.wsf-alert-success {
  background-color: var(--theme-palette-color-4) !important;
  border-color: var(--theme-palette-color-1) !important;
  color: var(--theme-palette-color-3) !important;
}


/* PLUGIN: RateMyPost Ratings */
.rmp-widgets-container {
  display: none;
}


/* PLUGIN: WooCommerce */
/* mini cart: hide deouble image */
body .woocommerce-mini-cart-item .wc-gzd-cart-item-thumbnail {
  display: none;
}
/* mini cart: divider: color */
body .woocommerce-mini-cart__total {
  --mini-cart-divider-color: var(--theme-border-color);
}
/* mini cart: buttons: line-height */
body .ct-cart-content .woocommerce-mini-cart__buttons .button {
  line-height: 1.35;
}
/* (mini) cart: buttons: hover color */
body .ct-cart-content .woocommerce-mini-cart__buttons .button:hover,
body .ct-cart-content .woocommerce-mini-cart__buttons .button:focus,
.woocommerce button.button:hover:hover,
.woocommerce button.button:hover:focus {
  color: var(--theme-palette-color-3);
}

/* infos: backround */
.entry-content .woocommerce-info,
/*.entry-content .woocommerce-error,*/
.entry-content .woocommerce-message,
.entry-content .woocommerce-thankyou-order-received,
.entry-content .wc-block-components-notice-banner.is-info {
  background-color: var(--theme-palette-color-2) !important;
}


/* CPT: product */
/* archive: set background to items */
body[data-prefix="woo_categories"] ul.products li.product {
  background-color: var(--theme-palette-color-8);
  border-radius: var(--theme-border-radius);
  overflow: hidden;
  padding-bottom: 24px;
}
/* archive: image: border bottom no radius */
body[data-prefix="woo_categories"] ul.products li.product figure .ct-media-container {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  filter: drop-shadow(0px 2px 5px rgba(120, 120, 120, 0.5));
}
/* archive: children padding */
body[data-prefix="woo_categories"] ul.products li.product .woocommerce-loop-product__title,
body[data-prefix="woo_categories"] ul.products li.product .price,
body[data-prefix="woo_categories"] ul.products li.product .entry-excerpt {
  margin-left: 24px;
  margin-right: 24px;
}

/* breadcrumb mouse over */
body[data-prefix="product"] nav.ct-breadcrumbs a:hover,
body[data-prefix="product"] nav.ct-breadcrumbs a:focus {
  color: var(--theme-palette-color-3);
}
/* additional info */
body[data-prefix="product"] .product-entry-wrapper .wc-gzd-additional-info {
  font-size: 15px;
}
/* variations: label: bold */
body[data-prefix="product"] .product-entry-wrapper .variations_form label {
  font-weight: bold;
}
/* variations: select: border */
body[data-prefix="product"] .product-entry-wrapper .variations_form select {
  border: 1px solid var(--theme-palette-color-1);
  border-radius: 4px;
}
/* button: show cart */
body[data-prefix="product"] .product-entry-wrapper a.added_to_cart.wc-forward {
  --theme-button-text-initial-color: var(--theme-text-color);
  --theme-button-text-hover-color: var(--theme-text-color);
  --theme-button-background-initial-color: rgba(224,229,235,0.6);
  --theme-button-background-hover-color: rgba(224,229,235,1);
}
/* variations */
body[data-prefix="product"] .product-entry-wrapper form.variations_form table.variations {
  margin-bottom: 48px;
}
body[data-prefix="product"] .product-entry-wrapper form.variations_form button.reset_variations {
  color: var(--theme-button-background-initial-color);
}


/* cart: coupon error message */
.woocommerce-cart-form__contents .coupon {
  align-items: center;
  gap: 4px;
}
.woocommerce-cart-form__contents .coupon-error-notice {
  margin-bottom: 0;
}
body.woocommerce-page .coupon-error-notice {
  color: var(--theme--color-error);
  font-size: 15px;
}
body.woocommerce-cart a.button.checkout-button {
  font-weight: bold;
  margin-bottom: 32px;
}


/* checkout: returning customer, login button */
body.woocommerce-checkout .woocommerce-form-login-toggle {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 2rem;
}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
  margin-bottom: 0;
  padding-right: 24px;
}
/* checkout: hide optional text */
.entry-content .ct-woocommerce-checkout span.optional {
  color: var(--theme-palette-color-4);
  font-size: 13px;
  font-weight: normal;
}
/* checkout: make headings bigger */
.entry-content .ct-woocommerce-checkout h3 {
  font-size: 24px;
}
/* checkout: make label bold */
body.woocommerce-page form .form-row label {
  font-weight: 600;
}
body.woocommerce-page form .form-row .required {
  color: var(--theme--color-error);
}
/* error below input */
body.woocommerce-page form .form-row .checkout-inline-error-message {
  font-size: 14px;
  color: var(--theme--color-error);
}

/* checkout: button: place order */
body.woocommerce-page #place_order {
  font-weight: bold;
  width: 100%;
}


/* order received: bank details */
body.woocommerce-order-received .woocommerce-bacs-bank-details {
  margin-bottom: 2em;
}
body.woocommerce-order-received h2 {
  margin-top: 24px;
  font-size: 30px;
}
body.woocommerce-order-received .woocommerce-bacs-bank-details h3 {
  font-size: 22px;
  margin-bottom: 0;
}
/* table with order details */
body.woocommerce-order-received table.woocommerce-table tr th:first-child,
body.woocommerce-order-received table.woocommerce-table tr td:first-child {
  padding-inline-start: 24px;
}


.woocommerce-page .woocommerce-customer-details {
  margin-bottom: 2em;
}


/* PLUGIN: PW Woo Gift Cards*/
/* single product: textarea: Message: full width */
body[data-prefix="product"] textarea#pwgc-message {
  width: 100%;
}
/* cart: giftcard: container */
body.woocommerce-page #pwgc-redeem-gift-card-form {
  margin-bottom: 48px;
}
/* cart: giftcard: label */
body.woocommerce-page #pwgc-redeem-gift-card-form label {
  font-weight: bold;
}
/* cart: giftcard: input and button */
body.woocommerce-page #pwgc-redeem-gift-card-form input {
  margin-bottom: 6px;
  width: 100%;
}
/* cart: giftcard: error */
body.woocommerce-page #pwgc-redeem-gift-card-form #pwgc-redeem-error {
  color: var(--theme--color-error);
  font-size: 15px;
}



/* PLUGIN: Checkout Field Manager (Checkout Manager) for WooCommerce */
/* extra select fields on checkout */
.entry-content .wooccm-additional-fields .wooccm-type-heading {
  padding-top: 32px;
}
.wooccm-type-multiselect .woocommerce-input-wrapper select {
  height: 100px;
}
.wooccm-type-multiselect span.description {
  display: block;
  font-size: 14px;
  margin-top: 6px;
}

/* mobile */
@media(max-width: 689px) {
  /* header: logo: font */
  [data-header*="type-1"] .ct-header [data-id="logo"] .site-title {
    font-size: 4.1vw;
    line-height: 1.1;
  }

  /* h1 */
  header h1 {
    font-size: 7vw;
  }
}

@media( max-width: 440px) {
  /* h2 */
  .entry-content h2 {
    font-size: 8.15vw !important;
  }
}
