:root { --margen-sitio:clamp(20px,4vw,64px); }

.wrap,#cabecera-sitio .cabecera-interior,.taller {
  width:calc(100% - var(--margen-sitio) - var(--margen-sitio));
  max-width:var(--ancho,1600px);
  margin-inline:auto;
}

/* CABECERA */

#cabecera-sitio .cabecera-interior { padding-block:8px; gap:24px; }
#cabecera-sitio .cabecera-identidad { display:flex; align-items:center; gap:14px; min-width:0; }
#cabecera-sitio .cabecera-marca { gap:4px; }
#cabecera-sitio .cabecera-logo { width:48px; height:48px; }
#cabecera-sitio .cabecera-inicio { min-width:54px; min-height:26px; padding:4px 7px; font-size:10px; }
#cabecera-sitio .cabecera-nombre { display:grid; gap:4px; font:20px/1.1 var(--serif); white-space:nowrap; }
#cabecera-sitio .cabecera-nombre span:last-child { font:11px/1.3 Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
#cabecera-sitio .cabecera-menu { gap:24px; }
#cabecera-sitio .cabecera-menu a { font-size:14px; }

#cabecera-sitio .cabecera-menu .cabecera-cotizar {
  justify-content:center;
  min-height:46px;
  padding:12px 22px;
  background:var(--vino);
  color:#fff;
  font-weight:600;
}

#cabecera-sitio .cabecera-menu .cabecera-cotizar:hover { background:#700b1c; }

/* PORTADA */

.hero {
  width:calc(100% - var(--margen-sitio) - var(--margen-sitio));
  max-width:var(--ancho,1600px);
  margin:24px auto 0;
  display:flex;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(480px,35vw,590px);
  aspect-ratio:auto;
  align-items:center;
  color:#fffaf4;
  background:#10100f;
  border:1px solid rgba(169,142,90,.25);
  border-radius:4px;
}

.hero > .foto {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  background:#10100f;
}

.hero > .foto > img { object-fit:contain; object-position:right center; }

.hero::after {
  position:absolute;
  inset:0;
  content:'';
  pointer-events:none;
  background:linear-gradient(90deg,#10100f 0%,rgba(16,16,15,.84) 22%,transparent 56%);
}

.hero > .copy {
  position:relative;
  z-index:1;
  width:100%;
  max-width:none;
  margin:0;
  padding:48px clamp(28px,5vw,80px);
}

.hero h1 {
  max-width:10.5ch;
  margin:0;
  font-size:clamp(calc(var(--h1min,3.5rem) * .82),4.8vw,calc(var(--h1max,6.5rem) * .72));
  line-height:1.03;
  letter-spacing:-.045em;
}

.hero .eyebrow { margin-bottom:18px; font:600 11px/1.5 Arial,sans-serif; letter-spacing:.22em; }
.hero .subtitulo { max-width:36ch; margin-top:20px; font:20px/1.55 Arial,sans-serif; color:#eee8df; }
.hero .acciones { width:52%; max-width:640px; gap:12px; margin-top:28px; }

.boton {
  min-height:48px;
  padding:12px 24px;
  font:600 14px/1.35 Arial,sans-serif;
  text-align:center;
}

.boton:hover { transform:none; }

.hero .acciones > .boton {
  min-height:52px;
  padding:15px 25px;
  border-color:var(--vino);
  box-shadow:0 6px 20px rgba(0,0,0,.2);
}

.hero .acciones > [data-boton="crear"] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 22px;
  border:1px solid rgba(255,255,255,.55);
  color:#fffaf4;
  font:600 14px/1.35 Arial,sans-serif;
  text-align:center;
}

.hero .acciones > [data-boton="crear"]:hover { background:rgba(255,255,255,.1); }

/* INVITACION A DESCUBRIR LAS PIEZAS */

.lujo-propuesta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  padding-block:19px;
  border-bottom:1px solid var(--linea);
  color:#665f55;
  font:500 12px/1.5 Arial,sans-serif;
  letter-spacing:.04em;
}

.lujo-propuesta a { color:var(--vino); font-weight:700; }

/* CATALOGO Y TALLER */

h2,.colecciones h1 {
  font-size:clamp(calc(var(--h2min,2.4rem) * .82),3.2vw,calc(var(--h2max,4rem) * .82));
  line-height:1.08;
}

.seccion { padding-block:var(--espacio,48px); }
.encabezado { align-items:center; gap:20px; margin-bottom:26px; }
.encabezado > .enlace { font-size:14px; }
.tarjetas { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--separacion,24px); align-items:start; }

.tarjetas .tarjeta {
  min-width:0;
  padding:12px 12px 22px;
  background:#fcfaf6;
  border:1px solid #e3ddd3;
  text-align:center;
}

.tarjeta > .foto { width:100%; aspect-ratio:1; }
.tarjeta > .foto > img { object-fit:contain; object-position:center; }
.tarjeta h3 { margin-top:18px; font-size:24px; line-height:1.15; }
.tarjeta p { margin:8px 0 0; font-size:13px; }
.tarjeta .lujo-cotizar { display:inline-flex; min-height:44px; margin-top:18px; padding:11px 22px; font-size:13px; }

.taller {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:clamp(28px,4vw,64px);
  align-items:center;
  margin-block:20px 56px;
}

.taller > .foto { width:100%; aspect-ratio:1728 / 910; }
.taller > .foto > img { object-fit:contain; object-position:center; }
.taller > .copy { min-width:0; padding:0; }
.taller .subtitulo { max-width:36ch; font:18px/1.6 Arial,sans-serif; }
.taller .enlace { font-size:14px; }

.hero-medida > .foto > img { object-position:left center; }
.hero-medida::after { background:linear-gradient(270deg,#10100f 0%,rgba(16,16,15,.85) 28%,transparent 65%); }
.hero-medida > .copy { padding-left:54%; }
.hero-medida h2 { max-width:13ch; color:#fffaf4; }
.hero-medida .acciones { width:100%; }

/* DISTRIBUCION COMPACTA */

@media(max-width:1100px) {
  #cabecera-sitio .cabecera-logo { width:36px; height:36px; }
  #cabecera-sitio .cabecera-nombre { font-size:18px; }

  #cabecera-sitio .cabecera-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    min-width:76px;
    padding:10px 12px;
    border:1px solid var(--linea);
    background:transparent;
    color:var(--tinta);
    font:12px/1.3 Arial,sans-serif;
    letter-spacing:.08em;
  }

  #cabecera-sitio .cabecera-menu {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:16px var(--margen-sitio) 22px;
    background:var(--papel);
    border-bottom:1px solid var(--linea);
    max-height:calc(100dvh - var(--altura-cabecera));
    overflow:auto;
  }

  #cabecera-sitio[data-menu-abierto="true"] .cabecera-menu { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
  #cabecera-sitio .cabecera-menu a { padding:12px 0; }
  #cabecera-sitio .cabecera-menu .cabecera-cotizar { padding:13px 20px; margin-top:8px; }

  .hero { min-height:0; flex-direction:column; align-items:stretch; }
  .hero::after { display:none; }
  .hero > .copy,.hero-medida > .copy { order:0; padding:32px; }
  .hero h1 { max-width:14ch; font-size:clamp(calc(var(--h1min,3.5rem) * .72),6vw,calc(var(--h1max,6.5rem) * .56)); }
  .hero .subtitulo { max-width:48ch; font-size:18px; }
  .hero .acciones,.hero-medida .acciones { width:100%; max-width:none; }

  .hero > .foto {
    order:1;
    position:relative;
    inset:auto;
    width:100%;
    height:clamp(180px,36vw,340px);
    aspect-ratio:auto;
  }

  .hero > .foto > img { object-position:center; }
  .hero > .foto::after { position:relative; inset:auto; }
  .taller { grid-template-columns:1fr 1fr; }
  .pasos { grid-template-columns:1fr; }
  .paso { border-right:0; border-bottom:1px solid var(--linea); padding-bottom:20px; }
  .paso:last-child { border-bottom:0; }
}

@media(max-width:760px) {
  .tarjetas { grid-template-columns:minmax(0,1fr); max-width:460px; margin-inline:auto; }
  .taller { grid-template-columns:1fr; }
  .lujo-propuesta { display:grid; grid-template-columns:1fr 1fr; font-size:11px; }
}

@media(max-width:600px) {
  #cabecera-sitio .cabecera-interior { gap:10px; }
  #cabecera-sitio .cabecera-identidad { gap:10px; }
  #cabecera-sitio .cabecera-nombre { font-size:16px; }
  #cabecera-sitio .cabecera-nombre span:last-child { font-size:9px; }
  .hero { margin-top:16px; }
  .hero > .copy,.hero-medida > .copy { padding:28px 22px; }
  .hero h1 { font-size:clamp(calc(var(--h1min,3.5rem) * .68),9vw,calc(var(--h1max,6.5rem) * .48)); }
  .hero .eyebrow { font-size:10px; letter-spacing:.16em; }
  .hero .subtitulo { font-size:17px; }
  .hero .acciones { align-items:stretch; }
  .hero .acciones > a { width:100%; }
  .encabezado { align-items:start; }
}

@media(max-width:1100px) and (max-height:600px) {
  .hero > .copy,.hero-medida > .copy { padding:24px 28px; }
  .hero h1 { font-size:calc(var(--h1min,3.5rem) * .79); }
  .hero .subtitulo { margin-top:14px; }
  .hero .acciones { margin-top:20px; }
}
/* RC_BANNER_ARTESANAL_ESTILOS_INICIO */
#banner-artesanal-rc { --rc-lateral:230px; display:grid; grid-template-columns:minmax(0,1fr) var(--rc-lateral); align-items:stretch; position:relative; isolation:isolate; overflow:hidden; width:calc(100% - 2 * var(--margen-sitio,24px)); max-width:1440px; min-height:500px; height:auto; aspect-ratio:auto; margin:16px auto 0; border:1px solid #554735; border-radius:4px; background:#10100f; color:#faf5ec; }
#banner-artesanal-rc > .foto { position:absolute; inset:0 var(--rc-lateral) 0 0; grid-column:1 / -1; grid-row:1; width:auto; height:100%; min-height:0; aspect-ratio:auto; background:#10100f; z-index:0; }
#banner-artesanal-rc > .foto > img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:right center; }
#banner-artesanal-rc::after { content:''; display:block; position:absolute; inset:0 var(--rc-lateral) 0 0; grid-column:1 / -1; grid-row:1; z-index:0; pointer-events:none; background:linear-gradient(90deg,rgba(14,14,13,.96),rgba(14,14,13,.8) 28%,rgba(14,14,13,.12) 62%,transparent 82%); }
#banner-artesanal-rc > .copy { position:relative; grid-column:1; grid-row:1; align-self:center; min-width:0; width:54%; max-width:590px; margin:0; padding:32px 0 32px clamp(24px,3vw,48px); z-index:1; pointer-events:auto; }
#banner-artesanal-rc .eyebrow { margin:0 0 14px; color:#ddc49d; font:600 10px/1.5 Arial,sans-serif; letter-spacing:.2em; }
#banner-artesanal-rc h1 { max-width:16ch; margin:0; color:#faf5ec; font:400 clamp(40px,3.6vw,54px)/1.06 var(--serif,Georgia,serif); letter-spacing:-.035em; white-space:normal; overflow-wrap:normal; }
#banner-artesanal-rc .subtitulo { max-width:36ch; margin:18px 0 0; color:#e6dfd3; font:17px/1.6 Arial,sans-serif; white-space:normal; }
#banner-artesanal-rc .rc-hero-beneficios { display:flex; flex-wrap:wrap; gap:8px 15px; margin:20px 0 0; padding:0; list-style:none; }
#banner-artesanal-rc .rc-hero-beneficios li { display:flex; align-items:center; gap:7px; color:#e4cba4; font:11px/1.5 Arial,sans-serif; }
#banner-artesanal-rc .rc-hero-beneficios li::before { content:''; flex:0 0 4px; width:4px; height:4px; background:#b99a68; transform:rotate(45deg); }
#banner-artesanal-rc .acciones { display:flex; align-items:stretch; flex-wrap:wrap; width:100%; max-width:none; gap:10px; margin:24px 0 0; }
#banner-artesanal-rc .acciones > a { display:inline-flex; align-items:center; justify-content:center; width:auto; max-width:100%; min-height:48px; padding:12px 18px; border:1px solid #8b0b20; border-radius:2px; background:#8b0b20; color:#fffaf4; font:600 13px/1.4 Arial,sans-serif; text-align:center; text-decoration:none; box-shadow:none; }
#banner-artesanal-rc .acciones > [data-boton="crear"] { border-color:#b99a68; background:rgba(16,16,15,.65); color:#f0dfc2; }
#banner-artesanal-rc .acciones > a:hover { background:#6d0c1d; filter:none; transform:none; }
#banner-artesanal-rc .acciones > [data-boton="crear"]:hover { background:#b99a68; color:#171410; }
#banner-artesanal-rc a:focus-visible { outline:2px solid #e3c69c; outline-offset:4px; }
#banner-artesanal-rc .rc-hero-artesanos { position:relative; grid-column:2; grid-row:1; align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-width:0; padding:32px 24px; border-left:1px solid #514332; background:linear-gradient(155deg,#202019,#11110f 80%); z-index:1; }
#banner-artesanal-rc .rc-hero-artesanos h2 { max-width:none; margin:0; color:#dfc69f; font:400 29px/1.14 var(--serif,Georgia,serif); letter-spacing:-.02em; white-space:normal; }
#banner-artesanal-rc .rc-hero-oficio { margin:18px 0 0; color:#c9c1b5; font:13px/1.8 Arial,sans-serif; }
#banner-artesanal-rc .rc-hero-servicios { display:grid; gap:10px; margin-top:24px; padding-top:20px; border-top:1px solid #655237; color:#e3c69c; font:600 12px/1.5 Arial,sans-serif; }

@media(max-width:1100px) {
  #banner-artesanal-rc { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); min-height:0; }
  #banner-artesanal-rc::after { display:none; }
  #banner-artesanal-rc > .copy { grid-column:1; grid-row:1; width:auto; max-width:none; padding:28px; }
  #banner-artesanal-rc h1 { font-size:clamp(34px,4.5vw,46px); }
  #banner-artesanal-rc > .foto { grid-column:2; grid-row:1; position:relative; inset:auto; width:100%; height:100%; min-height:380px; }
  #banner-artesanal-rc > .foto > img { object-fit:cover; object-position:75% center; }
  #banner-artesanal-rc .rc-hero-artesanos { grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,.8fr); align-items:center; gap:24px; padding:24px 28px; border-left:0; border-top:1px solid #514332; }
  #banner-artesanal-rc .rc-hero-artesanos h2 { font-size:25px; }
  #banner-artesanal-rc .rc-hero-oficio { margin:0; }
  #banner-artesanal-rc .rc-hero-servicios { margin:0; padding:0 0 0 18px; border-top:0; border-left:1px solid #655237; }
}

@media(max-width:700px) {
  #banner-artesanal-rc { grid-template-columns:minmax(0,1fr); }
  #banner-artesanal-rc > .copy { grid-column:1; grid-row:1; padding:26px 22px; }
  #banner-artesanal-rc h1 { max-width:17ch; font-size:clamp(32px,8.5vw,46px); }
  #banner-artesanal-rc .eyebrow { font-size:9px; letter-spacing:.16em; }
  #banner-artesanal-rc .subtitulo { margin-top:15px; font-size:16px; }
  #banner-artesanal-rc .rc-hero-beneficios { margin-top:16px; gap:8px 12px; }
  #banner-artesanal-rc .acciones { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:20px; }
  #banner-artesanal-rc .acciones > a { width:100%; min-height:46px; padding:10px; font-size:12px; }
  #banner-artesanal-rc > .foto { grid-column:1; grid-row:2; height:clamp(220px,62vw,360px); min-height:0; }
  #banner-artesanal-rc .rc-hero-artesanos { grid-column:1; grid-row:3; display:block; padding:24px 22px; }
  #banner-artesanal-rc .rc-hero-artesanos h2 { font-size:26px; }
  #banner-artesanal-rc .rc-hero-oficio { margin-top:12px; font-size:14px; }
  #banner-artesanal-rc .rc-hero-servicios { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:18px; padding:16px 0 0; border-left:0; border-top:1px solid #655237; }
}
/* RC_BANNER_ARTESANAL_ESTILOS_FIN */



/* RC_PIEZAS_TEXTO_ESTILOS_INICIO */
body[data-pagina="inicio"] #piezas.seccion { padding-top:24px; padding-bottom:36px; }
body[data-pagina="inicio"] #piezas > .encabezado { display:grid; grid-template-columns:minmax(0,1.05fr) 112px minmax(0,1fr); column-gap:28px; row-gap:12px; align-items:center; margin:0 0 22px; padding:20px 0; border-block:1px solid #d4c5ac; }
body[data-pagina="inicio"] #piezas .rc-piezas-intro { display:contents; }
body[data-pagina="inicio"] #piezas .rc-piezas-titular { grid-column:1; grid-row:1 / 3; min-width:0; }
body[data-pagina="inicio"] #piezas .rc-piezas-titular h2 { max-width:20ch; margin:0; color:#28231d; font-size:clamp(30px,2.8vw,40px); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
body[data-pagina="inicio"] #piezas .rc-piezas-firma { max-width:43ch; margin:10px 0 0; color:#826643; font:600 11px/1.6 Arial,sans-serif; letter-spacing:.045em; }
body[data-pagina="inicio"] #piezas .rc-piezas-experiencia { grid-column:2; grid-row:1 / 3; display:flex; flex-direction:column; align-items:center; justify-content:center; width:112px; height:112px; padding:10px; border:1px solid #b99a68; border-radius:50%; background:radial-gradient(circle,#fffdf8,#eee5d7); box-shadow:inset 0 0 0 5px #f7f3eb; text-align:center; }
body[data-pagina="inicio"] #piezas .rc-piezas-experiencia strong { color:#8b0b20; font:400 46px/1 var(--serif,Georgia,serif); letter-spacing:-.06em; }
body[data-pagina="inicio"] #piezas .rc-piezas-experiencia span { margin-top:3px; color:#765d39; font:600 10px/1.3 Arial,sans-serif; letter-spacing:.2em; }
body[data-pagina="inicio"] #piezas .rc-piezas-experiencia small { max-width:82px; margin-top:5px; color:#806c50; font:8px/1.4 Arial,sans-serif; letter-spacing:.05em; }
body[data-pagina="inicio"] #piezas .rc-piezas-descripcion { grid-column:3; grid-row:1; align-self:end; max-width:none; min-width:0; margin:0; color:#62574b; font:14px/1.65 Arial,sans-serif; }
body[data-pagina="inicio"] #piezas > .encabezado > .enlace { grid-column:3; grid-row:2; align-self:start; justify-self:start; display:inline-flex; align-items:center; justify-content:center; width:auto; min-height:44px; margin:0; padding:10px 20px; border:1px solid #8b0b20; border-radius:2px; background:#8b0b20; color:#fffaf4; font:600 12px/1.4 Arial,sans-serif; text-decoration:none; }
body[data-pagina="inicio"] #piezas > .encabezado > .enlace:hover { background:#680c1c; border-color:#680c1c; }
body[data-pagina="inicio"] #piezas > .encabezado > .enlace:focus-visible { outline:2px solid #8b0b20; outline-offset:4px; }

@media(max-width:900px) {
  body[data-pagina="inicio"] #piezas > .encabezado { grid-template-columns:minmax(0,1fr) 88px; gap:14px 20px; padding:16px 0; }
  body[data-pagina="inicio"] #piezas .rc-piezas-titular { grid-column:1; grid-row:1; }
  body[data-pagina="inicio"] #piezas .rc-piezas-titular h2 { max-width:none; font-size:clamp(28px,4vw,36px); }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia { grid-column:2; grid-row:1; width:88px; height:88px; padding:7px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia strong { font-size:37px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia span { font-size:9px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia small { margin-top:3px; font-size:7px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-descripcion { grid-column:1 / -1; grid-row:2; }
  body[data-pagina="inicio"] #piezas > .encabezado > .enlace { grid-column:1 / -1; grid-row:3; }
}

@media(max-width:480px) {
  body[data-pagina="inicio"] #piezas.seccion { padding-top:18px; }
  body[data-pagina="inicio"] #piezas > .encabezado { grid-template-columns:minmax(0,1fr) 74px; gap:12px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-titular h2 { font-size:28px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-firma { font-size:10px; letter-spacing:.02em; }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia { width:74px; height:74px; padding:6px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia strong { font-size:31px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia span { font-size:8px; }
  body[data-pagina="inicio"] #piezas .rc-piezas-experiencia small { font-size:6px; }
}
/* RC_PIEZAS_TEXTO_ESTILOS_FIN */
