/*
========================
Lora:2 styles, italic:0, weight:400 – 700
Lato:10 styles, Thin 100 Light 300 Regular 400 Bold 700 Black 900 Thin 100 Italic Light 300 Italic Regular 400 Italic Bold 700 Italic Black 900 Italic 
========================
*/  
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');

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

/* Align footer bottom start */
html, body { height: 100%; margin: 0; }
body { display: flex; flex-direction: column; min-height: 100vh; }
.page-content { flex: 1; }
/* Align footer bottom end */

html, body { overflow-x:hidden; }
body { font-family:sans-serif; font-family:"Lato", sans-serif; font-size:18px; line-height:26px; font-weight:300; font-style:normal; background:#f3f3f3; }

h1, h2, h3, h4, h5, h6 { font-family:"Lora", serif; font-weight:400; font-style:italic; margin-bottom:20px; }
ins { text-decoration:none; }
input, select { padding:11px; color:#000; background:#fff!important; border:1px solid #ddd; }
button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button { background-color:#000!important; color:#fff!important; border:none!important; font-size:15px; line-height:20px; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { background-color:#fff; }

/* =======================
   GRAL
======================= */
.clear { display:block; clear:both; }

@media (min-width:769px) {
	.col-2 .col { width:48%; float:left; }
	.col-2 .col:first-of-type { margin-right:2%; }
	.col-2 .col:last-of-type { margin-left:2%; }
}

/* =======================
   PAGE TRANSITION
======================= */
.page-content { opacity:0; }
.page-content.visible { opacity:1; }


/* =======================
   TRANSITIONS
======================= */
a, .menu-toggle, /*body:not(.course-item-popup) .page-content,*/ .site-header, .main-menu .sub-menu, .site-logo img, .main-menu .sub-menu a, .menu-toggle span, .menu-overlay, .main-navigation, .header-cart, .button, .wc-block-cart__submit-button, .wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-button, .lp-single-course .lp-single-course-main .course-buttons .lp-button, .learn-press-courses .course-content .course-readmore a { transition:all 0.5s ease!important; }

.button:hover, .wc-block-cart__submit-button:hover, .wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-button:hover, .lp-single-course .lp-single-course-main .course-buttons .lp-button:hover, .learn-press-courses .course-content .course-readmore a:hover { -webkit-transform: scale(1.05); -ms-transform: scale(1.05); transform: scale(1.05); }
.woocommerce nav.woocommerce-pagination ul li a:hover { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); }
.header-cart:hover { -webkit-transform: scale(1.2); -ms-transform: scale(1.2); transform: scale(1.2); }

/* =======================
   STRUCTURE
======================= */

.container-wrapper { width:100%; max-width:1000px; margin:auto; padding:40px 0; text-align:center; }
.container-title { margin-bottom:40px; }
.container-content p { margin-bottom:20px; }

.home.page .container-title { display:none; }

@media (max-width:1060px) {
	.container-wrapper { width:90%; max-width:inherit; text-align:left; }
}

 /* ajustar según altura del header */
body { padding-top:180px; }
.site-header { height:180px; }
.scrolled .site-header { height:100px; }

/* =======================
   PAGE TRANSITION
======================= */
/*body:not(.course-item-popup) .page-content { opacity:0; }
body:not(.course-item-popup) .page-content.visible { opacity:1; }
body.course-item-popup .site-header { opacity:0!important; }*/

/* =======================
   HEADER
======================= */

.site-header { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(255,255,255,0.75); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.scrolled .site-header .container-wrapper { padding:0.5rem 0; }
.site-logo img { width:250px; height:auto; display:block; margin:0 auto 1rem auto; }
.scrolled .site-header .site-logo img { width:120px; margin-bottom:0; }

@media (max-width:768px) {
	body.menu-open .site-header { left:50%; right:-50%; }
}
@media (max-width:440px) {
	.site-logo img { width:150px; margin-bottom:.5rem; }
}

/* =======================
   MENU DESKTOP
======================= */
.main-navigation-wrapper { display:flex; justify-content:center; }
.main-menu { display:flex; gap:1rem; list-style:none; padding:0; margin:0; }
.main-menu a { text-decoration:none; color:#111; font-weight:500; font-size:18px; }
.scrolled .site-header .main-menu a { font-size:14px; }

/* =======================
   SUBMENU DESKTOP
======================= */
.main-menu li { position:relative; }
.main-menu .sub-menu { overflow:hidden; position:absolute; top:calc(100% + 12px); left:0; min-width:220px; padding:0; background:rgba(255,255,255,0.975); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-radius:8px; border:1px solid rgba(0,0,0,0.08); box-shadow:0 10px 20px rgba(0,0,0,0.1); list-style:none; opacity:0; visibility:hidden; transform:translateY(10px); z-index:200; }
.main-menu li:hover > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.main-menu .sub-menu li { padding:0; }
.main-menu .sub-menu a {  display:block; padding:4px 20px; color:#222; text-decoration:none; }
.main-menu .sub-menu a, .scrolled .site-header .main-menu a { font-size:1rem!important; }
.main-menu .sub-menu li:first-child a { padding-top:12px; }
.main-menu .sub-menu li:last-child a { padding-bottom:12px; }
.main-menu .sub-menu a:hover { background:rgba(0,0,0,0.05); color:#000; }
.main-menu li.menu-item-has-children > a::after { content:"▾"; font-size:0.7rem; margin-left:6px; opacity:0.6; }

/* =======================
   HAMBURGER
======================= */
.menu-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; margin:1rem auto 0; position:absolute; top:65px; left:10px; }
.scrolled .menu-toggle { top:25px; }
.menu-toggle span { width:30px; height:3px; background:#111; border-radius:8px; }
.menu-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(6px, 6px); }
.menu-toggle.active span:nth-child(2) { opacity:0; }
.menu-toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(6px, -6px); }

/* =======================
   FOOTER
======================= */
.site-footer { background:#fff; bottom:0; }
.site-footer .container-wrapper p { font-size:15px; }

/* =======================
   WOOCOMMERCE
======================= */
.woocommerce .page-content { margin:0 auto; max-width:1000px; }
.woocommerce .has-text-align-center { text-align:center; }


/* =======================
   WOOCOMMERCE INDEX
======================= */
.woocommerce ul.products li.product a img { margin:0; }
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price { color:#000; text-align:left; margin:0; padding:2px 0 0 0; display:block; }
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price { font-size:12px; line-height:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding-top:10px; }
.woocommerce ul.products li.product .button.add_to_cart_button, .woocommerce ul.products li.product .button.product_type_variable, .woocommerce ul.products li.product .button.product_type_grouped, .woocommerce ul.products li.product .button.product_type_external { border-radius:0; position:absolute; top:0; left:0; margin:0; padding:0; border:none; text-indent:-12000px; overflow:hidden; display:inline-block; width:30px; height:30px; background:#000 no-repeat center center; background-size:70%; }

.woocommerce ul.products li.product .button.add_to_cart_button { background-image:url("../grafs/shop-cart-w.svg"); }
.woocommerce ul.products li.product .button.product_type_variable { background-image:url("../grafs/shop-variable-w.svg"); }
.woocommerce ul.products li.product .button.product_type_grouped { background-image:url("../grafs/shop-plus-w.svg"); }
.woocommerce ul.products li.product .button.product_type_external { background-image:url("../grafs/shop-out-w.svg"); }

.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li { border:none; overflow:visible; }
.woocommerce nav.woocommerce-pagination ul li { margin:0 0 0 4px; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span, .woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current { margin:0; padding:0; color:#000; background:none; width:40px; height:40px; line-height:40px; border-radius:100%; background:#fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:#000; color:#fff; cursor:default; }


/* =======================
   WOOCOMMERCE PRODUCT
======================= */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price { color:#000; }
.woocommerce div.product div.summary * { text-align:left; }
.woocommerce div.product form.cart { margin-bottom:40px; }
.woocommerce div.product form.cart .variations { margin-bottom:20px; border-collapse: separate; border-spacing: 10px; }

.woocommerce div.product form.cart table { margin-bottom:12px; }
.woocommerce div.product form.cart .group_table td:first-child { width:inherit; }
.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label { margin:0; padding:5px 10px; }
.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__price { margin:0; padding:5px 0; }
.woocommerce div.product form.cart .group_table td.woocommerce-grouped-product-list-item__label label a, .woocommerce div.product div.summary .product_meta a, .woocommerce div.product form.cart .reset_variations { text-decoration:none; color:#000; font-weight:bold; border:1px solid rgba(0,0,0,.25); padding:5px 10px; border-radius:25px; font-size:15px; }

.woocommerce .related.products { display:block; width:100%; clear:both; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs .panel { margin:0; padding:40px 20px 20px; background:#fff; border:1px solid #cfc8d8; border-top:none; }
.woocommerce div.product .woocommerce-tabs .panel, .woocommerce div.product .woocommerce-tabs ul.tabs::before { border-radius:0 0 5px 5px; }
.woocommerce table.shop_attributes { margin-bottom:15px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin-bottom:0; }
.woocommerce #content div.product .woocommerce-tabs, .woocommerce div.product .woocommerce-tabs, .woocommerce-page #content div.product .woocommerce-tabs, .woocommerce-page div.product .woocommerce-tabs { margin-bottom:80px; }
.woocommerce .single-product .product.product_cat-sin-categorizar .product_meta .posted_in, .woocommerce .single-product .product .product_meta .sku_wrapper, .woocommerce div.product .woocommerce-tabs .panel h2 { display:none; }
.woocommerce table.shop_attributes, .woocommerce table.shop_attributes * { border:none!important; }
.woocommerce table.shop_attributes { border-collapse: separate; border-spacing: 0; }


/* =======================
   WOOCOMMERCE CART
======================= */
.wc-block-cart__submit-button { color:#fff; background:#000; border-radius:10px; text-decoration:none; }
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block { border-bottom:none!important; margin-bottom:40px; }
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name { text-decoration:none; color:#000; font-weight:bold; font-size:15px; }
.wc-block-cart__main .wc-block-cart-items:last-child { border:none!important; }
.wc-block-cart__main .wc-block-components-quantity-selector { background:#fff!important; }
.wc-block-checkout__actions .wc-block-checkout__actions_row .wc-block-components-button, .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button { border:none; background:#000; color:#fff; border-radius:8px; cursor:pointer; }
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button * { color:#fff; }

/* =======================
   WOOCOMMERCE (header icon)
======================= */
.woocommerce ul.products li.product span.onsale, .woocommerce span.onsale { background:#f0f; margin:-.75em -.75em 0 0; padding:0; width:fit-content; aspect-ratio: 1 / 1; display: grid; place-items: center; padding:5px; font-size:12px; }
.header-cart-wrapper { margin-left:15px; }
.header-cart { border-radius:50%; position: relative; text-decoration: none; width:30px; height:30px; background:#000 url("../grafs/shop-cart-w.svg") no-repeat center center; background-size:70%; display:inline-block;  }
.cart-count { position: absolute; top:-5px; right:-10px; background: red; color: white; border-radius: 50%; width: 18px; height: 18px; font-size: 12px; display: flex; align-items: center; justify-content: center; }

@media (max-width:768px) {
	.header-cart { position:absolute; top:50%; top:calc(50% - 15px); right:30px; }
}


/* =======================
   LEARNPRESS INDEX
======================= */

.lp-courses-bar .search-courses, .lp-courses-bar .courses-order-by-wrapper, .lp-archive-courses .learn-press-courses-header, ul.learn-press-breadcrumb, .learn-press-courses .course-instructor-category, .learn-press-courses .course-wrap-meta { display:none!important; }


/* =======================
   LEARNPRESS COURSE
======================= */

.lp-single-course__header .course-instructor-category, .lp-single-course__header .lp-single-course-info-one, .lp-single-course .lp-single-course-main__left .lp-section-instructor, .lp-single-course .lp-single-course-main__right__inner .info-metas, .lp-course-curriculum .course-curriculum-info__left li, .course-curriculum-info { display:none!important; }
.lp-single-course__header { background:none!important; }
.lp-single-course__header__inner { padding-top:0!important; padding-bottom:0!important; }
.lp-single-course__header .course-title { margin-bottom:0!important; }
.lp-single-course .lp-single-course-main__right { margin-top:-60px!important; }
.lp-single-course .lp-single-course-main .course-buttons .lp-button, .learn-press-courses .course-content .course-readmore a:hover { background-color:#000!important; border-color:#000!important; }


/* =======================
   LEARNPRESS COURSE INSIDE
======================= */

.lp-archive-courses #sidebar-toggle { background:rgba(255,255,255,0.1)!important; }

/* =======================
   MOBILE
======================= */
html.menu-open { overflow:hidden; }
body.menu-open { overflow-y:hidden!important; }

@media (max-width:768px) {
	.site-header { backdrop-filter:none; -webkit-backdrop-filter:none; background:#fff; }
    .menu-toggle { display:flex; }
    .menu-overlay { display:block; position:fixed; top:0; left:100%; right:0; bottom:0; background:rgba(0,0,0,0.4); z-index:300; }
	.menu-overlay.active { left:50%; /* responsive menu width */ }
    .main-navigation { position:fixed; top:0; left:-50%; width:50%; /* responsive menu width */ height:100vh; background:#fff; z-index:400; padding:2rem 1.5rem; overflow-y:auto; display:flex; flex-direction:column; }
    .main-navigation.active { left:0; }
	.main-navigation.active .sub-menu { margin-top:5px; }
    .main-menu { flex-direction:column; gap:.25rem; }
    .main-menu .sub-menu { position:relative; opacity:1; visibility:visible; transform:none; box-shadow:none; display:none; }
    .main-menu li.menu-item-has-children.active > .sub-menu { display:block; }
	
	body.menu-open .site-header { left:50%; /* responsive menu width */ } 
	body.menu-open .page-content { transform:translateX(50%); /* responsive menu width */ } 
}
@media (max-width:600px) {
	.menu-overlay.active {  left:75%; /* responsive menu width */ }
    .main-navigation { left:-75%; width:75%; /* responsive menu width */ }
	body.menu-open .site-header { left:75%; /* responsive menu width */ } 
	body.menu-open .page-content { transform:translateX(75%); /* responsive menu width */ } 
}
	