/* Propuesta 3 — Editorial: papel, tinta negra, café y ámbar */
:root {
  --rc-ambar: #c98a17;
  --rc-ambar-claro: #e9b75a;
  --rc-cafe: #3b2416;
  --rc-tinta: #141110;
  --p3-papel: #f4efe7;
  --p3-papel-2: #ebe3d6;
  --bs-body-bg: var(--p3-papel);
  --bs-body-color: #1d1916;
  --bs-body-font-family: "Work Sans", system-ui, sans-serif;
  --bs-link-color-rgb: 20, 17, 16;
  --bs-link-hover-color-rgb: 201, 138, 23;
  --bs-border-color: #cfc5b6;
}
body { background: var(--p3-papel); }
section[id], footer[id] { scroll-margin-top: 20px; }
.p3-serif, .rc-vista-titulo { font-family: "Cormorant Garamond", serif; font-weight: 700; }
.rc-carrito, .rc-modal .modal-content { background: var(--p3-papel); }
.rc-btn-primario { border-radius: 0; }

.p3-aviso { background: var(--rc-cafe); color: #f4efe7; }
.p3-aviso strong { color: var(--rc-ambar-claro); }

.p3-masthead { border-bottom: 1px solid var(--rc-tinta); }
.p3-meta { border-bottom: 1px solid var(--rc-tinta); text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; }
.p3-bolsa { border: 1px solid var(--rc-tinta); border-radius: 0; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 600; padding: .4rem .8rem; }
.p3-bolsa:hover { background: var(--rc-tinta); color: var(--p3-papel); }
.p3-bolsa .js-cart-count { background: var(--rc-ambar); color: #111; padding: 0 .4rem; margin-left: .25rem; }
.p3-logo { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: clamp(2.8rem, 8vw, 5.6rem); color: var(--rc-tinta); letter-spacing: -.01em; line-height: 1; margin-top: 1.4rem; }
.p3-logo-chico { font-size: 2.2rem; margin: 0; }
.p3-lema { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 1.25rem; color: var(--rc-cafe); margin-top: .4rem; }
.p3-nav { border-top: 1px solid var(--rc-tinta); border-bottom: 4px double var(--rc-tinta); padding: .2rem 0; }
.p3-nav .nav-link { text-transform: uppercase; letter-spacing: .16em; font-size: .78rem; font-weight: 600; color: var(--rc-tinta); }
.p3-nav .nav-link:hover { color: var(--rc-ambar); }

.p3-portada { padding: 3rem 0 2rem; }
.p3-foto-portada { position: relative; }
.p3-foto-portada img { width: 100%; height: clamp(320px, 52vw, 620px); object-fit: cover; }
.p3-foto-portada .carousel-item img { display: block; }
.p3-slider-btn { position: absolute; top: calc(50% - 40px); z-index: 3; width: 44px; height: 44px; border: 1px solid var(--rc-tinta); border-radius: 0; background: var(--p3-papel); color: var(--rc-tinta); }
.p3-slider-btn:hover { background: var(--rc-tinta); color: var(--p3-papel); }
.p3-slider-btn.prev { left: 0; } .p3-slider-btn.next { right: 0; }
.p3-indicadores { position: static; justify-content: flex-start; margin: .6rem 0 0; }
.p3-indicadores [data-bs-target] { width: 22px; height: 3px; background: var(--rc-tinta); opacity: .25; border: 0; margin: 0 4px 0 0; }
.p3-indicadores .active { background: var(--rc-ambar); opacity: 1; }
.p3-foto-portada figcaption { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 1rem; margin-top: .5rem; color: #5b4f45; border-bottom: 1px solid var(--bs-border-color); padding-bottom: .5rem; }
.p3-seccion { text-transform: uppercase; letter-spacing: .2em; font-size: .7rem; font-weight: 600; color: var(--rc-ambar); }
.p3-titular { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: clamp(2.4rem, 4.5vw, 3.6rem); line-height: 1; margin-bottom: 1.2rem; }
.p3-titular em { color: var(--rc-cafe); font-weight: 500; }
.p3-entrada { font-size: 1.02rem; line-height: 1.7; }
.p3-entrada::first-letter { font-family: "Cormorant Garamond", serif; float: left; font-size: 3.6rem; line-height: .8; margin: .3rem .5rem 0 0; font-weight: 700; color: var(--rc-ambar); }
.p3-nota { font-size: .92rem; border-top: 1px solid var(--rc-tinta); border-bottom: 1px solid var(--rc-tinta); padding: .7rem 0; }
.p3-nota span { font-family: "Cormorant Garamond", serif; font-style: italic; font-weight: 700; color: var(--rc-ambar); font-size: 1.1rem; margin-right: .3rem; }
.p3-btn { --bs-btn-bg: var(--rc-tinta); --bs-btn-color: var(--p3-papel); --bs-btn-hover-bg: var(--rc-ambar); --bs-btn-hover-color: #111; --bs-btn-border-color: var(--rc-tinta); --bs-btn-hover-border-color: var(--rc-ambar);
  border-radius: 0; text-transform: uppercase; letter-spacing: .14em; font-size: .85rem; font-weight: 600; }
.p3-btn-claro { background: var(--rc-ambar); color: #111; border-radius: 0; font-weight: 600; }
.p3-btn-claro:hover { background: #fff; color: #111; }
.p3-btn-texto { padding: 0; border: 0; font-weight: 600; font-size: .85rem; color: var(--rc-tinta); }
.p3-btn-texto:hover { color: var(--rc-ambar); }
.p3-input { border-radius: 0; border-color: var(--rc-tinta); background-color: transparent; }

.p3-cabecera-seccion { display: flex; align-items: baseline; gap: 1rem; border-bottom: 1px solid var(--rc-tinta); padding-bottom: .6rem; margin-bottom: 2rem; flex-wrap: wrap; }
.p3-cabecera-seccion span { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 1.6rem; color: var(--rc-ambar); }
.p3-cabecera-seccion h2 { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: clamp(2rem, 4vw, 3rem); margin: 0; }
.p3-cabecera-seccion p { margin: 0 0 0 auto; text-transform: uppercase; letter-spacing: .18em; font-size: .72rem; color: #6d6156; }

/* orígenes */
.p3-origen { display: block; text-decoration: none; color: inherit; border-top: 3px solid var(--rc-tinta); padding-top: 1rem; position: relative; }
.p3-origen img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 1rem; }
.p3-origen .num { position: absolute; top: 1.4rem; left: .6rem; font-family: "Cormorant Garamond", serif; font-size: 2.6rem; font-weight: 700; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.p3-origen h3 { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: 1.6rem; margin-bottom: .3rem; }
.p3-origen p { font-size: .9rem; color: #5b4f45; margin-bottom: .5rem; }
.p3-origen em { font-family: "Cormorant Garamond", serif; font-size: 1.1rem; color: var(--rc-ambar); font-weight: 600; }

/* mercado */
.p3-mercado { background: var(--p3-papel-2); }
.p3-indice { display: flex; flex-wrap: wrap; gap: .3rem 1.4rem; justify-content: center; }
.p3-indice a { font-family: "Cormorant Garamond", serif; font-size: 1.35rem; font-style: italic; text-decoration: none; color: #6d6156; border-bottom: 2px solid transparent; }
.p3-indice a:hover { color: var(--rc-tinta); }
.p3-indice a.active { color: var(--rc-tinta); font-weight: 700; border-bottom-color: var(--rc-ambar); }
.p3-pieza-img { overflow: hidden; }
.p3-pieza-img img { transition: transform .8s; }
.p3-pieza:hover .p3-pieza-img img { transform: scale(1.04); }
.p3-sello { position: absolute; top: 12px; left: 12px; background: var(--p3-papel); color: var(--rc-tinta); font-family: "Cormorant Garamond", serif; font-style: italic; font-weight: 700; padding: .15rem .6rem; border: 1px solid var(--rc-tinta); }
.p3-pieza-nombre { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: 1.45rem; line-height: 1.1; margin: 0; }
.p3-pieza-nombre a { text-decoration: none; color: inherit; }
.p3-pieza .rc-precio { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: 1.5rem; }
.p3-pieza .bi-heart-fill { color: #a3261b; }

/* café */
.p3-cafe { background: var(--rc-cafe); color: #f4efe7; }
.p3-cafe .p3-cabecera-seccion h2 { color: #fff; }
.p3-cita { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 1.8rem; line-height: 1.25; border-left: 3px solid var(--rc-ambar); padding-left: 1.2rem; margin: 1.5rem 0; }
.p3-img-alta { height: 460px; object-fit: cover; }
.p3-img-cubrir { object-fit: cover; height: 222px; }
.p3-btn-claro small { opacity: .7; font-size: .75em; }

/* envíos */
.p3-declaracion { font-family: "Cormorant Garamond", serif; font-weight: 700; font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.05; }
.p3-declaracion em { color: var(--rc-cafe); font-weight: 500; display: block; margin-top: .6rem; font-size: .8em; }
.p3-declaracion u { text-decoration-color: var(--rc-ambar); text-decoration-thickness: 4px; text-underline-offset: 6px; }
.p3-lista { counter-reset: n; list-style: none; padding: 0; }
.p3-lista li { counter-increment: n; padding: .7rem 0 .7rem 2.6rem; position: relative; border-bottom: 1px dotted #a99c8b; }
.p3-lista li::before { content: counter(n, upper-roman) "."; position: absolute; left: 0; font-family: "Cormorant Garamond", serif; font-style: italic; font-weight: 700; color: var(--rc-ambar); font-size: 1.2rem; }
.p3-tabla-wrap { overflow-x: auto; }
.p3-tabla { --bs-table-bg: transparent; border-top: 3px solid var(--rc-tinta); }
.p3-tabla th, .p3-tabla td { border-color: #a99c8b; font-size: .9rem; }
.p3-tabla thead th { font-family: "Cormorant Garamond", serif; font-size: 1.1rem; font-weight: 700; border-bottom: 1px solid var(--rc-tinta); }
.p3-tabla caption { caption-side: bottom; color: #6d6156; }
.p3-cotizador { border: 1px solid var(--rc-tinta); background: #fff8ec; }

/* postales */
.p3-tira { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 30%); gap: 1.2rem; overflow-x: auto; padding: 0 max(1rem, calc((100vw - 1296px) / 2)) 1rem; scroll-snap-type: x mandatory; }
.p3-tira figure { scroll-snap-align: start; margin: 0; background: #fff; padding: .8rem .8rem 0; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.p3-tira figure:nth-child(odd) { transform: rotate(-1deg); }
.p3-tira figure:nth-child(even) { transform: rotate(1deg); }
.p3-tira img { width: 100%; height: 260px; object-fit: cover; }
.p3-tira figcaption { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 1.15rem; padding: .6rem 0 .8rem; text-align: center; }

/* footer */
.p3-footer { border-top: 4px double var(--rc-tinta); }
.p3-footer a { text-decoration: none; line-height: 2; }

/* checkout */
.p3-checkout-card { background: #fffaf2; border: 1px solid var(--rc-tinta); }
.p3-paso-num { font-family: "Cormorant Garamond", serif; font-style: italic; font-weight: 700; color: var(--rc-ambar); font-size: 1.5rem; margin-right: .5rem; }
