/* ═══════════════════════════════════════════
   ALMU MORELL · Design system base v1.0
   Sistema para WordPress + TutorLMS + WooCommerce
   ═══════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html,body{overflow-x:clip;max-width:100vw}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:target,[id]{scroll-margin-top:96px}

:root{
  /* colores */
  --coral:#ff5a66;
  --coral-2:#ff7682;
  --coral-soft:#ffe4e6;
  --coral-deep:#d6434d;
  --ink:#141311;
  --ink-2:#2b2824;
  --muted:#7a736a;
  --muted-2:#b6afa1;
  --paper:#f7f4ee;
  --paper-2:#efeae0;
  --white:#ffffff;
  --line:#e5ded0;
  --success:#2e7d5a;
  --danger:#b8302f;
  --warning:#c97a1a;

  /* tipografías */
  --display:'Bricolage Grotesque',Georgia,serif;
  --ui:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',monospace;

  /* radios */
  --r-xs:8px; --r-sm:12px; --r-md:16px; --r-lg:20px; --r-xl:24px; --r-full:999px;

  /* sombras */
  --sh-1:0 12px 24px -8px rgba(0,0,0,0.08);
  --sh-2:0 20px 50px -12px rgba(0,0,0,0.18);

  /* transiciones */
  --t-fast:0.15s ease-out;
  --t-med:0.2s ease-out;
}

/* ─── base ─── */
body{
  font-family:var(--ui);
  background:var(--paper);
  color:var(--ink);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:400;letter-spacing:-0.02em;line-height:1.1;margin:0 0 0.5em}
h1{font-size:clamp(44px,5.2vw,76px);letter-spacing:-0.025em;line-height:0.98}
h1 em{font-style:italic;color:var(--coral);font-weight:500}
h2{font-size:clamp(30px,3.3vw,46px);line-height:1.05}
h2 em{font-style:italic;color:var(--coral);font-weight:500}
h3{font-size:clamp(22px,2vw,28px);font-weight:500}
h3 em{font-style:italic;color:var(--coral)}
h4{font-size:20px;font-weight:500}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--coral)}
p{margin:0 0 1em;max-width:68ch}
img{max-width:100%;display:block}
button{font-family:inherit}

/* ─── material icons ─── */
.material-icons-outlined{font-family:'Material Icons Outlined';font-weight:normal;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}

/* ─── utilidades ─── */
.eyebrow,.meta-mono,.mono,.caption{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
.container{max-width:1280px;margin:0 auto;padding:0 32px}
.container-wide{max-width:1440px;margin:0 auto;padding:0 32px}
.section{padding:80px 0}
.section-sm{padding:48px 0}
.section.dark{background:var(--ink);color:#fff}
.section.dark .eyebrow,.section.dark .caption{color:var(--muted-2)}
.section.coral{background:var(--coral);color:#fff}
.section.paper-2{background:var(--paper-2)}

/* ─── header / topbar ─── */
.topbar{position:sticky;top:0;z-index:50;background:rgba(247,244,238,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .inner{max-width:1440px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.topbar .logo{font-family:var(--display);font-style:italic;font-weight:500;font-size:22px;letter-spacing:-0.02em}
.topbar nav{display:flex;gap:24px;font-size:14px}
.topbar nav a{color:var(--ink-2);font-weight:400;position:relative}
.topbar nav a.active,.topbar nav a:hover{color:var(--ink);font-weight:500}
.topbar nav a.active::after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:2px;background:var(--coral);border-radius:2px}
.topbar .actions{display:flex;align-items:center;gap:8px}

/* Search overlay */
.search-overlay{position:fixed;inset:0;background:rgba(15,14,13,0.86);backdrop-filter:blur(8px);z-index:200;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s;display:grid;place-items:center;padding:20px}
.search-overlay.is-open{opacity:1;visibility:visible}
.search-overlay .search-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background var(--t-fast)}
.search-overlay .search-close:hover{background:rgba(255,255,255,0.16)}
.search-overlay .search-form{width:100%;max-width:640px;display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:8px 8px 8px 16px;box-shadow:0 30px 60px -20px rgba(0,0,0,0.5)}
.search-overlay .search-ic{color:var(--muted);font-size:24px;flex-shrink:0}
.search-overlay input[type="search"]{flex:1;border:0;outline:none;font:inherit;font-size:17px;padding:14px 8px;color:var(--ink);background:transparent;min-width:0}
.search-overlay input[type="search"]::placeholder{color:var(--muted)}
.search-overlay .btn{flex-shrink:0;padding:12px 22px;font-size:14px}
@media(max-width:640px){
	.search-overlay .search-form{padding:6px 6px 6px 14px}
	.search-overlay input[type="search"]{font-size:15px;padding:12px 6px}
	.search-overlay .btn{padding:10px 16px;font-size:13px}
}

/* Select2 (country/state) — fuerzo estilos para que coincida con nuestros inputs */
.select2-container--default .select2-selection--single{
	height:44px !important;
	border:1px solid var(--line) !important;
	border-radius:10px !important;
	background:#fff !important;
	padding:0 14px !important;
	display:flex;align-items:center;
}
.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--single{border-color:var(--coral) !important;outline:none}
.select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height:44px !important;
	padding:0 26px 0 0 !important;
	color:var(--ink) !important;
	font-size:14px;
	flex:1;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--muted)}
.select2-container--default .select2-selection--single .select2-selection__arrow{
	height:44px !important;top:0 !important;right:10px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
	border-color:var(--muted) transparent transparent transparent !important;
	border-width:5px 4px 0 4px !important;
}
.select2-container--open .select2-selection--single .select2-selection__arrow b{
	border-color:transparent transparent var(--muted) transparent !important;
	border-width:0 4px 5px 4px !important;
}
/* Dropdown panel */
.select2-dropdown{border:1px solid var(--line) !important;border-radius:10px !important;box-shadow:0 20px 40px -18px rgba(0,0,0,0.18);overflow:hidden}
.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid var(--line) !important;border-radius:8px;padding:8px 12px;font-size:14px}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
	background-color:var(--coral) !important;color:#fff !important;
}
.select2-container--default .select2-results__option[aria-selected=true]{background:var(--paper-2);color:var(--ink)}

/* ========= CHECKOUT (classic WC) con estilos Almu ========= */
body.woocommerce-checkout .wc-page-wrap{padding:20px 0 60px}
@media(max-width:1024px){body.woocommerce-checkout .wc-page-wrap{padding:10px 0 100px}}

html:has(body.woocommerce-checkout),
body.woocommerce-checkout{overflow-x:hidden;max-width:100vw;width:100%}
body.woocommerce-checkout .wc-page-wrap,
body.woocommerce-checkout .wc-container,
body.woocommerce-checkout .wc-main,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #customer_details{overflow-x:clip;max-width:100%;box-sizing:border-box}
@media(max-width:1024px){
	body.woocommerce-checkout .wc-page-wrap,
	body.woocommerce-checkout .wc-container{padding-left:16px !important;padding-right:16px !important;box-sizing:border-box}
	body.woocommerce-checkout *:not(iframe):not(.__PrivateStripeElement){max-width:100% !important;box-sizing:border-box}
	body.woocommerce-checkout iframe{max-width:100% !important;width:100% !important}
	body.woocommerce-checkout .__PrivateStripeElement{max-width:100% !important;overflow:hidden}
	body.woocommerce-checkout .wc-stripe-upe-element,
	body.woocommerce-checkout #wc-stripe-upe-form,
	body.woocommerce-checkout .StripeElement{overflow:hidden;max-width:100%}
	body.woocommerce-checkout .almu-express-wrap,
	body.woocommerce-checkout #wc-stripe-express-checkout-element{overflow:hidden}
	/* WC blocks notice / express button overflow */
	body.woocommerce-checkout .woocommerce-notices-wrapper,
	body.woocommerce-checkout .woocommerce-NoticeGroup{max-width:100%;overflow:hidden}
	/* Row con name + lastname */
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr;gap:0}
	body.woocommerce-checkout .form-row.form-row-first,
	body.woocommerce-checkout .form-row.form-row-last{width:100%;float:none;margin-right:0}
}
/* Forzar a que ningún hijo se salga aunque algo intente width>100% */
body.woocommerce-checkout #wc-stripe-express-checkout-element,
body.woocommerce-checkout #wc-stripe-express-checkout-element *{max-width:100% !important;box-sizing:border-box}

/* Restaurar el hiding de Select2 que nuestro form-row select estaba estropeando */
body.woocommerce-checkout select.select2-hidden-accessible,
body.woocommerce-checkout select.country_select,
body.woocommerce-checkout select.state_select{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;border:0 !important;background-image:none !important;white-space:nowrap !important;left:0 !important;top:0 !important}

/* Display-name del topbar — truncar para no inflar el doc width */
.topbar .display-name,
.account-dropdown .display-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}

/* Bulletproof: cualquier contenedor Stripe (incl. los que se inyectan al
 * cargar Google Pay/Link/Apple Pay tras 1s) queda clippado para que su
 * iframe interno con width:calc(100% + 8px) no rompa el body. */
body.woocommerce-checkout .__PrivateStripeElement,
body.woocommerce-checkout div[class*="StripeElement"],
body.woocommerce-checkout div[id^="wc-stripe-"],
body.woocommerce-checkout fieldset[id^="wc-stripe-"],
body.woocommerce-checkout .payment_box,
body.woocommerce-checkout .almu-express-wrap{overflow:hidden !important;max-width:100% !important;box-sizing:border-box}
body.woocommerce-checkout iframe[name*="__privateStripeFrame"]{max-width:100% !important;width:100% !important}
/* Cap absoluto al body por si todo lo demás falla */
body.woocommerce-checkout #page,
body.woocommerce-checkout main,
body.woocommerce-checkout .site-main{max-width:100vw;overflow-x:hidden}
body.woocommerce-checkout form.checkout{display:block}
body.woocommerce-checkout form.checkout::after{content:'';display:block;clear:both}
body.woocommerce-checkout form.checkout > #customer_details{float:left;width:calc(100% - 436px);min-width:0;margin-bottom:18px;box-sizing:border-box}
body.woocommerce-checkout form.checkout > h3#order_review_heading{float:right;clear:right;width:400px;max-width:100%;margin:0;box-sizing:border-box}
body.woocommerce-checkout form.checkout > #order_review{float:right;clear:right;width:400px;max-width:100%;min-width:0;margin-bottom:18px;box-sizing:border-box}
body.woocommerce-checkout form.checkout > #customer_details *,
body.woocommerce-checkout form.checkout > #order_review *{max-width:100%;box-sizing:border-box}
@media(max-width:1024px){
	body.woocommerce-checkout form.checkout > #customer_details,
	body.woocommerce-checkout form.checkout > h3#order_review_heading,
	body.woocommerce-checkout form.checkout > #order_review{float:none;width:100%;clear:both}
}
@media(max-width:640px){
	body.woocommerce-checkout .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper,
	body.woocommerce-checkout .woocommerce-shipping-fields .shipping_address{grid-template-columns:1fr}
	body.woocommerce-checkout .form-row.form-row-first,
	body.woocommerce-checkout .form-row.form-row-last{grid-column:1 !important}
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle{grid-column:1/-1;margin:0 0 12px}

/* Columnas del form */
body.woocommerce-checkout #customer_details{display:block}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{float:none;width:auto;max-width:none;padding:0;margin:0 0 16px}
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:14px}
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-0.015em;margin:0 0 16px}
body.woocommerce-checkout .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields .shipping_address{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.woocommerce-checkout .form-row{margin:0;padding:0;width:100%;min-width:0;box-sizing:border-box;grid-column:1/-1}
body.woocommerce-checkout .form-row.form-row-first{grid-column:1}
body.woocommerce-checkout .form-row.form-row-last{grid-column:2}
body.woocommerce-checkout .form-row label{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.12em;color:var(--muted);margin-bottom:6px;font-weight:500}
body.woocommerce-checkout .form-row .required{color:var(--coral);text-decoration:none}
body.woocommerce-checkout .form-row input[type="text"],
body.woocommerce-checkout .form-row input[type="email"],
body.woocommerce-checkout .form-row input[type="tel"],
body.woocommerce-checkout .form-row input[type="password"],
body.woocommerce-checkout .form-row input[type="number"],
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row .select2-container .select2-selection--single{width:100% !important;max-width:none !important;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff;color:var(--ink);box-sizing:border-box;line-height:1.4;min-height:44px}
/* El wrapper .select2-container es solo contenedor — sin border ni padding propios */
body.woocommerce-checkout .form-row .select2-container{width:100% !important;max-width:none !important;padding:0 !important;border:0 !important;background:transparent !important;min-height:0 !important}
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus{outline:none;border-color:var(--coral)}
body.woocommerce-checkout .form-row .select2-container .select2-selection--single .select2-selection__rendered{line-height:44px !important;padding:0 !important;color:var(--ink)}
body.woocommerce-checkout .form-row .select2-container .select2-selection--single .select2-selection__arrow{height:44px}
body.woocommerce-checkout .form-row select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
/* Si la sección de envío viene vacía (p.ej. solo productos digitales), la ocultamos */
body.woocommerce-checkout .woocommerce-shipping-fields:empty,
body.woocommerce-checkout .woocommerce-additional-fields:empty{display:none}

/* Sidebar del checkout (order review) */
body.woocommerce-checkout h3#order_review_heading{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-0.015em;margin:0;padding:20px 22px;border-bottom:1px solid var(--line);background:#fff;border:1px solid var(--line);border-radius:18px 18px 0 0;border-bottom:0}
body.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--line);border-radius:0 0 18px 18px;overflow:hidden}
body.woocommerce-checkout .shop_table{width:100%;border-collapse:collapse}
body.woocommerce-checkout .shop_table th,
body.woocommerce-checkout .shop_table td{padding:12px 22px;font-size:14px;text-align:left;border-bottom:1px solid var(--line)}
body.woocommerce-checkout .shop_table thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);background:var(--paper-2);font-weight:500}
body.woocommerce-checkout .shop_table tfoot th{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
body.woocommerce-checkout .shop_table tfoot td{font-family:var(--display);font-weight:500;text-align:right}
body.woocommerce-checkout .shop_table tr.order-total td{font-size:22px;color:var(--coral);font-style:italic}
body.woocommerce-checkout .shop_table tr.order-total th{color:var(--ink)}
body.woocommerce-checkout .shop_table .product-name{font-family:var(--display);font-weight:500}
body.woocommerce-checkout .shop_table td.product-total{text-align:right;font-family:var(--display);font-weight:500}
body.woocommerce-checkout .shop_table .cart-subtotal td,
body.woocommerce-checkout .shop_table .shipping td,
body.woocommerce-checkout .shop_table .fee td,
body.woocommerce-checkout .shop_table .tax-total td{text-align:right}

/* Express checkout Stripe (Apple Pay / Google Pay / Link) — reposicionado por JS al top */
body.woocommerce-checkout .almu-express-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:0 0 18px}
body.woocommerce-checkout .almu-express-wrap::before{content:'Paga rápido con';display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
body.woocommerce-checkout .almu-express-wrap + .almu-express-divider{text-align:center;margin:0 0 18px;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;color:var(--muted);text-transform:uppercase;display:flex;align-items:center;gap:12px}
body.woocommerce-checkout .almu-express-wrap + .almu-express-divider::before,
body.woocommerce-checkout .almu-express-wrap + .almu-express-divider::after{content:'';flex:1;height:1px;background:var(--line)}
/* Ocultar el divisor propio de Stripe (lo sustituimos por el nuestro) */
body.woocommerce-checkout .wc-stripe-express-checkout-divider,
body.woocommerce-checkout .wc-stripe-payment-request-divider,
body.woocommerce-checkout #wc-stripe-express-checkout-button-divider,
body.woocommerce-checkout #wc-stripe-express-checkout-button-separator,
body.woocommerce-checkout div[class*="stripe"][class*="divider"]{display:none !important}

/* Payment methods */
body.woocommerce-checkout #payment{background:transparent;margin-top:18px;border:0;border-radius:0;padding:0}
body.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:0 0 14px;border:0}
body.woocommerce-checkout #payment ul.payment_methods > li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin-bottom:10px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
body.woocommerce-checkout #payment ul.payment_methods > li:has(input[type="radio"]:checked){border-color:var(--coral);box-shadow:0 0 0 3px rgba(245,102,95,0.08)}
body.woocommerce-checkout #payment ul.payment_methods > li label{font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:-0.01em;cursor:pointer;flex-grow:1;margin:0;display:flex;align-items:center;gap:10px}
body.woocommerce-checkout #payment ul.payment_methods > li label img{max-height:22px;width:auto}
body.woocommerce-checkout #payment ul.payment_methods > li input[type="radio"]{accent-color:var(--coral);width:18px;height:18px;flex-shrink:0}

/* Contenedor del método de pago (Stripe UPE / Klarna) — limpio, sin doble fondo */
body.woocommerce-checkout #payment ul.payment_methods > li .payment_box{flex:1 1 100%;background:transparent;padding:4px 0 0;margin:10px -2px 0;border-radius:0;font-size:13.5px;color:var(--ink-2);line-height:1.5;border-top:1px solid var(--line);padding-top:16px}
body.woocommerce-checkout #payment ul.payment_methods > li .payment_box::before{display:none}
body.woocommerce-checkout #payment ul.payment_methods > li.woocommerce-notice--info{background:var(--paper-2);padding:12px 14px;margin-top:10px;border-radius:10px;font-size:13px}
body.woocommerce-checkout #payment fieldset#wc-stripe-upe-form{border:0;padding:0;margin:0}
body.woocommerce-checkout #payment .wc-stripe-upe-element{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-height:52px;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
body.woocommerce-checkout #payment .wc-stripe-upe-element.focused,
body.woocommerce-checkout #payment .wc-stripe-upe-element.StripeElement--focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(245,102,95,0.1)}
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew{margin:12px 0 0;display:flex !important;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"]{accent-color:var(--coral);width:16px;height:16px;margin:0}
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label{font-size:13px !important;font-family:inherit !important;font-weight:400 !important;display:inline !important}

/* Klarna — más llamativo (rosa Klarna + badge pay in 3) */
body.woocommerce-checkout #payment ul.payment_methods > li.payment_method_klarna_payments,
body.woocommerce-checkout #payment ul.payment_methods > li[class*="klarna"]{background:linear-gradient(135deg,#ffd9e7 0%,#fff5fa 60%);border-color:#f3a6c2;position:relative}
body.woocommerce-checkout #payment ul.payment_methods > li.payment_method_klarna_payments::after,
body.woocommerce-checkout #payment ul.payment_methods > li[class*="klarna"]::after{content:'Paga en 3 plazos sin intereses';position:absolute;top:10px;right:12px;background:#ff1a5f;color:#fff;font-family:var(--mono);font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;font-weight:600}
body.woocommerce-checkout #payment ul.payment_methods > li.payment_method_klarna_payments label,
body.woocommerce-checkout #payment ul.payment_methods > li[class*="klarna"] label{color:#111}
@media(max-width:520px){
	body.woocommerce-checkout #payment ul.payment_methods > li.payment_method_klarna_payments::after,
	body.woocommerce-checkout #payment ul.payment_methods > li[class*="klarna"]::after{position:static;display:inline-block;margin-left:8px}
}

body.woocommerce-checkout #payment .place-order{padding-top:0;margin-top:4px;border-top:0}
body.woocommerce-checkout #payment button#place_order{width:100%;background:var(--coral) !important;color:#fff !important;border:0;padding:18px;border-radius:12px;font-family:inherit;font-weight:500;font-size:15.5px;cursor:pointer;letter-spacing:-0.005em;transition:background var(--t-fast),transform var(--t-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}
body.woocommerce-checkout #payment button#place_order:hover{background:var(--ink) !important;transform:translateY(-1px)}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:12px 0;font-size:12.5px;color:var(--muted);line-height:1.5}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a{color:var(--coral)}

/* Coupon toggle */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{background:#fff;border:1px solid var(--line);color:var(--ink-2)}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{color:var(--coral)}
body.woocommerce-checkout form.checkout_coupon{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px;display:flex;gap:8px;flex-wrap:wrap}
body.woocommerce-checkout form.checkout_coupon p{margin:0;flex:1;min-width:200px}
body.woocommerce-checkout form.checkout_coupon input.input-text{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;height:44px}
body.woocommerce-checkout form.checkout_coupon button{background:var(--ink);color:#fff;border:0;padding:0 20px;height:44px;border-radius:10px;font-weight:500;font-size:13px;cursor:pointer}
body.woocommerce-checkout form.checkout_coupon button:hover{background:var(--coral)}

/* ========= wp-login.php (lostpassword, rp, register externos) ========= */
body.login{background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink)}
body.login #login{width:auto;max-width:440px;margin:40px auto;padding:0 20px}
body.login h1 a{background-image:none !important;width:auto;height:auto;text-indent:0;color:var(--ink);font-family:var(--display);font-size:22px;letter-spacing:-0.015em;font-weight:500;font-style:italic;line-height:1.2;overflow:visible;margin:0 auto 10px;display:block;text-align:center;text-decoration:none}
body.login #login_error,body.login .message,body.login .notice{border-left:0;border-radius:12px;padding:14px 16px;margin:0 0 16px;font-size:13.5px;box-shadow:none}
body.login #login_error{background:#fde8ea;color:#8a1f30}
body.login .message,body.login .notice{background:#e9f5ec;color:#14532d}
body.login form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 26px;box-shadow:0 20px 40px -20px rgba(0,0,0,0.08)}
body.login form p label{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.12em;color:var(--muted);font-weight:500;margin-bottom:6px;display:block}
body.login form input[type="text"],
body.login form input[type="email"],
body.login form input[type="password"]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff;color:var(--ink);box-sizing:border-box;line-height:1.4;min-height:44px;box-shadow:none}
body.login form input[type="text"]:focus,
body.login form input[type="email"]:focus,
body.login form input[type="password"]:focus{border-color:var(--coral);box-shadow:none;outline:none}
body.login .wp-pwd{position:relative}
body.login .wp-pwd button.wp-hide-pw{position:absolute;right:6px;top:28px;background:transparent;border:0;color:var(--muted);width:36px;height:36px;cursor:pointer}
body.login .wp-pwd button.wp-hide-pw:hover{color:var(--ink);box-shadow:none}
body.login .submit input[type="submit"],
body.login .button.button-large,
body.login .button-primary{width:100%;background:var(--coral) !important;color:#fff !important;border:0 !important;padding:14px 18px !important;border-radius:999px !important;font-family:inherit !important;font-weight:500 !important;font-size:14px !important;letter-spacing:-0.005em !important;cursor:pointer;text-shadow:none !important;box-shadow:none !important;height:auto;line-height:1.2;transition:background var(--t-fast),transform var(--t-fast)}
body.login .button-primary:hover{background:var(--ink) !important;transform:translateY(-1px)}
body.login #nav,body.login #backtoblog{padding:0;margin:18px 0 0;text-align:center;text-shadow:none}
body.login #nav a,body.login #backtoblog a{color:var(--muted);font-size:13px;text-decoration:none}
body.login #nav a:hover,body.login #backtoblog a:hover{color:var(--coral);text-decoration:underline}
body.login .forgetmenot{margin:0 0 14px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}
body.login .privacy-policy-page-link{text-align:center;margin-top:16px;font-size:12px}
body.login .privacy-policy-page-link a{color:var(--muted)}
body.login .language-switcher{display:none}
body.login .pw-weak{margin:0 0 14px}
body.login .user-pass1-wrap .password-input-wrapper{position:relative}

/* WooCommerce my-account: lost-password / reset-password (endpoint en /mi-cuenta/) */
body.woocommerce-lost-password .wc-page-wrap,
body.woocommerce-account:has(form.woocommerce-ResetPassword) .wc-page-wrap{padding:40px 0 80px}
body.woocommerce-lost-password .wc-container,
body.woocommerce-account:has(form.woocommerce-ResetPassword) .wc-container{max-width:480px;margin:0 auto;padding:0 20px}
body.woocommerce-lost-password .woocommerce,
body.woocommerce-account:has(form.woocommerce-ResetPassword) .woocommerce{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 28px;box-shadow:0 20px 40px -20px rgba(0,0,0,0.08)}
body.woocommerce-lost-password .woocommerce > p:first-of-type{margin:0 0 20px;color:var(--ink-2);font-size:14.5px;line-height:1.5}
.woocommerce-account form.lost_reset_password,
.woocommerce-account form.woocommerce-ResetPassword{margin:0}
.woocommerce-account form.lost_reset_password .form-row,
.woocommerce-account form.woocommerce-ResetPassword .form-row{margin:0 0 16px;padding:0;display:block}
.woocommerce-account form.lost_reset_password label,
.woocommerce-account form.woocommerce-ResetPassword label{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.12em;color:var(--muted);font-weight:500;margin-bottom:6px;display:block}
.woocommerce-account form.lost_reset_password input[type="text"],
.woocommerce-account form.lost_reset_password input[type="email"],
.woocommerce-account form.lost_reset_password input[type="password"],
.woocommerce-account form.woocommerce-ResetPassword input[type="text"],
.woocommerce-account form.woocommerce-ResetPassword input[type="email"],
.woocommerce-account form.woocommerce-ResetPassword input[type="password"]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff;color:var(--ink);box-sizing:border-box;line-height:1.4;min-height:44px;box-shadow:none}
.woocommerce-account form.lost_reset_password input:focus,
.woocommerce-account form.woocommerce-ResetPassword input:focus{border-color:var(--coral);outline:none;box-shadow:none}
.woocommerce-account form.lost_reset_password button[type="submit"],
.woocommerce-account form.woocommerce-ResetPassword button[type="submit"],
.woocommerce-account form.lost_reset_password .woocommerce-Button,
.woocommerce-account form.woocommerce-ResetPassword .woocommerce-Button{width:100%;background:var(--coral);color:#fff;border:0;padding:14px 18px;border-radius:999px;font-family:inherit;font-weight:500;font-size:14px;letter-spacing:-0.005em;cursor:pointer;text-shadow:none;box-shadow:none;line-height:1.2;transition:background var(--t-fast),transform var(--t-fast);margin-top:6px}
.woocommerce-account form.lost_reset_password button[type="submit"]:hover,
.woocommerce-account form.woocommerce-ResetPassword button[type="submit"]:hover{background:var(--ink);transform:translateY(-1px)}

/* Banner Klarna en ficha de producto caro */
.sp-klarna{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:14px 0 4px;background:#FFB3C7;border:1px solid #f49ab5;border-radius:14px}
.sp-klarna img.sp-klarna-logo{flex-shrink:0;display:block;height:24px !important;width:auto !important;max-width:none !important;max-height:24px}
.sp-klarna-txt{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.sp-klarna-txt b{font-family:var(--display);font-weight:500;font-size:14.5px;color:#1a0017;letter-spacing:-0.005em}
.sp-klarna-txt span{font-size:12.5px;color:#5a1e3c}

/* Toast flotante para notices WC — visible en cualquier plantilla */
.almu-wc-notices{position:fixed;top:84px;left:50%;transform:translateX(-50%);z-index:100;width:calc(100% - 32px);max-width:560px;pointer-events:none}
.almu-wc-notices > *{pointer-events:auto;box-shadow:0 18px 44px -18px rgba(0,0,0,0.22);animation:almu-toast-in .3s ease-out}
@keyframes almu-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.almu-wc-notices{top:68px}}

/* WooCommerce notices — homogeneizado con paleta Almu */
.woocommerce-notices-wrapper{margin:0 0 18px}
.woocommerce-notices-wrapper:empty{margin:0}
ul.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-info{
	list-style:none;margin:0 0 14px;padding:14px 44px 14px 48px;border-radius:12px;
	font-family:inherit;font-size:14px;line-height:1.5;color:var(--ink);
	position:relative;border:1px solid var(--line);background:#fff;display:block;
}
/* El contenedor del contenido (inyectado por nuestro JS) */
.almu-notice-row{display:flex;align-items:center;gap:14px}
.almu-notice-row .almu-notice-txt{flex:1 1 auto;min-width:0}
.almu-notice-row > a.button,
.almu-notice-row > .wc-forward,
.almu-notice-row > button{flex-shrink:0;margin-left:auto}
/* Fix para errores (<ul> con <li> dentro) */
ul.woocommerce-error > li{list-style:none;margin:0;padding:0;display:block}
ul.woocommerce-error{padding-left:48px}
/* El span .almu-notice-txt lo inyecta nuestro JS envolviendo los text nodes
   para que flex lo trate como item con min-width:0 (puede shrink + wrap). */
.almu-notice-txt{flex:1 1 auto;min-width:0}
.woocommerce-message > a.button,
.woocommerce-message > .wc-forward,
.woocommerce-info > a.button,
.woocommerce-info > .wc-forward{flex-shrink:0}
.almu-notice-close{
	position:absolute;top:50%;right:8px;transform:translateY(-50%);
	width:28px;height:28px;border-radius:999px;background:transparent;border:0;
	display:grid;place-items:center;cursor:pointer;color:currentColor;opacity:0.6;
	transition:opacity var(--t-fast),background var(--t-fast);
}
.almu-notice-close:hover{opacity:1;background:rgba(0,0,0,0.08)}
.woocommerce-info .almu-notice-close:hover{background:rgba(255,255,255,0.15)}
.almu-notice-close .material-icons-outlined{font-size:18px}
ul.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li,
.woocommerce-error li{list-style:none;margin:0;padding:0;display:block;width:100%}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before,
ul.woocommerce-error::before{
	position:absolute;left:16px;top:50%;transform:translateY(-50%);
	font-family:'Material Icons Outlined';font-size:20px;font-weight:normal;line-height:1;
	width:22px;height:22px;display:grid;place-items:center;
}
.woocommerce-message{background:#e9f5ec;border-color:#bfdfc9;color:#14532d}
.woocommerce-message::before{content:'check_circle';color:#2f7a48}
.woocommerce-info{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.woocommerce-info::before{content:'info';color:var(--paper)}
.woocommerce-info a{color:var(--coral-2)}
.woocommerce-error,
ul.woocommerce-error{background:#fde8ea;border-color:#f5b3ba;color:#8a1f30}
.woocommerce-error::before,
ul.woocommerce-error::before{content:'error';color:#b42337}

/* Botones dentro de notices (Ver carrito, etc.) — todos los tipos */
.woocommerce-message a.button,
.woocommerce-message .wc-forward,
.woocommerce-info a.button,
.woocommerce-info .wc-forward,
.woocommerce-error a.button,
.woocommerce-error .wc-forward,
ul.woocommerce-error a.button,
ul.woocommerce-error .wc-forward{
	margin-left:auto;background:var(--coral);color:#fff;padding:8px 16px;
	border-radius:999px;font-family:inherit;font-size:12.5px;font-weight:500;
	letter-spacing:-0.005em;text-decoration:none;
	display:inline-flex;align-items:center;gap:6px;border:0;cursor:pointer;
	transition:background var(--t-fast);
}
.woocommerce-message a.button:hover,
.woocommerce-message .wc-forward:hover,
.woocommerce-info a.button:hover,
.woocommerce-info .wc-forward:hover,
.woocommerce-error a.button:hover,
.woocommerce-error .wc-forward:hover,
ul.woocommerce-error a.button:hover,
ul.woocommerce-error .wc-forward:hover{background:var(--ink);color:#fff}

/* Validation inline (form-row WC con errores) */
.woocommerce-invalid input.input-text,
.woocommerce-invalid select{border-color:#b42337 !important;background:#fff8f9}
.woocommerce form .form-row .required{color:var(--coral);font-weight:500;text-decoration:none}

/* WooCommerce: wrapper común para todas las páginas WC */
.wc-page-wrap{padding:32px 0 60px;background:var(--paper)}
.wc-container{max-width:1440px;margin:0 auto;padding:0 32px}
@media (max-width:768px){.wc-container{padding:0 20px}}
.wc-main{min-height:calc(100dvh - 72px - 200px)}
/* Sticky footer: empuja el footer al fondo cuando el contenido es corto, así
 * la barra fija inferior no deja hueco visual en páginas como single-product. */
body.single-product,
body.single-courses{display:flex;flex-direction:column;min-height:100dvh}
body.single-product > *:not(.topbar):not(.wa-float):not(.sp-mobile-cta):not(.sc-mobile-cta):not(.foot),
body.single-courses > *:not(.topbar):not(.wa-float):not(.sp-mobile-cta):not(.sc-mobile-cta):not(.foot){flex-grow:1}
/* Oculta el título wp genérico "Pedido #X" que pone el tema */
.woocommerce-view-order .entry-header{display:none}
.woocommerce-view-order .entry-title{display:none}
/* Oculta el nav de WC cuando estamos en view-order (nuestra cabecera ya tiene un "volver") */
.woocommerce-view-order .woocommerce-MyAccount-navigation{display:none}
.woocommerce-view-order .woocommerce-MyAccount-content{width:100%;float:none}

/* View Order (nuestra vista estilizada) */
.vo-wrap{max-width:1180px;margin:0 auto}
.vo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.vo-head .back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--muted);text-decoration:none;margin-bottom:12px}
.vo-head .back-link:hover{color:var(--coral)}
.vo-head .back-link .material-icons-outlined{font-size:16px}
.vo-head h1{font-family:var(--display);font-weight:400;font-size:clamp(32px,3.6vw,44px);letter-spacing:-0.02em;margin:0 0 10px;line-height:1.05}
.vo-head h1 em{font-style:italic;color:var(--coral);font-weight:500}
.vo-head .head-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted)}
.vo-head .head-meta span{display:inline-flex;align-items:center;gap:6px}
.vo-head .head-meta .material-icons-outlined{font-size:14px;color:var(--coral)}

.vo-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:start}
@media (max-width:900px){.vo-grid{grid-template-columns:1fr}}
.vo-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.vo-card.pad-s{padding:20px 22px}
.vo-card + .vo-card,.vo-side .vo-card + .vo-card{margin-top:14px}
.vo-card h2{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-0.015em;margin:0 0 16px}
.vo-card h3{font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:-0.01em;margin:0 0 8px;color:var(--ink)}
.vo-card .muted{color:var(--muted);font-size:13.5px;margin:0 0 6px;line-height:1.5}
.vo-card address{font-style:normal;font-size:14px;line-height:1.55;color:var(--ink-2);margin:0 0 10px}

.vo-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.vo-items li{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;padding:12px;background:var(--paper-2);border-radius:12px}
.vo-items .thumb{width:72px;height:72px;border-radius:10px;overflow:hidden;background:var(--paper);display:grid;place-items:center}
.vo-items .thumb img{width:100%;height:100%;object-fit:cover}
.vo-items .body{min-width:0}
.vo-items .body .t{font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:-0.01em;color:var(--ink);text-decoration:none;display:block;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vo-items .body a.t:hover{color:var(--coral)}
.vo-items .body .q{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;margin-top:4px;display:inline-block}
.vo-items .price{font-family:var(--display);font-weight:500;font-size:15px;color:var(--ink);letter-spacing:-0.01em;white-space:nowrap}

.vo-totals{margin:18px 0 0;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.vo-totals .row{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.vo-totals .row dt{margin:0;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--muted)}
.vo-totals .row dd{margin:0;font-family:var(--display);font-weight:500;font-size:15px;color:var(--ink);letter-spacing:-0.01em}
.vo-totals .row.grand{margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
.vo-totals .row.grand dt{color:var(--ink);font-size:12px}
.vo-totals .row.grand dd{font-size:22px;color:var(--coral)}

.vo-note{margin-top:18px;padding:14px 16px;background:var(--paper);border-left:3px solid var(--coral);border-radius:0 10px 10px 0}
.vo-note h3{margin:0 0 4px}
.vo-note p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.5}

/* Formularios WooCommerce dentro del panel (edit-address, checkout, etc.) */
.dash-main form.woocommerce-EditAccountForm,
.dash-main form[method="post"]{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.dash-main form > h2,
.dash-main form > h3{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-0.015em;margin:0 0 18px;padding:0;border:0;color:var(--ink)}
/* Si ya tenemos subpage-head fuera del form, ocultamos el h2 interno para no duplicar titular */
.dash-main .subpage-head + form > h2:first-child{display:none}
.dash-main .woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dash-main .form-row{margin:0;padding:0;width:100%;min-width:0;box-sizing:border-box;grid-column:1 / -1}
.dash-main .form-row .woocommerce-input-wrapper{display:block;width:100%}
.dash-main .form-row.form-row-first{grid-column:1}
.dash-main .form-row.form-row-last{grid-column:2}
.dash-main .form-row label{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.12em;color:var(--muted);margin-bottom:6px;font-weight:500}
.dash-main .form-row .required{color:var(--coral);text-decoration:none}
.dash-main .form-row .optional{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;margin-left:6px}
.dash-main .form-row .woocommerce-input-wrapper{display:block}
.dash-main .form-row input[type="text"],
.dash-main .form-row input[type="email"],
.dash-main .form-row input[type="tel"],
.dash-main .form-row input[type="password"],
.dash-main .form-row input[type="number"],
.dash-main .form-row input[type="url"],
.dash-main .form-row textarea,
.dash-main .form-row select,
.dash-main .form-row .select2-container,
.dash-main .form-row .select2-container .select2-selection--single{width:100% !important;max-width:none !important;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:14px;background:#fff;color:var(--ink);font-family:inherit;box-sizing:border-box;line-height:1.4;min-height:44px}
.dash-main .form-row input:focus,
.dash-main .form-row textarea:focus,
.dash-main .form-row select:focus{outline:none;border-color:var(--coral)}
.dash-main .form-row select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.dash-main .form-row .select2-container .select2-selection--single .select2-selection__rendered{line-height:44px !important;padding:0 !important;color:var(--ink)}
.dash-main .form-row .select2-container .select2-selection--single .select2-selection__arrow{height:44px}
.dash-main .form-row textarea{min-height:90px;resize:vertical}
.dash-main .form-row .screen-reader-text{position:absolute;left:-9999px}
/* Botón de guardar del form WC — homogeneizado con .btn.coral */
.dash-main form p:has(> button[name="save_address"]),
.dash-main form p:has(> button[type="submit"].button),
.dash-main .woocommerce-address-fields > p:last-child{margin:22px 0 0 !important;padding:0}
.dash-main form button.button,
.dash-main form button[name="save_address"]{display:inline-flex;align-items:center;gap:8px;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:11px 22px;font:inherit;font-family:var(--display);font-size:14px;font-weight:500;letter-spacing:-0.005em;cursor:pointer;transition:background var(--t-fast),transform var(--t-fast);text-decoration:none}
.dash-main form button.button:hover,
.dash-main form button[name="save_address"]:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}
/* Icono Material antes del texto del botón */
.dash-main form button[name="save_address"]::before,
.dash-main form button[type="submit"].button::before{content:'save';font-family:'Material Icons Outlined';font-weight:normal;font-style:normal;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
.dash-main form .woocommerce-message,
.dash-main form .woocommerce-error,
.dash-main form .woocommerce-info{margin:0 0 18px;padding:12px 16px;border-radius:10px;font-size:13.5px;list-style:none}
.dash-main .woocommerce-message{background:#e6f6ed;color:#1d7c44;border-left:3px solid #1d7c44}
.dash-main .woocommerce-error{background:#fde8ea;color:#b42337;border-left:3px solid #b42337}
.dash-main .woocommerce-info{background:var(--paper-2);color:var(--ink-2);border-left:3px solid var(--coral)}
@media (max-width:640px){
	.dash-main .woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}
	.dash-main .form-row.form-row-first,
	.dash-main .form-row.form-row-last{grid-column:1}
}

/* Avatar custom (sin Gravatar) */
.almu-avatar{display:inline-grid;place-items:center;border-radius:999px;color:#fff;font-family:var(--display);font-weight:500;letter-spacing:-0.01em;overflow:hidden;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2)}
.almu-avatar .ini{line-height:1;text-shadow:0 1px 2px rgba(0,0,0,0.12);user-select:none}

/* User menu (logueado) — botón + dropdown al hover/focus */
.user-menu{position:relative}
.user-menu .user-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--paper);border-radius:999px;padding:8px 14px 8px 12px;text-decoration:none;font-size:13.5px;line-height:1;transition:background var(--t-fast)}
.user-menu .user-btn:hover{background:#2a2824;color:var(--paper)}
.user-menu .user-btn .material-icons-outlined{font-size:18px}
.user-menu .user-btn .chev{font-size:16px;opacity:0.7;transition:transform var(--t-fast)}
.user-menu:hover .user-btn .chev,.user-menu:focus-within .user-btn .chev{transform:rotate(180deg)}
.user-menu .user-menu-pop{position:absolute;top:calc(100% + 10px);right:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -18px rgba(0,0,0,0.18);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60}
.user-menu:hover .user-menu-pop,.user-menu:focus-within .user-menu-pop{opacity:1;visibility:visible;transform:translateY(0)}
.user-menu .user-menu-pop::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.user-menu .user-menu-pop a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-size:14px;line-height:1.2}
.user-menu .user-menu-pop a:hover{background:var(--paper-2);color:var(--ink)}
.user-menu .user-menu-pop a.danger:hover{background:#fff0f1;color:var(--coral)}
.user-menu .user-menu-pop a .material-icons-outlined{font-size:18px;color:var(--muted)}
.user-menu .user-menu-pop a:hover .material-icons-outlined{color:var(--coral)}
.user-menu .user-menu-pop .sep{height:1px;background:var(--line);margin:6px 4px}
@media (max-width:520px){.user-menu .user-btn .nm{display:none}}
.icon-btn{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background var(--t-fast),border-color var(--t-fast);position:relative;padding:0}
.icon-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.icon-btn .material-icons-outlined{font-size:18px}
.cart-badge{position:absolute;top:-6px;right:-6px;background:var(--coral);color:#fff;border-radius:999px;min-width:16px;height:16px;font-family:var(--mono);font-size:9.5px;font-weight:500;display:grid;place-items:center;padding:0 4px;border:2px solid var(--paper);box-sizing:content-box;line-height:1;pointer-events:none}

/* Mini-cart flotante (hover en desktop) */
.cart-menu{position:relative}
.cart-menu-pop{position:absolute;top:calc(100% + 10px);right:0;min-width:320px;max-width:360px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -18px rgba(0,0,0,0.2);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60;overflow:hidden}
.cart-menu-pop::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.cart-menu:hover .cart-menu-pop,.cart-menu:focus-within .cart-menu-pop{opacity:1;visibility:visible;transform:translateY(0)}
/* Contenido interior del mini cart (WC) */
.cart-menu-pop .woocommerce-mini-cart{list-style:none;padding:0;margin:0;max-height:320px;overflow-y:auto}
.cart-menu-pop .woocommerce-mini-cart__empty-message{margin:0;padding:24px;font-size:13px;color:var(--muted);text-align:center;font-family:var(--mono);letter-spacing:0.08em;text-transform:uppercase}
.cart-menu-pop .woocommerce-mini-cart li.mini_cart_item,
.cart-menu-pop .mini_cart_item{display:flex !important;align-items:center !important;gap:16px !important;padding:22px 50px 22px 24px !important;border-bottom:1px solid var(--line);position:relative;list-style:none;margin:0}
.cart-menu-pop .mini_cart_item:last-child{border-bottom:0}
/* El link del título en WC envuelve imagen + texto; lo volvemos flex para sacar la img */
.cart-menu-pop .mini_cart_item > a:not(.remove){display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:500;font-size:13.5px;letter-spacing:-0.01em;line-height:1.3}
.cart-menu-pop .mini_cart_item > a:not(.remove):hover{color:var(--coral)}
.cart-menu-pop .mini_cart_item img{flex-shrink:0;width:46px;height:46px;border-radius:10px;object-fit:cover;display:block;margin:0 !important;max-width:none !important}
.cart-menu-pop .mini_cart_item .quantity{flex-shrink:0;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;text-align:right;line-height:1.2;margin-left:auto}
.cart-menu-pop .mini_cart_item .quantity .woocommerce-Price-amount{display:block;color:var(--ink);font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:-0.01em;margin-top:3px;text-transform:none}
.cart-menu-pop .mini_cart_item > a.remove{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:999px;background:var(--paper-2);color:var(--muted);display:grid;place-items:center;font-size:12px;text-decoration:none;line-height:1;font-family:inherit;font-weight:500}
.cart-menu-pop .mini_cart_item > a.remove:hover{background:var(--coral);color:#fff}
.cart-menu-pop .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;background:var(--paper-2);border-bottom:1px solid var(--line);margin:0;font-size:13px}
.cart-menu-pop .woocommerce-mini-cart__total strong{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;font-weight:500}
.cart-menu-pop .woocommerce-mini-cart__total .woocommerce-Price-amount{font-family:var(--display);font-style:italic;font-weight:500;font-size:20px;color:var(--coral);letter-spacing:-0.015em}
.cart-menu-pop .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:6px;padding:14px;margin:0}
.cart-menu-pop .woocommerce-mini-cart__buttons .button,
.cart-menu-pop .woocommerce-mini-cart__buttons a{background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 14px;border-radius:999px;font-family:inherit;font-size:13px;font-weight:500;text-align:center;text-decoration:none;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast);display:block}
.cart-menu-pop .woocommerce-mini-cart__buttons a.checkout{background:var(--coral);color:#fff;border-color:var(--coral)}
.cart-menu-pop .woocommerce-mini-cart__buttons a.checkout:hover{background:var(--ink);border-color:var(--ink)}
.cart-menu-pop .woocommerce-mini-cart__buttons .button:hover{background:var(--paper-2)}
/* Ocultar el flyout en mobile (no tiene sentido con hover táctil) */
@media(max-width:900px){.cart-menu-pop{display:none !important}}

/* ─── botones ─── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;font-family:var(--ui);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast),border-color var(--t-fast);white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:hover{background:var(--coral);color:#fff}
.btn.coral{background:var(--coral);color:#fff}
.btn.coral:hover{background:var(--ink);color:#fff}
.btn.outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn.outline:hover{background:var(--ink);color:#fff}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--paper-2);color:var(--ink)}
.btn.on-dark{background:#fff;color:var(--ink)}
.btn.on-dark:hover{background:var(--coral);color:#fff}
.btn.on-coral{background:#fff;color:var(--coral)}
.btn.on-coral:hover{background:var(--ink);color:#fff}
.btn .material-icons-outlined{font-size:17px}
.btn.small{padding:9px 14px;font-size:12px}
.btn.large{padding:16px 26px;font-size:14px}
.btn.block{width:100%;justify-content:center}

/* ─── tags ─── */
.tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;font-weight:400}
.tag.coral{background:var(--coral);color:#fff}
.tag.coral-soft{background:var(--coral-soft);color:var(--coral-deep)}
.tag.ink{background:var(--ink);color:#fff}
.tag.outline{border:1px solid var(--line);color:var(--ink-2);background:transparent}
.tag.paper{background:var(--paper-2);color:var(--ink-2)}
.tag.white{background:#fff;color:var(--ink)}
.tag .material-icons-outlined{font-size:12px}

/* ─── forms ─── */
.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-family:var(--ui);font-size:14px;color:var(--ink);outline:none;transition:border-color var(--t-fast);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}
.field input::placeholder{color:var(--muted-2)}
.field .hint{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.06em}
.field.error input{border-color:var(--danger)}
.field.error .hint{color:var(--danger)}

/* ─── course card ─── */
.course-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;transition:transform var(--t-med),box-shadow var(--t-med);display:flex;flex-direction:column}
.course-card:hover{transform:translateY(-3px);box-shadow:var(--sh-1)}
.course-card .cover{aspect-ratio:4/3;position:relative;background:linear-gradient(160deg,var(--coral),var(--coral-2));overflow:hidden}
.course-card .cover::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,0.25) 0%,transparent 60%)}
.course-card .cover.ink{background:linear-gradient(160deg,#2b2824,#141311)}
.course-card .cover.ink::before{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.04) 0 10px,transparent 10px 20px)}
.course-card .cover.paper{background:var(--paper-2)}
.course-card .cover.paper::before{background:repeating-linear-gradient(135deg,rgba(255,90,102,0.08) 0 8px,transparent 8px 16px)}
.course-card .cover .ic{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,0.25);backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff;z-index:1}
.course-card .cover .ic .material-icons-outlined{font-size:18px}
.course-card .cover > .tag{position:absolute;top:14px;left:14px;z-index:1}
.course-card .cover .cover-label{position:absolute;bottom:14px;left:14px;font-family:var(--mono);font-size:10px;color:#fff;letter-spacing:0.1em;text-transform:uppercase;z-index:1;opacity:0.9}
.course-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.course-card .cat{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--coral);margin-bottom:6px}
.course-card h4{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-0.015em;margin:0 0 6px;line-height:1.15;color:var(--ink)}
.course-card p{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 14px;flex:1}
.course-card .meta{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:auto}
.course-card .meta b{font-family:var(--display);font-size:18px;color:var(--ink);font-weight:500}

/* ─── product card (woo) ─── */
.product{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;transition:transform var(--t-med),box-shadow var(--t-med)}
.product:hover{transform:translateY(-3px);box-shadow:var(--sh-1)}
.product .img{aspect-ratio:1;background:var(--paper-2);position:relative;display:grid;place-items:center;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;overflow:hidden}
.product .img::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,90,102,0.10),transparent 55%)}
.product .img .badge{position:absolute;top:12px;left:12px;background:var(--ink);color:#fff;padding:5px 9px;border-radius:999px;font-family:var(--mono);font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;z-index:1}
.product .img .badge.coral{background:var(--coral)}
.product .img .wish{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,0.9);backdrop-filter:blur(8px);display:grid;place-items:center;color:var(--ink);z-index:1;border:none;cursor:pointer}
.product .img .wish:hover{color:var(--coral)}
.product .img .wish .material-icons-outlined{font-size:16px}
.product .body{padding:14px 16px 16px}
.product .cat{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;margin-bottom:4px}
.product h4{font-family:var(--display);font-weight:500;font-size:17px;margin:0 0 8px;letter-spacing:-0.01em;line-height:1.2}
.product .price{font-family:var(--display);font-weight:500;font-size:19px;color:var(--coral);font-style:italic}
.product .price s{font-style:normal;font-family:var(--ui);font-size:13px;color:var(--muted);font-weight:400;margin-left:6px;text-decoration:line-through}

/* ─── footer compartido ─── */
.foot{background:var(--ink);color:#b6afa1;padding:64px 0 32px}
@media(max-width:768px){
	body.single-product .foot,
	body.single-courses .foot,
	body.woocommerce-cart .foot{padding-bottom:88px}
}
.foot a{color:#b6afa1}
.foot a:hover{color:#fff}
.foot .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:0 32px;max-width:1440px;margin:0 auto}
.foot .mark{font-family:var(--display);font-size:24px;color:#fff;font-weight:500;font-style:italic;letter-spacing:-0.02em;margin-bottom:10px}
.foot p{font-size:13px;line-height:1.6;max-width:380px;margin:0 0 14px}
.foot h5{color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;margin:0 0 14px;font-weight:500}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.foot li{font-size:13px}
.foot .bar{max-width:1440px;margin:40px auto 0;padding:20px 32px 0;border-top:1px solid #2a2824;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;color:#7a736a;text-transform:uppercase}

/* ─── breadcrumbs ─── */
.crumbs{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;padding:18px 0;margin-bottom:10px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--coral)}
.crumbs .sep{color:var(--muted-2)}
.crumbs .curr{color:var(--ink)}

/* ─── rating ─── */
.rating{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.rating .stars{color:var(--coral);letter-spacing:0.05em}

/* ─── callout ─── */
.callout{background:var(--coral-soft);border-left:3px solid var(--coral);padding:16px 22px;border-radius:0 12px 12px 0;margin:14px 0 22px;font-size:14px;color:var(--ink-2);line-height:1.55}
.callout b{color:var(--ink)}

/* ─── grids helpers ─── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stack-4>*+*{margin-top:4px}
.stack-8>*+*{margin-top:8px}
.stack-12>*+*{margin-top:12px}
.stack-16>*+*{margin-top:16px}
.stack-24>*+*{margin-top:24px}

/* ─── section head ─── */
.sect-label{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sect-label .n{font-family:var(--mono);font-size:11px;color:var(--coral);letter-spacing:0.14em}
.sect-label .t{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.14em}

/* ─── responsive ─── */
@media (max-width:1024px){
  .section{padding:64px 0}
  .grid-4{grid-template-columns:repeat(3,1fr)}
  .topbar nav{display:none}
}
@media (max-width:768px){
  .container,.container-wide{padding:0 20px}
  .topbar .inner{padding:14px 20px}
  .foot .grid{grid-template-columns:1fr 1fr;padding:0 20px;gap:32px}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width:480px){
  .section{padding:48px 0}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .foot .grid{grid-template-columns:1fr}
  .foot .bar{flex-direction:column;gap:8px;align-items:flex-start}
}
