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

.display-none {
  display: none;
}

.justify {
	text-align: justify;
}

body a:not(.site-logo-container):not(.logo-footer):not(.logo-footer-a):not(.woocommerce-LoopProduct-link):not(.kbo-card-thumb):hover {
	filter: brightness(1.2);
}

body .entry-content .wc-block-product .wc-block-grid__product-image.wp-block-woocommerce-product-image a:hover {
	filter: brightness(1);
}

body.home ul.home-books-ft li a img {
	width: auto;
	margin: 0 auto;
	display: block;
	object-fit: contain!important;
}

body.home ul.home-books-ft.columns-2 li a img {
  max-height: 450px;
}

body.home ul.home-books-ft.columns-3 li a img {
  max-height: 300px;
}

body.home .kbo-lcp-hero {
    max-width: 600px;
    margin: 0 auto;
}

body .kbo-about-photo img {
  width: 300px;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
}


body .kbo-cta.wp-block-button a, body .kbo-cta input, body .kbo-download-button, body .kbo-card-cta a, body.single-product .ct-cart-actions .single_add_to_cart_button, body.woocommerce-checkout .wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	border: 2px solid;
	border-color: var(--theme-button-background-initial-color)!important;
	min-width: 200px;
}

body .kbo-cta.wp-block-button a:hover, body .kbo-cta input:hover, body .kbo-download-button:hover, body .kbo-card-cta a:hover, body.single-product .ct-cart-actions .single_add_to_cart_button:hover, body.woocommerce-checkout .wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover, .wc-proceed-to-checkout a.checkout-button:hover, button[type=submit]:hover {
	box-shadow: 0 2px 6px rgba(0,0,0,0.12);
	border-color: var(--theme-button-background-initial-color)!important;
	filter: brightness(1.2);
	background-color: var(--theme-button-background-initial-color)!important;
	color: white;
}

body .max-65ch {
	max-width: 65ch;
}

body.single-product .related.products, body.single-product .woocommerce-tabs article {
	border-top: 1px solid var(--theme-border-color);
    padding-top: 40px;
    margin: 0 auto;
    width: var(--theme-block-width);
    max-width: var(--theme-block-max-width);
}

body.single-product .woocommerce-tabs #tab-description {
	border-bottom: 1px solid var(--theme-border-color);
    padding-bottom: 40px;
    margin: 0 auto 40px;
    width: var(--theme-block-width);
    max-width: var(--theme-block-max-width);
}

body.single-product .related.products .ct-module-title {
	text-align: center;
	margin-bottom: 40px;
}

body ul#menu-footer-menu {
	flex-wrap: nowrap;
}

body footer#footer.ct-footer {
	box-shadow: 0 -1px 1px #583f2c;
}

body footer#footer.ct-footer #nav_menu-3 {
	width: 100%;
}

body footer#footer.ct-footer div[data-row] {
	margin: 0 auto;
	max-width: 360px;
}

body footer#footer.ct-footer div[data-row="top"] {
	margin-top: 10px;
}

body footer#footer.ct-footer div[data-row="middle"] .ct-container {
	grid-template-columns: repeat(1, 1fr);
}

body footer#footer.ct-footer div[data-row="bottom"] {
  max-width: 480px;
}

body footer#footer.ct-footer #menu-legals {
	display: inline-flex;
	gap: 1.4em;
}

body footer#footer.ct-footer #menu-legals li {
	font-size: 13px;
}

body header#header.ct-header {
	box-shadow: 0 2px 4px #337d7e;
}

header nav ul.menu li.menu-item a {
	min-width: 160px;
} 

.ct-breadcrumbs br {
	display: none;
}


body.single-product .woocommerce-tabs .woocommerce-Reviews {
	grid-template-columns: unset;
}

body.single-product .woocommerce-tabs .woocommerce-Reviews .commentlist li {
	border-top: unset;
	border-bottom: 1px solid var(--theme-border-color);
}

body.single-product .woocommerce-tabs .woocommerce-Reviews .commentlist li:last-child .comment_container {
	padding-bottom: 40px;
}

body.single-product .woocommerce-tabs .woocommerce-Reviews .woocommerce-verification-required {
	text-align: center;
    padding-bottom: 30px;
}

/* Dev Credit Footer
--------------------------------------- */
body .kbo-dev-credit { 
    text-align: center;
    font-size: 14px;
    color: #ffffff;
    opacity: 1;
    background: #090909;
    padding: 10px 0;
}

body .kbo-dev-credit a, body .kbo-dev-credit a:not(.wp-block-button__link):not(.button):not(.wc-block-components-button):hover { color: var(--wp--preset--color--palette-color-8) !important; text-decoration:none; transition: filter 1s ease-in-out;}

/* WooCommerce
--------------------------------------- */
body .site-main .wc-block-product-template__responsive.columns-3 {
	grid-template-columns: repeat(auto-fill, minmax(max(240px, calc(33.33333% - .83333em)), 1fr));
}

/* Activities
---------------------------------------------- */
body .kbo-activity-card .kbo-card-title a:not(.wp-block-button__link):not(.button):not(.wc-block-components-button):not(.woocommerce-product-gallery__trigger):hover {
  color: var(--paletteColor5, #5e3f2e)!important;
  filter: brightness(1.4);
}

/* My Acoount 
----------------------------------------------- */
body.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover a:not(.wp-block-button__link):not(.button):not(.wc-block-components-button):not(.woocommerce-product-gallery__trigger) {
    color: var(--account-nav-text-active-color, var(--theme-palette-color-8)) !important;
    background: var(--account-nav-background-active-color, var(--theme-palette-color-1));
}

/* KBO – My Account toggle (Login/Register) 
--------------------------------------------------- */

/* My Account general */
.kbo-has-auth-toggle .ct-woo-unauthorized .col2-set { 
	grid-template-columns: unset;
	max-width: 400px;
  margin: 0 auto;
  padding: 30px;
  border: 1px solid #ccc;
  border-radius: 15px;
 }
.kbo-has-auth-toggle .ct-woo-unauthorized .col2-set>*:first-child { border-inline-end: unset; padding-inline-end: 0; }
.kbo-has-auth-toggle .ct-woo-unauthorized .col2-set>*:last-child { padding-inline-start: unset; }


/* Por defecto: mostrar Login, ocultar Register */
.kbo-has-auth-toggle #customer_login .u-column2 { display: none; }
.kbo-has-auth-toggle #customer_login .u-column1,
.kbo-has-auth-toggle #customer_login .u-column2 { width: 100%; }

/* Modo registro activo */
.kbo-has-auth-toggle #customer_login.is-register .u-column1 { display: none; }
.kbo-has-auth-toggle #customer_login.is-register .u-column2 { display: block; }

/* Enlace de alternancia */
.kbo-auth-toggle {
  margin-top: 1rem;
  text-align: center;
  font-size: 0.95rem;
}
.kbo-auth-toggle a {
  text-decoration: underline;
  cursor: pointer;
}

/* (Opcional) Ajustes de inputs y botones para coherencia visual */
.kbo-has-auth-toggle #customer_login .woocommerce-form .input-text,
.kbo-has-auth-toggle #customer_login .woocommerce-form input[type="email"],
.kbo-has-auth-toggle #customer_login .woocommerce-form input[type="text"],
.kbo-has-auth-toggle #customer_login .woocommerce-form input[type="password"] {
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 0.75rem 1rem;
  width: 100%;
  box-sizing: border-box;
}

.kbo-has-auth-toggle #customer_login .woocommerce-form button.button {
  background-color: #3e837c;
  color: #fff;
  border: none;
  padding: 0.8rem 2rem;
  cursor: pointer;
  transition: background-color .2s ease, transform .1s ease;
  width: 100%;
  max-width: 360px;
}
.kbo-has-auth-toggle #customer_login .woocommerce-form button.button:hover {
  background-color: #366f69;
  transform: translateY(-1px);
}

.wc-block-components-button.wp-block-woocommerce-mini-cart-checkout-button-block.wc-block-mini-cart__footer-checkout.contained:hover {
	background-color: var(--theme-button-background-initial-color)!important;
	filter: brightness(1.2);
}

body table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover, a:not(.wp-block-button__link):not(.button):not(.wc-block-components-button):not(.woocommerce-product-gallery__trigger):hover {
  color: var(--theme-link-initial-color)!important;
}

.wp-block-woocommerce-mini-cart-cart-button-block.wc-block-mini-cart__footer-cart.outlined 
	.wc-block-components-button:not(.is-link).outlined:not(:focus) {
	 box-shadow: unset;
	 color: rgb(51 125 126);
	 border: 1px solid;
	}
.wc-block-components-drawer__content .wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link).is-style-outline, .wc-block-components-drawer__content .wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link).outlined {
			color: rgb(51 125 126);
			border-color: rgb(51 125 126);
}
.wc-block-components-drawer__content .wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link).is-style-outline:hover, .wc-block-components-drawer__content .wp-block-woocommerce-filled-mini-cart-contents-block .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link).outlined:hover {
		background-color: rgb(51 125 126);
		color: white;
}

.wc-block-mini-cart__empty-cart-wrapper .wc-block-components-button.wp-block-woocommerce-mini-cart-shopping-button-block.wc-block-mini-cart__shopping-button {
	display: none;
}



/* ===== My Account – Toggle “pill” con flecha ===== */
@media (max-width: 690px) {
  .kbo-account-mobile .kbo-account-nav-toggle-wrap { order: 0; }

  .kbo-account-mobile .kbo-account-toggle-btn {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    padding: .9rem 3rem .9rem 1rem; /* espacio para la flecha */
    border: 2px solid #9dc4c2;              /* borde acorde a tu paleta */
    background: #eef6f4;                     /* fondo suave (cerrado) */
    color: #2b3a33;                          /* marrón titular */
    font-weight: 600;
    line-height: 1.2;
    box-shadow: 0 2px 0 rgba(0,0,0,.04) inset;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
    max-width: 99%;
    margin: 0 auto;
  }

  /* Flecha dentro del botón (círculo + chevron) */
  .kbo-account-mobile .kbo-account-toggle-btn::before {
		content: "";
		position: absolute;
		right: .6rem;
		top: 50%;
		transform: translateY(-50%);
		width: 1.6rem;
		height: 1.6rem;
		border-radius: 999px;
		border: 2px solid currentColor;
		opacity: .9;
		text-align: center;
  }
  .kbo-account-mobile .kbo-account-toggle-btn::after {
    content: "";
    position: absolute;
    right: 1.1rem;               /* centrado dentro del círculo */
    top: 50%;
    width: .55rem;
    height: .55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-60%) rotate(45deg); /* ▼ */
    transition: transform .2s ease;
  }

  /* Hover/focus accesibles */
  .kbo-account-mobile .kbo-account-toggle-btn:hover {
    background: #e6f1ef;
    border-color: #86b7b3;
  }
  .kbo-account-mobile .kbo-account-toggle-btn:focus-visible {
    outline: 3px solid rgba(61, 131, 124, .35);
    outline-offset: 2px;
  }

  /* Estado ABIERTO: color lleno y flecha hacia arriba */
  .kbo-account-mobile .woocommerce.kbo-nav-open .kbo-account-toggle-btn {
    background: white;
    border-color: white;
    color: #234a45;
 		margin: 10px auto 0;
    max-width: 95%;
  }
  .kbo-account-mobile .woocommerce.kbo-nav-open .kbo-account-toggle-btn::after {
    transform: translateY(-33%) rotate(-135deg); /* ▲ */
  }

  /* Nav colapsable */
  .kbo-account-mobile .woocommerce-MyAccount-navigation { display: none; }
  .kbo-account-mobile .woocommerce.kbo-nav-open .woocommerce-MyAccount-navigation {
    display: block;
    margin-top: 0;
    border: 0px solid #9dc4c2;
    border-radius: 2px;
    overflow: hidden;
    padding: 0;
    max-width: 95%;
    margin: 2px auto 10px;
  }

  /* Ítems del nav como tarjetas/pills */
  .kbo-account-mobile .woocommerce-MyAccount-navigation ul {
    display: block;
    padding: 0;
    margin: 0;
  }
  .kbo-account-mobile .woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 1rem;
    border-bottom: 1px solid #cfe1df;
    background: #fff;
  }
  .kbo-account-mobile .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }

  /* Estado activo coherente con tu paleta */
  .kbo-account-mobile .woocommerce-MyAccount-navigation li.is-active > a,
  .kbo-account-mobile .woocommerce-MyAccount-navigation li a[aria-current="page"] {
    background: #3e837c;
    color: #fff;
  }

  /* Orden general móvil: Botón → Contenido → Nav */
  .kbo-account-mobile .woocommerce-account .woocommerce { display:flex; flex-direction:column; }
  .kbo-account-mobile .woocommerce-MyAccount-content   { order: 1; }
  .kbo-account-mobile .woocommerce-MyAccount-navigation { order: 2; }
}

/* Desktop sin cambios (ocultamos el botón) */
@media (min-width: 691px) {
  .kbo-account-mobile .kbo-account-nav-toggle-wrap { display: none; }
}


/* Mini Cart
------------------------------------ */
/* ========= KBO – Floating Mini-Cart (coherente + efectivo) ========= */

/* Paleta (ajustable). Si tu theme ya define variables, se heredan. */
:root{
  --kbo-cart-bg: var(--paletteColor2, #4d8f8b);          /* base teal, cercana a tus CTAs */
  --kbo-cart-bg-deep: var(--paletteColor3, #3f7874);     /* tono un poco más profundo */
  --kbo-cart-ink: #ffffff;                               /* icono/texto */
  --kbo-cart-ring: rgba(255,255,255,.85);                /* focus ring accesible */
  --kbo-cart-shadow: 0 8px 18px rgba(0,0,0,.12);         /* sombra suave */
}

/* Colocar el bloque en flotante */
.wp-block-woocommerce-mini-cart.wc-block-mini-cart{
  position: fixed;
  right: 30px;
  bottom: calc(24px + env(safe-area-inset-bottom));
  z-index: 1000;
}

/* Botón estilo “fab” coherente con la UI */
.wc-block-mini-cart__button{
  min-width: 56px;
  min-height: 56px;
  border-radius: 999px;
  box-shadow: var(--kbo-cart-shadow);
  background: linear-gradient(180deg, var(--kbo-cart-bg) 0%, var(--kbo-cart-bg-deep) 100%);
  color: var(--kbo-cart-ink);
}

/* Badge con buena legibilidad y micro-elevación */
.wc-block-mini-cart__quantity-badge{
  font-weight:600;
  color: #fff;
}

.wc-block-mini-cart__button .wc-block-mini-cart__quantity-badge .wc-block-mini-cart__badge {
	font-size: small;
	background-color: white;
	color: var(--kbo-cart-bg);
}

/* Hover/active sutiles (no chillones) */
@media (prefers-reduced-motion: no-preference){
  .wc-block-mini-cart__button{ transition: transform .15s ease, filter .15s ease; }
  .wc-block-mini-cart__button:hover{ transform: translateY(-1px); filter: brightness(1.05); }
  .wc-block-mini-cart__button:active{ transform: translateY(0); filter: brightness(0.98); }
}

/* Accesibilidad: foco visible y amable */
.wc-block-mini-cart__button:focus-visible{
  outline: 2px solid var(--kbo-cart-ring);
  outline-offset: 3px;
}

/* Ocultar cuando el carrito está vacío (Woo Blocks actualiza el data-attr en vivo) */
.wp-block-woocommerce-mini-cart[data-cart-items-count="0"]{ display:none !important; }

/* No mostrar en cart/checkout/account (evita distracciones) */
.woocommerce-cart .wp-block-woocommerce-mini-cart,
.woocommerce-checkout .wp-block-woocommerce-mini-cart,
.woocommerce-account .wp-block-woocommerce-mini-cart{ display:none !important; }

/* Ajuste mobile fino */
@media (max-width: 690px){
  .wp-block-woocommerce-mini-cart.wc-block-mini-cart{
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
  }
}

body .wc-block-components-drawer__content .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-components-button.wp-block-woocommerce-mini-cart-cart-button-block {
  display: none;
}


a.added_to_cart.wc-forward { display: none !important; }


.wc-block-components-drawer__content .wp-block-woocommerce-mini-cart-contents .wp-block-woocommerce-filled-mini-cart-contents-block h2.wc-block-mini-cart__title { font-size: 1.6em; }




/* Checkout
---------------------------------------- */

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label, body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-formatted-money-amount {
    font-weight: bold;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-formatted-money-amount {
    white-space: nowrap;
    position: absolute;
    top: 50%;
    transform: translateY(-45%);
    right: 20px;
}


body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__description-group--column .wc-block-components-radio-control__description {
    margin: 0;
}

body.woocommerce-checkout .wc-block-checkout__shipping-option .wc-block-components-radio-control__secondary-label {
    flex-basis: 30%;
}


body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control.disable-radio-control .wc-block-components-radio-control__option {
  display: none;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block {
  padding-bottom: 0;
}

body .hr-1px:not(.is-style-dots) {
  height: 1px;
}

body.woocommerce-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select, body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input {
  border-bottom: 1px solid hsla(0, 0%, 7%, .11) !important;
}

body.woocommerce-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
  padding-top: 33px;
  margin-bottom: 30px;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description p, .wc-block-mini-cart__items .wc-block-components-product-metadata .wc-block-components-product-metadata__description>p {
  display: none;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-price .wc-block-components-order-summary-item__individual-price:after, .wc-block-mini-cart__items .wc-block-cart-item__prices .wc-block-components-product-price .wc-block-components-product-price__value:after {
  content: 'each';
  margin-left: 5px;
}


/* Checkout Thank you Page
---------------------------------------- */

/* ---- Order details: columnas y alineaciones ---- */
.woocommerce-order .woocommerce-order-details {
  margin-top: 36px;
}

.woocommerce-order .woocommerce-order-details .woocommerce-order-details__title {
  text-align: center;
}

.woocommerce-order .woocommerce-table--order-details {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.woocommerce-order .woocommerce-table--order-details th,
.woocommerce-order .woocommerce-table--order-details td {
  padding: 12px 16px;
  vertical-align: top;
}

.woocommerce-order .woocommerce-table--order-details td.product-name {
  width: 68%;
  text-align: left;
}
.woocommerce-order .woocommerce-table--order-details td.product-total,
.woocommerce-order .woocommerce-table--order-details td,
.woocommerce-order .woocommerce-table--order-details th:last-child {
  text-align: right;
}

.woocommerce-order .woocommerce-table--order-details tfoot th {
  font-weight: 600;
}
.woocommerce-order .woocommerce-table--order-details tfoot td {
  font-weight: 600;
}

/* Pone miniatura, título y cantidad en la misma fila */
.woocommerce-table--order-details td.product-name {
  display:flex;
  align-items: center;
  gap:12px;
}

.woocommerce-table--order-details td.product-name .product-quantity{
  margin-left:8px;
  white-space:nowrap; /* evita salto de línea del × 1 */
}

.woocommerce-order .woocommerce-table--order-details td.product-total, .woocommerce-order .woocommerce-table--order-details td {
  vertical-align: middle;
}

/* Línea del pedido con miniatura + título */
.woocommerce-table--order-details .kbo-order-line{
  display:flex; gap:12px; align-items:center; line-height:1.25;
}
.kbo-order-thumb-img{
  width:64px; height:auto; border-radius:8px; box-shadow:0 1px 0 rgba(0,0,0,.06);
}
@media (max-width:480px){
  .kbo-order-thumb-img{ width:52px; }
}

/* Suavizar líneas */
.woocommerce-order .woocommerce-table--order-details tr + tr td,
.woocommerce-order .woocommerce-table--order-details tfoot tr + tr td {
  border-top: 1px dashed rgba(0,0,0,.08);
}




/* Columna del producto: más ancha */
.woocommerce-order .woocommerce-table--order-details td.product-name, .woocommerce-order .woocommerce-table--order-details td.product-total {
  width: 100%;
}


.woocommerce-order .woocommerce-table--order-details td.product-name .kbo-order-thumb-img {
  flex: 0 0 72px;   /* tamaño fijo para la miniatura */
  height: auto;
}

.woocommerce-order .woocommerce-table--order-details td.product-name .kbo-order-title {
  min-width: 150px;
}

/* Que la cantidad quede en la misma línea, pegada al título */
.woocommerce-order .woocommerce-table--order-details td.product-name .product-quantity {
  margin-left: 1rem;
  white-space: nowrap;
}

@media (max-width: 420px) {

  .woocommerce-order .woocommerce-table--order-details td.product-name .kbo-order-title {
    min-width: 105px;
  }

  .woocommerce-order .woocommerce-table--order-details td.product-name .product-quantity {
    margin-left: .5rem;
  }

  .woocommerce-table--order-details .kbo-order-line{
    gap:6px;
  }
}



/* ---- Bloque Thank-you extra (newsletter + redes) ---- */
body.woocommerce-checkout.woocommerce-order-received .ct-container-full {
  padding-bottom: 0;
}

.kbo-thankyou-extras {
  margin-top: 28px;
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: var(--theme-palette-color-6);
  padding-bottom: 21px;
}

.kbo-thankyou-newsletter {   
  padding-top: var(--wp--preset--spacing--70);
  padding-bottom: var(--wp--preset--spacing--70);
  background-color: var(--wp--preset--color--palette-color-8) !important; 
  padding: var(--theme-content-spacing);
}

/* Mailpoet subscribe */
body.woocommerce-checkout #mailpoet_form_1.mailpoet_form {
  max-width: 748px;
}

body.woocommerce-checkout .mailpoet-heading { font-size: 30px!important; }
body.woocommerce-checkout .mailpoet_submit, body.woocommerce-checkout .mailpoet_text { min-width: unset; padding: 10px!important; }




/* Redes */
.kbo-thankyou-social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 21px;
  flex-direction: column;
  padding: var(--theme-content-spacing);
}

.kbo-thankyou-social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: center;
}

.kbo-thankyou-social .kbo-thankyou-title, .kbo-thankyou-social .kbo-thankyou-text {
  margin-bottom: 0;
  text-align: center;
}

.kbo-thankyou-newsletter .kbo-thankyou-title {
  text-align: center;
}

.kbo-thankyou-social a {
  display: flex; align-items: center; justify-content: center;
  width: 200px; height: 36px; border-radius: 999px;
  border: 1px solid rgb(51 125 126);
  transition: transform .15s ease, box-shadow .15s ease;
}
.kbo-thankyou-social a:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.kbo-thankyou-social svg { display:block; }

.kbo-thankyou-actions { margin: 28px auto 0; width: var(--theme-block-width); max-width: var(--wp--style--global--content-size); }
.kbo-btn-outline{
  display:inline-block; border-radius:999px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.kbo-btn-outline:hover{ transform:translateY(-1px); /*box-shadow:0 2px 8px rgba(0,0,0,.08);*/ }

/* Icono reutilizado (mismo que footer) */
.kbo-fb-icon svg { display: block; fill: currentColor; }
.kbo-fb-label { margin-left: 5px; font-size: 16px; font-weight: 700; }



/* CF7 
---------------------------------------- */

.kbo-contact-form {
	max-width: 600px;
	margin: 0 auto;
}
/* Layout de filas y columnas */
.kbo-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.kbo-col {
  flex: 1 1 48%;
  display: flex;
  flex-direction: column;
}

.kbo-acceptance {
	margin: 30px 0;
}

.kbo-field {
	margin-top: 30px;
}

.kbo-acceptance {
	margin: 40px 0;
}

body form.wpcf7-form .kbo-contact-form .kbo-acceptance label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.kbo-actions {
    margin: 42px auto 0;
    max-width: 480px;
}

.kbo-cta .wpcf7-submit {
	padding: 10px 20px;
	width: 100%;
}

.wpcf7 select, .wpcf7 textarea, .wpcf7 input:not(.wpcf7-submit), .wpcf7 select:focus, .wpcf7 textarea:focus, .wpcf7 input:not(.wpcf7-submit):focus {
  background-color: #f4f2f0;
  padding: 20px;
}

/* Responsive */
@media (max-width: 600px) {
  .kbo-col {
    flex: 1 1 100%;
  }
}

/* MailPoet
------------------------------------ */
#mailpoet_form_1.mailpoet_form {
	max-width: 840px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mailpoet_paragraph {
  margin-bottom: 28px;
}

body .mailpoet-manage-subscription .mailpoet-change-email-info {
  font-size: 80%;
}

.mailpoet-change-email-info:has(a)::before {
  content: "If you need to change the email you use for newsletters, please unsubscribe here and sign up again with your new address. Also, ";
}

.mailpoet_paragraph fieldset {
  display: none;
}


/* -------------------------------------- */

.kbo-thumb-wrap {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
/*	border-radius: 20px;
	box-shadow: 0 6px 20px rgba(0,0,0,.06);*/
}
.kbo-image-container { position: relative; }

.kbo-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	backface-visibility: hidden;
	transform-style: preserve-3d;
	transition: opacity .45s ease, transform .45s ease;
}
.kbo-image--back {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: rotateY(180deg);
	pointer-events: none;
}

body .kbo-image-container .kbo-has-back .kbo-image--back {
	border: 0;
}
.kbo-has-back:hover .kbo-image--front {
	opacity: 0;
	transform: rotateY(180deg);
}
.kbo-has-back:hover .kbo-image--back {
	opacity: 1;
	transform: rotateY(0);
}





/* Media Queries
--------------------------------------- */
@media (max-width: 999px) {
	body .entry-content .wp-block-columns:not(.media-text) {
		flex-direction: column;
		gap: 4em;
	}

	.kbo-prefooter .wp-block-columns, body .entry-content .media-text {
		gap: 1em;
	}

	.kbo-prefooter figure img {
		margin: 0 auto;
		display: block;
	}

  body .site-main .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
      flex-basis: 100% !important;
  }

  body.single-product .flexy-view .ct-media-container img {
		max-height: 80vh;
		object-fit: contain;
		min-height: 480px;
	}

  body .ct-header.ct-panel .ct-panel-actions {
    padding-top: 50px;
    padding-right: 5%;
  }

      body .ct-drawer-canvas #offcanvas.ct-header.ct-panel .ct-panel-actions button.ct-toggle-close {
    --theme-icon-color: var(--theme-text-color);
  }

  body .ct-header.ct-panel .ct-panel-actions .ct-toggle-close svg {
    fill: var(--theme-icon-color, var(--theme-text-color));
  }

}

@media (max-width: 781px) {
	.kbo-prefooter .wp-block-column, body .entry-content .media-text .wp-block-column {
		text-align: center;
	}

	body .entry-content .media-text .wp-block-column .max-65h {
		max-width: unset;
	}

	.kbo-prefooter .wp-block-buttons, .kbo-prefooter .wp-block-column, body .entry-content .media-text .wp-block-buttons {
		justify-content: center;
	}

	body .margin-top-50-mobile {
		margin-top: 50px!important;
	}

	body .media-text .about-me-img img {
		border-radius: 15px;
		box-shadow: 0px 3px 7px;
	}

	body.woocommerce .products.columns-3 {
        --shop-columns: repeat(2, minmax(0, 1fr));
    }

  #mailpoet_form_1 form.mailpoet_form .mailpoet_form_columns.mailpoet_stack_on_mobile .mailpoet_form_column {
		flex-basis: 100% !important;
		margin-left: 0;
	}
	#mailpoet_form_1 form.mailpoet_form .mailpoet-heading {
	  font-size: 24px !important;
	}
	#mailpoet_form_1 form.mailpoet_form {
	  padding: 20px;
	}
	.mailpoet_form_columns.mailpoet_stack_on_mobile {
    flex-wrap: wrap;
    gap: 1em;
  }

  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
    display: none;
  }
}

@media (max-width: 689.98px) {
  body .ct-header.ct-panel .ct-panel-actions {
    padding-right: 6%;
  }
}

@media (min-width: 589px) and (max-width: 780px) {
  body.woocommerce-checkout .wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
    border-top: 1px solid hsla(0, 0%, 7%, .11);
  }
}

@media (max-width: 479px) {
	body .site-main .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		text-align: center;
	}

	.wp-block-buttons {
		justify-content: center;
		gap: .5em;
	}

	body.woocommerce .products.columns-3 {
        --shop-columns: repeat(1, minmax(0, 1fr));
    }
}

@media (min-width: 380px) and (max-width: 499px) {
	body .two-btns .kbo-cta.wp-block-button a {
		min-width: 160px;
    	font-size: 16px !important;
	}
}

@media (max-width: 379px) {
	body footer#footer.ct-footer #menu-legals {
 	   display: inline-flex;
 	   gap: .4em;
 	   width: 100%;
       justify-content: space-around;
	}
}
