/* ==========================================================================
   A3DEI · Capa de marca de la tienda
   Da a la tienda (WordPress + WooCommerce) los colores, la tipografía y el
   aire de la web 3dmaquetas.com. Todo se puede ajustar aquí y volver a subir.
   Desactivando el plugin, la tienda vuelve a verse como antes.
   ========================================================================== */

:root{
  /* Paleta de la web */
  --a3-teal:#315d54;
  --a3-teal-oscuro:#24463f;
  --a3-teal-claro:#4a8377;
  --a3-menta:#bfdece;
  --a3-oro:#d9b874;
  --a3-tinta:#122e33;
  --a3-texto:#3c4d52;
  --a3-suave:#7c8d92;
  --a3-crema:#f7f9f8;
  --a3-linea:#e2ebe8;
  --a3-sombra:18,46,51;

  /* Los colores del tema pasan a ser los de la marca */
  --wp--preset--color--color1:#eef3f1;
  --wp--preset--color--color2:#122e33;
  --wp--preset--color--color3:#315d54;
  --wp--preset--color--light:#ffffff;
  --wp--preset--color--dark:#122e33;
  --wp--preset--color--grey:#c9d6d3;
  --wp--preset--color--page-background:#f7f9f8;
  --wp--preset--color--page-text:#3c4d52;
  --wp--preset--color--button-text:#ffffff;
}

body{
  background:var(--a3-crema);
  color:var(--a3-texto);
  -webkit-font-smoothing:antialiased;
}

/* Misma tipografía que la web: DM Sans para el texto y Manrope para los
   titulares. Las dos vienen ya empaquetadas con el tema, así que no hay que
   pedirlas a ningún servidor externo. */
body,
.wp-block-navigation,
.wp-block-button__link,
.wp-element-button,
input,
select,
textarea,
button{
  font-family:"DM Sans",DMSans,Arial,sans-serif;
}

h1,h2,h3,h4,h5,.wp-block-heading,.wp-block-post-title{
  font-family:Manrope,"DM Sans",Arial,sans-serif;
  font-weight:650;
  letter-spacing:-.022em;
  color:var(--a3-tinta);
}

a{color:var(--a3-teal)}
a:hover{color:var(--a3-teal-oscuro)}

:focus-visible{outline:2px solid var(--a3-teal-claro);outline-offset:2px}

/* --------------------------------------------------------------------------
   Botones
   -------------------------------------------------------------------------- */
.wp-block-button__link,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
button.single_add_to_cart_button{
  background:var(--a3-teal);
  color:#fff;
  border:0;
  border-radius:999px;
  padding:14px 26px;
  font-weight:650;
  letter-spacing:.01em;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease,color .2s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
button.single_add_to_cart_button:hover{
  background:var(--a3-teal-oscuro);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(var(--a3-sombra),.18);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.woocommerce ul.wc-block-product-template .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;
  border:1px solid var(--a3-teal);
  color:var(--a3-teal);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:rgba(49,93,84,.07);
  color:var(--a3-teal-oscuro);
  box-shadow:none;
}

/* --------------------------------------------------------------------------
   Cabecera
   -------------------------------------------------------------------------- */
header.site-header,
header.wp-block-template-part{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--a3-linea);
  backdrop-filter:blur(10px);
}

header.site-header .wp-block-site-title a,
header.site-header .wp-block-site-title{
  color:var(--a3-tinta);
  font-weight:700;
  letter-spacing:-.02em;
}

.wp-block-navigation-item__content{
  font-weight:600;
  color:var(--a3-texto);
  transition:color .18s ease;
}

.wp-block-navigation-item__content:hover,
.wp-block-navigation-item__content:focus{
  color:var(--a3-teal);
}

header.site-header svg{fill:var(--a3-tinta)}

.wp-block-woocommerce-mini-cart__button,
.wc-block-mini-cart__button{
  color:var(--a3-tinta);
}

/* --------------------------------------------------------------------------
   Portada del catálogo (/tienda/)
   -------------------------------------------------------------------------- */
/* La cabecera propia sustituye al título de página del tema */
.page-id-6 .hostinger-ai-page-title,
.page-id-17 .hostinger-ai-page-title{display:none}

.a3-hero{
  margin-block-start:0;
  padding:74px 24px 62px;
  border-bottom:1px solid var(--a3-linea);
  background:
    radial-gradient(1100px 420px at 8% -20%,rgba(191,222,206,.85),transparent 62%),
    radial-gradient(900px 380px at 96% -10%,rgba(217,184,116,.28),transparent 60%),
    linear-gradient(180deg,#ffffff 0%,var(--a3-crema) 100%);
}

/* Interior de las secciones a ancho completo: centrado y con un máximo
   cómodo para leer. */
.a3-ancho{
  width:100%;
  max-width:var(--wp--style--global--wide-size,1100px);
  margin-inline:auto;
  padding:0;
}

.a3-eyebrow{
  margin:0 0 14px;
  color:var(--a3-teal);
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.a3-hero-titulo{
  max-width:26ch;
  margin:0 0 18px;
  font-size:clamp(2rem,4.4vw,3.1rem);
  font-weight:700;
  line-height:1.06;
}

.a3-hero-texto{
  max-width:64ch;
  margin:0 0 30px;
  color:var(--a3-texto);
  font-size:1.06rem;
  line-height:1.65;
}

.a3-hero-botones{
  flex-wrap:wrap;
  gap:12px;
}

.a3-catalogo{
  margin-block-start:0;
  padding:34px 0 68px;
}

.a3-catalogo-cabecera{
  align-items:baseline;
  gap:16px;
  margin-bottom:26px;
}

.a3-catalogo-titulo{
  margin:0;
  font-size:1.55rem;
}

/* --- Cómo funciona (portada) --- */
.a3-pasos{
  margin-block-start:0;
  padding:52px 0 8px;
}

.a3-pasos-rejilla{
  gap:22px;
  margin:0;
}

.a3-paso{
  padding:28px 26px 30px;
  background:#fff;
  border:1px solid var(--a3-linea);
  border-radius:20px;
  box-shadow:0 10px 26px rgba(var(--a3-sombra),.05);
}

.a3-paso-numero{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin:0 0 18px;
  background:rgba(49,93,84,.09);
  border-radius:50%;
  color:var(--a3-teal);
  font-weight:700;
}

.a3-paso-titulo{
  margin:0 0 10px;
  font-size:1.12rem;
}

.a3-paso-texto{
  margin:0;
  color:var(--a3-texto);
  font-size:.97rem;
  line-height:1.6;
}

/* --- Cierre / contacto --- */
.a3-cierre{
  margin-block-start:0;
  padding:34px 0 72px;
}

.a3-cierre-texto{
  margin:0;
  color:var(--a3-suave);
  font-size:.95rem;
  line-height:1.7;
}

.woocommerce-ordering select,
.wc-block-catalog-sorting select{
  border:1px solid #cfded9;
  border-radius:999px;
  padding:10px 16px;
  background:#fff;
  color:var(--a3-texto);
  font-size:.92rem;
}

.a3-sin-productos{
  padding:32px;
  border:1px dashed var(--a3-linea);
  border-radius:18px;
  background:#fff;
  text-align:center;
}

/* --------------------------------------------------------------------------
   Tarjetas de producto
   -------------------------------------------------------------------------- */
.woocommerce ul.products,
ul.wc-block-product-template{
  gap:26px;
}

/* Rejilla del catálogo: tres columnas en escritorio, dos en tablet, una en móvil */
ul.wc-block-product-template.wc-block-product-template__responsive{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  align-items:stretch;
}

@media (max-width:1024px){
  ul.wc-block-product-template.wc-block-product-template__responsive{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.woocommerce ul.products li.product,
ul.wc-block-product-template li.wc-block-product{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0 0 22px;
  background:#fff;
  border:1px solid var(--a3-linea);
  border-radius:22px;
  box-shadow:0 10px 28px rgba(var(--a3-sombra),.06);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.woocommerce ul.products li.product:hover,
ul.wc-block-product-template li.wc-block-product:hover{
  transform:translateY(-4px);
  border-color:#cfe0da;
  box-shadow:0 20px 42px rgba(var(--a3-sombra),.14);
}

/* Todas las tarjetas con el mismo marco de foto: cuadradas y recortadas */
.woocommerce ul.products li.product a img,
ul.wc-block-product-template li.wc-block-product .wc-block-components-product-image img,
ul.wc-block-product-template li.wc-block-product img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  margin:0;
  background:#eef3f1;
  border-radius:0;
  object-fit:cover;
}

.woocommerce ul.products li.product a,
ul.wc-block-product-template li.wc-block-product .wc-block-components-product-image{
  display:block;
  margin:0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.wc-block-product-template li.wc-block-product .wp-block-post-title{
  margin:20px 22px 6px;
  font-size:1.06rem;
  font-weight:650;
  line-height:1.3;
}

ul.wc-block-product-template li.wc-block-product .wp-block-post-title a{
  color:var(--a3-tinta);
  text-decoration:none;
}

ul.wc-block-product-template li.wc-block-product .wp-block-post-title a:hover{
  color:var(--a3-teal);
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.wc-block-components-product-price,
.wc-block-components-product-price .woocommerce-Price-amount,
.woocommerce div.product p.price .woocommerce-Price-amount,
.woocommerce-Price-amount{
  color:var(--a3-teal);
  font-weight:700;
}

ul.wc-block-product-template li.wc-block-product .wc-block-components-product-price{
  margin:0 22px 18px;
  font-size:1.05rem;
}

.woocommerce ul.products li.product .button,
ul.wc-block-product-template li.wc-block-product .wp-block-button,
ul.wc-block-product-template li.wc-block-product .wp-block-woocommerce-product-button{
  margin:auto 22px 0;
}

ul.wc-block-product-template li.wc-block-product .wp-block-button__link,
.woocommerce ul.products li.product .button{
  display:block;
  width:100%;
  padding:13px 18px;
  font-size:.95rem;
  text-align:center;
}

/* Productos sin foto: el hueco se ve cuidado, no roto */
.woocommerce ul.products li.product img.woocommerce-placeholder,
ul.wc-block-product-template li.wc-block-product img.woocommerce-placeholder,
img.woocommerce-placeholder{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  box-sizing:border-box;
  padding:12%;
  background:
    radial-gradient(120% 120% at 25% 8%,#ffffff 0%,#e8f0ed 100%);
  object-fit:contain;
  opacity:.9;
}

/* --------------------------------------------------------------------------
   Rejillas antiguas de WooCommerce (por ejemplo "Novedades" del carrito)
   -------------------------------------------------------------------------- */
.wc-block-grid .wc-block-grid__products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:26px;
  margin:0;
  padding:0;
  list-style:none;
}

.wc-block-grid__product{
  display:flex;
  flex-direction:column;
  /* WooCommerce fija la anchura del elemento con reglas de columnas; aquí
     manda la rejilla de arriba, así que se anula esa anchura. */
  width:auto !important;
  max-width:none !important;
  margin:0;
  padding:0 0 22px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--a3-linea);
  border-radius:22px;
  box-shadow:0 10px 28px rgba(var(--a3-sombra),.06);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.wc-block-grid__product:hover{
  transform:translateY(-4px);
  border-color:#cfe0da;
  box-shadow:0 20px 42px rgba(var(--a3-sombra),.14);
}

.wc-block-grid__product-link{
  display:block;
  text-decoration:none;
}

.wc-block-grid__product-image img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  margin:0;
  object-fit:cover;
}

.wc-block-grid__product-title{
  margin:20px 22px 6px;
  color:var(--a3-tinta);
  font-size:1.06rem;
  font-weight:650;
  line-height:1.3;
}

.wc-block-grid__product-price{
  margin:0 22px 18px;
  color:var(--a3-teal);
  font-weight:700;
}

.wc-block-grid__product-add-to-cart{
  margin:auto 22px 0;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product-add-to-cart a{
  display:block;
  width:100%;
  padding:13px 18px;
  text-align:center;
}

/* --------------------------------------------------------------------------
   Ficha de producto
   -------------------------------------------------------------------------- */
.woocommerce div.product .product_title{
  font-size:clamp(1.7rem,3.2vw,2.5rem);
  line-height:1.12;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--a3-teal);
  font-size:1.6rem;
  font-weight:700;
}

.woocommerce div.product .woocommerce-product-gallery img{
  border-radius:20px;
  background:#eef3f1;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper{
  border-radius:20px;
  overflow:hidden;
}

.woocommerce div.product .summary{
  padding:6px 0 0;
}

.woocommerce div.product form.cart{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:26px 0 12px;
}

.woocommerce div.product form.cart .quantity input{
  width:74px;
  height:52px;
  border:1px solid #cfded9;
  border-radius:14px;
  text-align:center;
}

.woocommerce div.product form.cart button.single_add_to_cart_button{
  padding:15px 30px;
}

.woocommerce div.product .product_meta,
.woocommerce div.product .product_meta a{
  color:var(--a3-suave);
  font-size:.9rem;
}

.woocommerce-tabs ul.tabs{
  padding-left:0;
  border-bottom:1px solid var(--a3-linea);
}

.woocommerce-tabs ul.tabs li a{
  color:var(--a3-texto);
  font-weight:600;
}

.woocommerce-tabs ul.tabs li.active a{color:var(--a3-teal)}

.woocommerce div.product .woocommerce-tabs .panel{
  padding-top:26px;
  color:var(--a3-texto);
  line-height:1.7;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2{
  font-size:1.4rem;
}

/* --------------------------------------------------------------------------
   Avisos, formularios, carrito y finalizar compra
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
  border-radius:16px;
}

.woocommerce-message,
.woocommerce-info{
  border-top-color:var(--a3-teal);
  background:#f2f7f5;
}

.woocommerce-message::before,
.woocommerce-info::before{color:var(--a3-teal)}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select,
.wp-block-search__input,
.wc-block-components-text-input input,
.wc-block-components-select{
  border:1px solid #cfded9;
  border-radius:14px;
  padding:13px 16px;
  background:#fff;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce select:focus{
  border-color:var(--a3-teal-claro);
  box-shadow:0 0 0 3px rgba(74,131,119,.16);
  outline:none;
}

.woocommerce table.shop_table,
.wc-block-components-totals-wrapper{
  border-radius:16px;
  border-color:var(--a3-linea);
}

.woocommerce table.shop_table th{
  color:var(--a3-tinta);
  font-weight:650;
}

.woocommerce .cart_totals h2,
.woocommerce #order_review_heading{
  font-size:1.3rem;
}

/* --------------------------------------------------------------------------
   Pie de página
   -------------------------------------------------------------------------- */
footer.site-footer,
footer.wp-block-template-part{
  background:var(--a3-tinta);
  color:#d9e6e1;
}

footer.site-footer h2,
footer.site-footer h3,
footer.wp-block-template-part h2,
footer.wp-block-template-part h3{
  color:#fff;
}

footer.site-footer a,
footer.wp-block-template-part a{
  color:var(--a3-menta);
}

footer.site-footer a:hover,
footer.wp-block-template-part a:hover{
  color:#fff;
}

footer.site-footer .wp-block-button__link,
footer.wp-block-template-part .wp-block-button__link{
  background:#fff;
  color:var(--a3-tinta);
}

footer.site-footer .wp-block-button__link:hover,
footer.wp-block-template-part .wp-block-button__link:hover{
  background:var(--a3-menta);
  color:var(--a3-tinta);
}

/* --------------------------------------------------------------------------
   Móvil
   -------------------------------------------------------------------------- */
@media (max-width:781px){
  .a3-hero{
    padding:44px 20px 40px;
  }

  .a3-ancho{
    padding-inline:20px;
  }

  .a3-hero .a3-ancho{
    padding-inline:0;
  }

  .a3-hero-titulo{
    font-size:clamp(1.7rem,7vw,2.2rem);
  }

  .a3-catalogo{
    padding:36px 0 56px;
  }

  .a3-pasos{
    padding:44px 0 4px;
  }

  .a3-pasos-rejilla{
    flex-direction:column;
    gap:16px;
  }

  .a3-paso{
    padding:22px 20px 24px;
  }

  .a3-cierre{
    padding:26px 0 56px;
  }

  ul.wc-block-product-template,
  ul.wc-block-product-template.columns-3,
  ul.wc-block-product-template.wc-block-product-template__responsive{
    grid-template-columns:1fr;
    gap:20px;
  }

  .a3-catalogo-cabecera{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }

  .a3-catalogo-cabecera .woocommerce-ordering,
  .a3-catalogo-cabecera .wc-block-catalog-sorting,
  .a3-catalogo-cabecera select{
    width:100%;
  }

  ul.wc-block-product-template li.wc-block-product .wp-block-post-title{
    margin:16px 18px 4px;
  }

  ul.wc-block-product-template li.wc-block-product .wc-block-components-product-price{
    margin:0 18px 14px;
  }

  .woocommerce div.product form.cart{
    gap:10px;
  }
}
