:root{
  --bg: #ffffff;
  --ink: #2b2b2b;
  --muted: #6b6b6b;
  --lav: #b6a7d8;
  --lav2:#d8d0ef;
  --teal:#7fbfc4;
  --teal2:#a7d7da;
  --card:#ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius: 22px;
  --max: 1100px;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--ink);
  background: var(--bg);
}

.container{
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

.site-header{
  position: sticky;
  top:0;
  z-index: 50;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.05);
}

.header-inner{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  padding: 14px 0;
}

.nav-menu, .footer-menu{
  list-style:none;
  display:flex;
  gap: 22px;
  padding:0;
  margin:0;
}

.nav-menu a, .footer-menu a{
  text-decoration:none;
  color: var(--muted);
  font-weight: 500;
}

.nav-menu a:hover{ color: var(--ink); }
.brand-text{
  font-weight:700;
  color: var(--lav);
}

.nav-right{
  display:flex;
  justify-content:flex-end;
}

.icon-btn{
  text-decoration:none;
  font-size: 18px;
  padding: 8px 10px;
  border-radius: 12px;
}

.hero{
  padding: 44px 0 28px;
  background:
    radial-gradient(900px 300px at 30% 25%, rgba(216,208,239,.55), transparent 60%),
    radial-gradient(600px 300px at 70% 35%, rgba(167,215,218,.50), transparent 60%);
}

.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 28px;
  align-items:center;
}

.hero h1{
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-weight: 500;
  letter-spacing: .2px;
  font-size: clamp(40px, 4.2vw, 70px);
  line-height: 1.05;
  margin: 0 0 10px;
}

.hero-sub{
  color: #7c69a8;
  margin: 0 0 22px;
  font-size: 18px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 20px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 600;
  border: 1px solid transparent;
  box-shadow: var(--shadow);
}

.btn-primary{
  background: linear-gradient(135deg, var(--teal), var(--teal2));
  color: #ffffff;
}

.btn-secondary{
  background: #ffffff;
  border-color: rgba(0,0,0,.08);
  color: #4a4a4a;
}

.hero-media{
  display:flex;
  justify-content:flex-end;
}

.hero-img-placeholder{
  width: min(520px, 100%);
  aspect-ratio: 4 / 3;
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(182,167,216,.35), rgba(127,191,196,.25));
  box-shadow: var(--shadow);
  display:flex;
  align-items:center;
  justify-content:center;
  color: rgba(0,0,0,.35);
  font-weight:600;
}

.section{
  padding: 46px 0;
}

.section-soft{
  padding: 56px 0;
  background: radial-gradient(900px 260px at 50% 30%, rgba(216,208,239,.50), transparent 65%);
}

.section-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 14px;
  margin-bottom: 22px;
}

.section-title h2{
  margin:0;
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-weight: 600;
  color: #4b3b6f;
}

.line{
  height: 2px;
  width: 140px;
  background: rgba(182,167,216,.55);
  border-radius: 99px;
}

.grid{
  display:grid;
  gap: 18px;
}

.cards-3{ grid-template-columns: repeat(3, 1fr); }
.cards-4{ grid-template-columns: repeat(4, 1fr); }

.product-card{
  background: var(--card);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
}

.thumb{
  height: 150px;
  background: linear-gradient(135deg, rgba(182,167,216,.25), rgba(127,191,196,.18));
}

.product-meta{
  padding: 14px 14px 16px;
  text-align:center;
}

.product-name{ font-weight: 600; color:#4a4a4a; }
.product-price{ margin-top: 6px; color:#6b6b6b; }

.theme-card{
  text-decoration:none;
  color: inherit;
  background: var(--card);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
}

.theme-thumb{
  height: 110px;
  background: linear-gradient(135deg, rgba(182,167,216,.20), rgba(127,191,196,.16));
}

.theme-label{
  padding: 12px 12px 14px;
  text-align:center;
  color:#5a5a5a;
  font-weight: 600;
}

.center{
  display:flex;
  justify-content:center;
  margin-top: 18px;
}

.info-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.info-card{
  background: linear-gradient(135deg, rgba(216,208,239,.55), rgba(255,255,255,.7));
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 26px;
  box-shadow: var(--shadow);
  padding: 26px;
  text-align:center;
}

.info-card-alt{
  background: linear-gradient(135deg, rgba(167,215,218,.45), rgba(255,255,255,.7));
}

.info-card h3{
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', Times, serif;
  color:#3f2f63;
}

.info-card h3 span{
  font-weight: 500;
}

.info-card p{
  margin: 0 auto 16px;
  max-width: 440px;
  color: #5e5e5e;
  line-height: 1.55;
}

.social{
  display:flex;
  justify-content:center;
  gap: 10px;
}

.social a{
  width: 36px;
  height: 36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  text-decoration:none;
  color: #6a6a6a;
  background: rgba(255,255,255,.7);
}

.site-footer{
  margin-top: 30px;
  padding: 26px 0;
  background: #b6a7d8;
  color: rgba(255,255,255,.92);
}

.footer-inner{
  display:flex;
  gap: 18px;
  align-items:center;
  justify-content:space-between;
}

.footer-menu a{ color: rgba(255,255,255,.92); }
.footer-copy{ font-size: 14px; }

/* Responsive */
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: 1fr; }
  .hero-media{ justify-content:flex-start; }
  .cards-3{ grid-template-columns: 1fr; }
  .cards-4{ grid-template-columns: 1fr 1fr; }
  .info-grid{ grid-template-columns: 1fr; }
  .line{ width: 80px; }
}

.custom-logo {
  height: 120px !important;
  width: auto;
  max-height: 120px;
}
.hero-media{
  height: 345px; /* prueba 240–300 */
}

.hero-img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* para que NO se recorte */
  display: block;
  border-radius: 26px;
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.35);
}
.page-wrap{
  padding: 40px 0 60px;
}

/* WooCommerce: que todo quede centrado y con ancho bonito */
.woocommerce,
.woocommerce-page{
  max-width: var(--max);
  margin: 0 auto;
  padding: 20px;
}

/* Ajuste del listado de productos */
.woocommerce ul.products{
  margin-top: 18px;
}

/* Tarjetas más bonitas (opcional pero recomendado) */
.woocommerce ul.products li.product{
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 14px;
  background: #fff;
}
.woocommerce ul.products li.product img{
  border-radius: 18px;
}
.page-wrap{
  padding: 40px 0 60px;
}
/* WooCommerce grid responsive */
.woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.woocommerce ul.products li.product{
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

@media (max-width: 900px){
  .woocommerce ul.products{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px){
  .woocommerce ul.products{
    grid-template-columns: 1fr;
  }
}
/* Product card look */
.woocommerce ul.products li.product{
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 24px;
  box-shadow: var(--shadow);
  padding: 16px;
  background: #fff;
  transition: transform .15s ease, box-shadow .15s ease;
}

.woocommerce ul.products li.product:hover{
  transform: translateY(-3px);
}
.woocommerce ul.products li.product img{
  border-radius: 18px;
  margin-bottom: 12px;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  border-radius: 999px;
  padding: 10px 16px;
  border: 0;
  box-shadow: var(--shadow);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  transform: translateY(-1px);
}
/* Woo button - LILA estilo Memory Makers */
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background: #b79ad8 !important; /* lila principal */
  color: #ffffff !important;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(183,154,216,.25);
  transition: all .18s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background: #a685cc !important; /* lila un poco más oscuro */
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(183,154,216,.35);
}

.woocommerce ul.products li.product a{
  color: #2a2a2a !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product a:hover{
  color: #6b4fa6 !important; /* lila más profundo */
}
/* HOME - Best Sellers cards fix */
.product-card .product-link{
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.product-card .thumb{
  height: 170px;         /* ajusta 160–210 si quieres */
  overflow: hidden;
  border-radius: 18px;
}

.product-card .product-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.product-card .product-meta{
  padding: 12px 14px;
}

.product-card .product-name{
  margin: 0 0 6px;
  font-weight: 600;
  line-height: 1.2;
}

.product-card .product-price{
  margin: 0;
}

/* Shop by Theme: thumbnail + overlay + hover */
.theme-thumb{
  position: relative;
  height: 140px;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
}

.theme-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  transition: transform .25s ease;
}

/* overlay pastel (suave) */
.theme-thumb::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(214, 202, 246, .35),
    rgba(167, 232, 235, .25)
  );
  pointer-events: none;
}

.theme-card{
  transition: transform .18s ease, box-shadow .18s ease;
}

.theme-card:hover{
  transform: translateY(-3px);
}

.theme-card:hover .theme-thumb img{
  transform: scale(1.05);
}
/* ---------- SINGLE PRODUCT (premium) ---------- */

/* Centrar y dar aire */
.woocommerce div.product{
  margin-top: 10px;
}

/* Columna derecha: título, precio, botón */
.woocommerce div.product .summary{
  padding-left: 10px;
}

/* Título */
.woocommerce div.product .product_title{
  font-size: 40px;
  line-height: 1.08;
  margin-bottom: 14px;
}

/* Precio */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-size: 22px;
  color: #6b4fa6; /* lila profundo */
  font-weight: 700;
  margin-bottom: 14px;
}

/* Imagen principal */
.woocommerce div.product div.images img{
  border-radius: 26px;
  box-shadow: var(--shadow);
}

/* Galería thumbnails */
.woocommerce div.product div.images .flex-control-thumbs img{
  border-radius: 14px;
  overflow: hidden;
}
.woocommerce div.product div.images .flex-control-thumbs li{
  margin: 10px 10px 0 0 !important;
}

/* Caja cantidad */
.woocommerce .quantity .qty{
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.08);
}

/* Botón Add to cart (que combine con tu lila) */
.woocommerce div.product form.cart .single_add_to_cart_button{
  background: #b79ad8 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  box-shadow: 0 8px 18px rgba(183,154,216,.25);
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  background: #a685cc !important;
  transform: translateY(-2px);
}

/* Links (category) */
.woocommerce .posted_in a{
  color: #6b4fa6 !important;
  text-decoration: none !important;
}
.woocommerce .posted_in a:hover{
  text-decoration: underline !important;
}
/* Ocultar botones express en SINGLE product (WooPay / GPay) */
.single-product .wc-block-components-express-payment,
.single-product .wcpay-payment-request-wrapper{
  display: none !important;
}
/* Single product info block */
.mm-product-notes{
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(183,154,216,.10); /* lila suave */
}

.mm-product-notes h3{
  margin: 0 0 10px;
  font-size: 16px;
  color: #6b4fa6;
}

.mm-product-notes ul{
  margin: 0;
  padding-left: 18px;
  color: #333;
}

.mm-product-notes li{
  margin: 8px 0;
  line-height: 1.35;
}
/* Badge (single product) */
.mm-badges{
  margin: 0 0 10px;
}

.mm-badge{
  display: inline-block;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(183,154,216,.18); /* lila suave */
  color: #6b4fa6;
  font-weight: 700;
  font-size: 13px;
  border: 1px solid rgba(107,79,166,.20);
}
/* ---------- Woo Reviews (boutique) ---------- */

/* Tabs container */
.woocommerce div.product .woocommerce-tabs{
  margin-top: 30px;
}

/* Tabs buttons */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding-left: 0 !important;
  margin: 0 0 18px !important;
  border: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  border: 0 !important;
  background: transparent !important;
  margin: 0 10px 0 0 !important;
  border-radius: 999px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: inline-block;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  background: rgba(183,154,216,.16) !important;
  color: #6b4fa6 !important;
  font-weight: 700;
  text-decoration: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  background: rgba(183,154,216,.28) !important;
}

/* Reviews box */
.woocommerce #reviews{
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 18px;
  background: #fff;
}

/* Individual review */
.woocommerce #reviews #comments ol.commentlist li{
  border-top: 1px solid rgba(0,0,0,.06);
  padding-top: 16px;
  margin-top: 16px;
}
.woocommerce #reviews #comments ol.commentlist li:first-child{
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

/* Star color */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before{
  color: #b79ad8 !important; /* lila */
}

/* Review form (Add a review) */
.woocommerce #review_form_wrapper{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.06);
}
.woocommerce #review_form input[type="text"],
.woocommerce #review_form input[type="email"],
.woocommerce #review_form textarea{
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  padding: 10px 12px;
}

/* Submit button */
.woocommerce #review_form .submit{
  background: #b79ad8 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  border: 0 !important;
  box-shadow: 0 8px 18px rgba(183,154,216,.25);
}
.woocommerce #review_form .submit:hover{
  background: #a685cc !important;
  transform: translateY(-2px);
}
/* About + Contact pages */
.page-hero{
  padding: 40px 0 10px;
}
.page-title{
  font-size: 44px;
  margin: 0 0 8px;
}
.page-subtitle{
  margin: 0;
  color: #666;
}

.about-grid, .contact-grid{
  display: grid;
  gap: 22px;
  grid-template-columns: 1.2fr .8fr;
}
@media (max-width: 900px){
  .about-grid, .contact-grid{ grid-template-columns: 1fr; }
}

.about-card, .contact-card, .mini-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--shadow);
}

.about-card-alt, .contact-card-alt{
  background: linear-gradient(135deg, rgba(183,154,216,.16), rgba(214,202,246,.20));
}

.checklist{
  margin: 12px 0 0;
  padding-left: 18px;
}
.checklist li{ margin: 8px 0; }

.about-cta{
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.mini-card h4{
  margin: 0 0 6px;
  color: #6b4fa6;
}

/* ---------- WPForms (boutique lila) ---------- */
.wpforms-container{
  margin-top: 10px !important;
}

.wpforms-form .wpforms-field{
  margin-bottom: 14px !important;
}

/* Labels */
.wpforms-form .wpforms-field-label{
  font-weight: 700;
  color: #3a2f46;
  margin-bottom: 6px !important;
}

/* Inputs + textarea */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="url"],
.wpforms-form input[type="number"],
.wpforms-form textarea,
.wpforms-form select{
  width: 100% !important;
  border-radius: 16px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  padding: 12px 14px !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.04);
  outline: none !important;
}

/* Focus lila suave */
.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus{
  border-color: rgba(183,154,216,.75) !important;
  box-shadow: 0 0 0 4px rgba(183,154,216,.20) !important;
}

/* Textarea altura bonita */
.wpforms-form textarea{
  min-height: 140px;
  resize: vertical;
}

/* Botón Submit */
.wpforms-form button[type="submit"],
.wpforms-form .wpforms-submit{
  background: #b79ad8 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 20px rgba(183,154,216,.28);
  transition: transform .18s ease, filter .18s ease;
}

.wpforms-form button[type="submit"]:hover,
.wpforms-form .wpforms-submit:hover{
  transform: translateY(-2px);
  filter: brightness(.97);
}

/* Mensajes / errores */
.wpforms-form label.wpforms-error{
  color: #8a3b7a !important;
  font-weight: 700;
}

.wpforms-form .wpforms-confirmation-container-full{
  border-radius: 18px !important;
  border: 1px solid rgba(183,154,216,.35) !important;
  background: rgba(183,154,216,.12) !important;
  color: #3a2f46 !important;
}
/* Footer trust bar (Etsy proof) */
.trustbar{
  padding: 14px 0;
  background: rgba(183,154,216,.10);
  border-top: 1px solid rgba(0,0,0,.05);
}

.trustbar-inner{
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  color: #3a2f46;
}

.trustbar-item{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 999px;
  padding: 8px 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,.04);
  font-size: 14px;
}

.trustbar-star{
  color: #b79ad8;
  margin-right: 6px;
}

.trustbar-dot{
  color: #b79ad8;
  margin-right: 6px;
}

.trustbar-link{
  color: #6b4fa6;
  font-weight: 800;
  text-decoration: none;
}

.trustbar-link:hover{
  text-decoration: underline;
}
/* Footer legal links */
.footer-legal-links{
  text-align: center;
  margin: 10px 0 0;
  font-size: 13px;
}

.footer-legal-links a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
  font-weight: 700;
}

.footer-legal-links a:hover{
  text-decoration: underline;
}

.footer-legal-links .sep{
  margin: 0 8px;
  color: rgba(255,255,255,.55);
}
/* Policy pages (force) */
.policy-card{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: 22px !important;
  padding: 22px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.08) !important;
}

.policy-card h2{
  margin-top: 18px !important;
  color: #6b4fa6 !important;
  font-size: 18px !important;
}

.policy-card ul{
  padding-left: 18px !important;
}

.policy-card li{
  margin: 8px 0 !important;
  line-height: 1.4 !important;
}
/* Checkout agreement checkbox */
.mm-terms-checkbox{
  margin-top: 15px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: rgba(183,154,216,.08);
  font-size: 14px;
}

.mm-terms-checkbox input{
  margin-right: 8px;
}

.mm-terms-checkbox a{
  color: #6b4fa6;
  font-weight: 700;
  text-decoration: none;
}

.mm-terms-checkbox a:hover{
  text-decoration: underline;
}
/* Woo error styling */
.woocommerce-error{
  border-radius: 16px !important;
  background: rgba(183,154,216,.12) !important;
  border: 1px solid #b79ad8 !important;
  color: #6b4fa6 !important;
  font-weight: 500;
}