/*
Theme Name: Mimi Essence
Theme URI: https://mimiessence.com/
Author: Mimi Essence
Description: Tema elegante y ligero para la tienda artesanal Mimi Essence. Diseñado para WooCommerce.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: mimi-essence
*/
:root {
  --me-ivory: #F7ECEC;
  --me-olive: #B77C86;
  --me-sand: #E8C9CC;
  --me-terracotta: #C78691;
  --me-gold: #B89A78;
  --me-blue: #76545C;
  --me-ink: #49363A;
  --me-white: #FFFAFA;
  --me-radius: 18px;
  --me-shadow: 0 12px 35px rgba(73,54,58,.08);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--me-ink); background:var(--me-white); font-family: "Montserrat", "Avenir Next", Avenir, sans-serif; line-height:1.65; }
a { color:var(--me-olive); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--me-terracotta); }
img { max-width:100%; height:auto; }
.me-wrap { width:min(1160px, calc(100% - 36px)); margin-inline:auto; }
.me-announcement { background:var(--me-olive); color:white; text-align:center; padding:8px 12px; font-size:.82rem; letter-spacing:.04em; }
.me-header { background:rgba(255,253,249,.96); border-bottom:1px solid rgba(89,96,68,.15); position:sticky; top:0; z-index:20; backdrop-filter:blur(12px); }
.me-header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; }
.me-brand { display:flex; flex-direction:column; text-decoration:none; line-height:1.1; }
.me-brand-name { font-family:Georgia, "Times New Roman", serif; font-size:clamp(1.45rem,3vw,2rem); color:var(--me-olive); letter-spacing:.02em; }
.me-brand-tag { font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--me-gold); margin-top:6px; }
.me-nav { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.me-nav a { font-size:.91rem; text-decoration:none; font-weight:600; }
.me-menu-toggle { display:none; }
.me-cart-link { border:1px solid var(--me-sand); border-radius:999px; padding:8px 14px; }
.me-hero { background:linear-gradient(115deg, var(--me-ivory) 0%, #fbf7ef 62%, #e8e0ce 100%); padding:clamp(52px,8vw,110px) 0; overflow:hidden; }
.me-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:46px; align-items:center; }
.me-eyebrow { text-transform:uppercase; letter-spacing:.18em; color:var(--me-terracotta); font-size:.76rem; font-weight:700; }
.me-hero h1 { font-family:Georgia, "Times New Roman", serif; color:var(--me-olive); font-size:clamp(2.8rem,6vw,5.5rem); font-weight:400; line-height:1.02; margin:14px 0 20px; }
.me-hero p { font-size:clamp(1rem,1.8vw,1.18rem); max-width:590px; }
.me-hero-art { border-radius:var(--me-radius); overflow:hidden; box-shadow:var(--me-shadow); }
.me-hero-logo { display:block; width:100%; height:auto; border-radius:inherit; }
.me-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, button.single_add_to_cart_button { display:inline-block; background:var(--me-olive)!important; color:white!important; border:1px solid var(--me-olive)!important; border-radius:999px!important; padding:13px 24px!important; text-decoration:none; font-weight:700!important; transition:transform .2s, background .2s; }
.me-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background:var(--me-terracotta)!important; border-color:var(--me-terracotta)!important; transform:translateY(-1px); }
.me-btn-outline { background:transparent!important; color:var(--me-olive)!important; margin-left:8px; }
.me-section { padding:clamp(48px,7vw,88px) 0; }
.me-section-soft { background:var(--me-ivory); }
.me-section-heading { text-align:center; max-width:700px; margin:0 auto 36px; }
.me-section h2, .entry-title { font-family:Georgia, "Times New Roman", serif; font-size:clamp(2rem,4vw,3.2rem); color:var(--me-olive); font-weight:400; line-height:1.15; margin:10px 0 14px; }
.me-categories { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.me-category { min-height:225px; background:var(--me-white); border:1px solid rgba(89,96,68,.12); border-radius:var(--me-radius); padding:28px; box-shadow:var(--me-shadow); display:flex; flex-direction:column; justify-content:space-between; }
.me-category-mark { color:var(--me-gold); font-family:Georgia,serif; font-size:2.2rem; }
.me-category h3 { color:var(--me-olive); font-family:Georgia,serif; font-size:1.55rem; font-weight:400; margin:12px 0 5px; }
.me-category p { margin:0 0 18px; }
.me-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.woocommerce ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.woocommerce ul.products:before, .woocommerce ul.products:after { display:none!important; }
.woocommerce ul.products li.product { width:auto!important; margin:0!important; float:none!important; background:white; border:1px solid rgba(89,96,68,.12); border-radius:16px; padding:12px!important; overflow:hidden; }
.woocommerce ul.products li.product a img { border-radius:11px; margin-bottom:14px!important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:Georgia,serif; color:var(--me-olive); font-size:1.25rem!important; }
.woocommerce div.product div.images img { border-radius:18px; }
.single-product .me-product-purchase { clear:both; width:100%; margin:30px 0 0; padding:24px; background:var(--me-ivory); border:1px solid var(--me-sand); border-radius:var(--me-radius); }
.single-product .me-product-purchase > .price { margin:0 0 18px; color:var(--me-ink); font-size:1.25rem; }
.single-product .me-product-purchase form.cart { margin:0; }
.single-product .me-product-purchase .single_add_to_cart_button { margin-top:12px; }
.woocommerce span.onsale { background:var(--me-terracotta)!important; }
.me-promise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; }
.me-promise { padding:20px; }
.me-promise .symbol { font-size:1.8rem; color:var(--me-gold); }
.me-promise h3 { color:var(--me-olive); font-family:Georgia,serif; font-size:1.35rem; font-weight:400; }
.me-cta { background:var(--me-blue); color:white; border-radius:24px; padding:clamp(28px,5vw,58px); text-align:center; }
.me-cta h2 { color:var(--me-ivory); }
.me-cta p { max-width:650px; margin:0 auto 24px; }
.me-footer { background:var(--me-olive); color:#f8f3e8; padding:44px 0 24px; margin-top:50px; }
.me-footer a { color:#f8f3e8; }
.me-footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:28px; }
.me-footer h3 { font-family:Georgia,serif; font-weight:400; font-size:1.4rem; }
.me-footer-bottom { border-top:1px solid rgba(255,255,255,.2); margin-top:28px; padding-top:18px; font-size:.82rem; }
.me-content { padding:45px 0 70px; min-height:45vh; }
.me-content .entry-content { max-width:850px; }
.me-notice { padding:14px 18px; background:#f7f0e3; border-left:3px solid var(--me-gold); border-radius:4px; }
.me-customization-note { font-size:.92rem; background:#f7f0e3; border-radius:12px; padding:15px 18px; margin:18px 0; }
.me-whatsapp { position:fixed; right:18px; bottom:18px; z-index:30; background:#2f6f4e; color:white!important; border-radius:999px; padding:12px 18px; text-decoration:none; font-weight:700; box-shadow:var(--me-shadow); }
.me-whatsapp:hover { background:#24573c; color:white; }
.site-main { min-height:45vh; }
.woocommerce .woocommerce-breadcrumb { font-size:.85rem; }
.woocommerce table.shop_table { border-radius:12px; overflow:hidden; }
input, select, textarea { max-width:100%; border:1px solid #d8d1c4; border-radius:8px; padding:10px 12px; }
@media (max-width:850px) {
  .me-hero-grid { grid-template-columns:1fr; }
  .me-hero-art { max-width:520px; width:100%; margin:auto; }
  .me-categories, .me-promise-grid { grid-template-columns:1fr; }
  .me-products, .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .me-footer-grid { grid-template-columns:1fr; }
  .me-nav { gap:12px; }
}
@media (max-width:560px) {
  .me-header-inner { align-items:flex-start; }
  .me-nav { justify-content:flex-end; gap:9px 12px; max-width:60%; }
  .me-nav a { font-size:.78rem; }
  .me-cart-link { padding:6px 10px; }
  .me-hero h1 { font-size:2.7rem; }
  .me-btn { margin:6px 0; }
  .me-products, .woocommerce ul.products { gap:12px; }
  .woocommerce ul.products li.product { padding:8px!important; }
}
body.single-product textarea {
  field-sizing: content;
  height: auto;
  min-height: 100px;
  width: 100%;
}

/* Menú desplegable para pantallas móviles */
@media (max-width:700px) {
  .me-header-inner { position:relative; align-items:center; }
  .me-menu-toggle {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 13px;
    border:1px solid var(--me-sand);
    border-radius:999px;
    background:var(--me-white);
    color:var(--me-ink);
    font:inherit;
    font-size:.88rem;
    font-weight:600;
    cursor:pointer;
  }
  .me-menu-toggle:focus-visible { outline:3px solid var(--me-terracotta); outline-offset:3px; }
  .me-menu-toggle-icon {
    display:block;
    width:18px;
    height:14px;
    background:linear-gradient(to bottom, currentColor 0 2px, transparent 2px 6px, currentColor 6px 8px, transparent 8px 12px, currentColor 12px 14px);
  }
  .me-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:21;
    max-width:none;
    padding:10px 14px 14px;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    background:var(--me-white);
    border:1px solid var(--me-sand);
    border-radius:0 0 14px 14px;
    box-shadow:var(--me-shadow);
  }
  .me-nav.is-open { display:flex; }
  .me-nav > li { width:100%; margin:0; list-style:none; }
  .me-nav > li > a,
  .me-nav > a:not(.me-cart-link) {
    display:block;
    padding:11px 8px;
    border-bottom:1px solid rgba(73,54,58,.1);
    font-size:.95rem;
  }
  .me-nav .me-cart-link { align-self:flex-start; margin:12px 8px 2px; }
}
