:root { color-scheme:light; --green:#153d33; --ink:#1a352e; --ivory:#fff; --gold:#a97734; --line:#d7d7ce; --muted:#61716a; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial,sans-serif; line-height:1.48; }
button,a { font:inherit; }
.toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; max-width:960px; margin:18px auto; padding:0 16px; }
.toolbar a { color:var(--green); text-underline-offset:4px; }
.toolbar button { padding:11px 18px; border:0; color:#fff; background:var(--green); font-weight:700; cursor:pointer; }
.print-help { max-width:960px; margin:-8px auto 18px; padding:0 16px; color:var(--muted); font-size:13px; text-align:right; }
.sheet { max-width:960px; margin:0 auto 36px; background:#fff; box-shadow:0 18px 54px rgba(15,46,37,.13); }
.sheet-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 42px; color:#fff; background:var(--green); }
.brand { font-family:Georgia,serif; font-size:27px; line-height:1; }
.brand small { display:block; margin-top:10px; font:700 11px Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.header-ref { text-align:right; font-size:12px; }
.header-ref strong { display:block; font-size:14px; }
.sheet-body { padding:34px 42px 28px; }
.pack-intro { display:grid; grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr); gap:30px; align-items:start; padding-bottom:18px; }
.pack-intro-copy { padding-top:4px; }
.pack-intro-copy .eyebrow { margin-top:0; }
.hero { margin:0; }
.hero img { display:block; width:100%; height:330px; object-fit:cover; background:var(--ivory); }
.photo-wall[hidden],.inventory-section[hidden],.voucher[hidden],.hero img[hidden] { display:none; }
.photo-wall { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; padding:8px; background:var(--green); }
.photo-tile { aspect-ratio:1; overflow:hidden; background:#fff; }
.photo-tile img { width:100%; height:100%; object-fit:contain; padding:3px; background:#fff; }
.photo-wall--art { grid-template-columns:repeat(6,1fr); }
.photo-wall--art .photo-tile:first-child { grid-column:1/-1; aspect-ratio:2.4; }
.photo-wall--art .photo-tile:first-child img { object-fit:cover; object-position:center 48%; padding:0; }
.photo-tile--honey { grid-column:1/-1; aspect-ratio:5/1; }
.photo-tile--honey img { object-fit:cover; object-position:center 42%; padding:0; }
.hero figcaption { margin:7px 0 0; color:var(--muted); font-size:11px; }
.eyebrow { margin:22px 0 8px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
h1,h2 { font-family:Georgia,serif; color:var(--green); font-weight:400; }
h1 { margin:0; font-size:43px; line-height:1.08; }
.lead { margin:10px 0 21px; max-width:790px; font-size:16px; }
.gift-photo[hidden] { display:none; }
.gift-photo { margin:16px 0 18px; }
.gift-photo-image { position:relative; }
.gift-photo-image img { display:block; width:100%; height:auto; }
.gift-photo-image span { position:absolute; left:73%; top:57%; width:13%; color:#4a3520; font:italic 10px/1.2 Georgia,serif; text-align:center; transform:rotate(11deg); }
.gift-photo figcaption { margin-top:6px; color:var(--muted); font-size:11px; }
.gift-note { display:grid; gap:4px; margin:0 0 20px; padding:12px 16px; border-left:3px solid var(--gold); background:var(--ivory); font:italic 17px/1.35 Georgia,serif; }
.gift-note strong { color:var(--green); font:700 10px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.columns { display:grid; grid-template-columns:1.2fr 1fr; gap:28px; padding:18px 0 20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.columns h2,.producer h2 { margin:0 0 9px; font-size:24px; }
.columns p { margin:0 0 10px; font-size:14px; }
ul { margin:0; padding-left:20px; font-size:14px; }
li { margin-bottom:7px; }
.producer { display:grid; grid-template-columns:110px 1fr; gap:20px; align-items:center; padding:19px 0; border-bottom:1px solid var(--line); }
.producer img { width:110px; height:120px; object-fit:cover; }
.producer:has(>div:only-child) { display:block; }
.producer:has(>div:only-child) p { margin-bottom:12px; }
.pack-gallery { margin:18px 0; }
.pack-gallery figcaption { color:var(--muted); font-size:12px; }
.pack-sheet-viewer { max-width:660px; margin:0 auto; }
.pack-sheet-viewer .pack-photo-stage { aspect-ratio:3/2; }
.pack-sheet-viewer--single { max-width:440px; margin:0 auto; }
.pack-sheet-viewer--single .pack-photo-stage { height:auto; aspect-ratio:auto; overflow:visible; }
.pack-sheet-viewer--single .pack-photo-frame { position:relative; inset:auto; display:block; }
.pack-sheet-viewer--single .pack-photo-single { width:100%!important; height:auto!important; object-fit:contain!important; }
.pack-story { padding:20px 0 8px; }
.story-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0 22px; }
.story-photo-grid figure { min-width:0; margin:0; }
.story-photo-grid img { display:block; width:100%; height:170px; object-fit:cover; background:var(--ivory); }
.story-photo-grid .story-photo-joaquin { object-position:78% center; }
.story-photo-grid figcaption { margin-top:6px; color:var(--muted); font-size:11px; line-height:1.3; }
.pack-story h2 { margin:0 0 10px; font-size:25px; }
.pack-story p { margin:0 0 12px; font-size:15px; }
.pack-story h3 { margin:20px 0 6px; color:var(--green); font:700 14px/1.25 Arial,sans-serif; letter-spacing:.02em; }
.pack-story .story-intro { color:var(--green); font:400 19px/1.3 Georgia,serif; }
.pack-story .story-closing { margin-top:20px; padding:15px 18px; border-left:3px solid var(--gold); background:var(--ivory); }
.pack-price { margin:12px 0 8px; padding:12px 14px; border:1px solid var(--line); background:#fff; }
.pack-price-heading h2 { margin:0 0 8px; font-size:21px; }
.pack-price-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.pack-price-grid div { display:grid; gap:4px; padding:10px; border-top:1px solid var(--line); }
.pack-price-grid span { color:var(--muted); font-size:11px; }
.pack-price-grid strong { color:var(--green); font:500 18px/1.1 Georgia,serif; }
.pack-price-note { margin:12px 0 0; color:var(--muted); font-size:12px; }
.pack-reasons { padding:8px 0 10px; }
.pack-reasons h2 { margin:0 0 7px; font-size:32px; }
.pack-reasons-subtitle { margin:0 0 18px; color:var(--green); font:400 20px/1.35 Georgia,serif; }
.reason-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.reason-columns section { padding:18px 20px; background:#fff; border:1px solid var(--line); }
.reason-columns h3 { margin:0 0 7px; color:var(--green); font:500 21px/1.15 Georgia,serif; }
.reason-columns p { margin:0 0 12px; color:var(--muted); font-size:15px; }
.reason-columns ul { padding-left:19px; font-size:14px; }
.reason-columns li { margin-bottom:9px; }
.pack-contact { display:grid; gap:18px; padding:24px 0 26px; border-bottom:1px solid var(--line); }
.pack-contact-heading h3 { margin:0 0 5px; color:var(--green); font:400 25px/1.1 Georgia,serif; }
.pack-contact-heading p:not(.eyebrow) { margin:0; color:var(--muted); font-size:14px; }
.pack-contact-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pack-contact-option { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-height:164px; padding:16px; border:1px solid var(--line); background:#fff; }
.pack-contact-option strong { color:var(--green); font:500 18px/1.1 Georgia,serif; }
.pack-contact-option > span { color:var(--muted); font-size:12px; }
.pack-contact-number { color:var(--green); font-size:14px; font-weight:700; text-decoration:none; }
.pack-contact-option-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:auto; width:100%; }
.pack-contact-option:first-child .pack-contact-option-actions { flex-wrap:nowrap; }
.pack-contact-primary, .pack-contact-copy { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:9px 12px; border:1px solid var(--green); text-decoration:none; color:#fff; background:var(--green); font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; }
.pack-contact-option:first-child .pack-contact-primary, .pack-contact-option:first-child .pack-contact-copy { padding-left:8px; padding-right:8px; font-size:10px; }
.pack-contact-copy { color:var(--green); background:#fff; }
.callback-panel { padding:18px; border-left:3px solid var(--gold); background:#fff; }
.callback-form { display:grid; gap:14px; }
.callback-form-heading h4 { margin:0 0 5px; color:var(--green); font:500 20px/1.15 Georgia,serif; }
.callback-form-heading p { margin:0; color:var(--muted); font-size:13px; }
.callback-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.callback-fields label { display:grid; gap:5px; color:var(--green); font-size:12px; font-weight:700; }
.callback-fields label > span { letter-spacing:.03em; }
.callback-fields input:not([type="checkbox"]), .callback-fields select, .callback-fields textarea { width:100%; padding:10px; border:1px solid var(--line); color:var(--ink); background:#fff; font:inherit; font-size:13px; }
.callback-fields textarea { resize:vertical; }
.callback-full { grid-column:1/-1; }
.callback-privacy { display:flex!important; grid-template-columns:none; align-items:flex-start; gap:8px; color:var(--muted)!important; font-size:12px!important; font-weight:400!important; }
.callback-privacy input { margin-top:2px; flex:none; }
.callback-privacy a { color:var(--green); }
.callback-privacy span { line-height:1.35; }
.callback-status { margin:0; color:var(--muted); font-size:12px; }
@media(max-width:760px) { .pack-intro { grid-template-columns:1fr; gap:14px; } .pack-intro-copy { order:1; } .pack-intro .hero { order:2; } .pack-contact-options { grid-template-columns:1fr; } .pack-contact-option { min-height:0; } .callback-fields { grid-template-columns:1fr; } .pack-price-grid,.reason-columns { grid-template-columns:1fr 1fr; } .story-photo-grid { grid-template-columns:1fr; } .story-photo-grid img { height:220px; } }
@media print { .pack-sheet-viewer { max-width:75mm; } .pack-story { padding-top:10px; } .pack-story h2 { font-size:17px; } .pack-story p { font-size:10px; } .pack-contact { display:none; } }
body:has(.pack-gallery) .hero img { height:auto; object-fit:contain; }
.producer .eyebrow { margin:0 0 7px; }
.producer p:not(.eyebrow) { margin:0; font-size:14px; }
.notice { padding:13px 17px; background:var(--ivory); font-size:13px; }
.photo-note { color:var(--muted); font-size:11px; }
.inventory-section { padding:20px 0; border-bottom:1px solid var(--line); }
.inventory-section h2,.voucher h2 { margin:0 0 8px; font-size:25px; }
.inventory-section>p { margin:0 0 18px; font-size:14px; }
#inventory-list { display:grid; grid-template-columns:1fr 1fr; gap:16px 26px; }
.inventory-group { break-inside:avoid; }
.inventory-group h3 { margin:0 0 7px; padding-bottom:5px; border-bottom:1px solid var(--line); color:var(--green); font:700 13px Arial,sans-serif; }
.inventory-group ul { margin:0; padding-left:16px; font-size:12px; }
.inventory-group li { margin-bottom:3px; }
.inventory-caveat { margin-top:15px!important; color:var(--muted); font-size:11px!important; }
.voucher { margin:24px 0 0; }
.voucher-face { display:grid; grid-template-columns:155px 1fr; align-items:center; gap:22px; padding:24px; border:1px solid var(--green); background:#fff; }
.voucher-face img { width:100%; height:auto; object-fit:contain; }
.voucher-face p { margin:0 0 12px; font-size:14px; }
.voucher-face small { font-size:11px; }
@media(max-width:650px) { .toolbar { flex-wrap:wrap; } .sheet-header { padding:22px; } .brand { font-size:21px; } .sheet-body { padding:22px; } .hero img { height:250px; } .photo-wall { grid-template-columns:repeat(6,1fr); } .photo-wall--art { grid-template-columns:repeat(3,1fr); } .gift-photo-image span { font-size:6px; } h1 { font-size:34px; } .columns,#inventory-list { grid-template-columns:1fr; gap:10px; } .voucher-face { grid-template-columns:1fr; } .voucher-face img { max-width:140px; } .producer { grid-template-columns:90px 1fr; } .producer img { width:90px; height:110px; } .pack-price-grid,.reason-columns { grid-template-columns:1fr; } }
@page { size:A4; margin:12mm; }
@media print { body { background:#fff; print-color-adjust:exact; -webkit-print-color-adjust:exact; } .toolbar,.print-help { display:none; } .sheet { max-width:none; margin:0; box-shadow:none; } .sheet-header { padding:15px 24px; } .sheet-body { padding:16px 24px; } .hero img { height:62mm; } .pack-sheet-viewer--single { max-width:84mm; margin:0 auto; } .photo-wall { grid-template-columns:repeat(7,1fr); } .hero figcaption,.photo-note,.pack-photo-help { display:none!important; } .eyebrow { margin-top:13px; } h1 { font-size:30px; } .lead { font-size:11px; margin:8px 0 11px; } .columns { gap:16px; padding:11px 0; } .columns h2,.producer h2 { font-size:17px; } .columns p,ul,.producer p:not(.eyebrow),.notice { font-size:10px; line-height:1.36; } .pack-price { padding:10px 12px; } .pack-price-heading h2,.pack-reasons h2 { font-size:18px; } .pack-price-grid { gap:5px; } .pack-price-grid div { padding:6px; } .pack-price-grid span,.pack-price-note,.reason-columns p { font-size:9px; } .pack-price-grid strong { font-size:14px; } .pack-story h2 { font-size:18px; } .story-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:10px 0 12px; } .story-photo-grid img { height:34mm; } .story-photo-grid figcaption { font-size:7px; } .pack-story h3,.reason-columns h3 { font-size:11px; } .pack-story p,.reason-columns ul { font-size:9px; line-height:1.3; } .pack-reasons { padding-top:12px; } .reason-columns { gap:10px; } .reason-columns section { padding:9px 10px; } .inventory-section { break-before:page; } #inventory-list { gap:9px 16px; } .inventory-group ul { font-size:10px; } .voucher-face { break-inside:avoid; } li { margin-bottom:3px; } .producer { grid-template-columns:78px 1fr; gap:12px; padding:9px 0; } .producer img { width:78px; height:82px; } .notice { margin:10px 0; padding:8px 10px; } }

/* Revisión de composición: verde corporativo y blanco, con prioridad a la lectura. */
.pack-price, .reason-columns section, .pack-contact-option, .callback-panel, .gift-note, .pack-story .story-closing, .notice, .voucher-face { background:#fff; }
.pack-price { margin-top:10px; padding:10px 12px; }
.pack-intro-copy { padding-top:18px; }
.pack-price-heading h2 { font-size:20px; }
.pack-reasons { padding-top:4px; }
.pack-reasons h2 { font-size:31px; }
.pack-reasons-subtitle { font-size:19px; }
.reason-columns section { padding:17px 18px; }
.reason-columns p { font-size:15px; }
.reason-columns ul { font-size:14px; }
@media(max-width:650px) {
  .pack-intro { grid-template-columns:1fr; gap:14px; }
  .pack-intro-copy { padding-top:4px; }
  .pack-intro-copy { order:1; }
  .pack-intro .hero { order:2; }
}
@media print {
  .pack-intro { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:16px; padding-bottom:8px; }
  .pack-intro-copy .eyebrow { margin-top:0; }
  .hero img { height:52mm; }
  .pack-sheet-viewer--single { max-width:72mm; }
  .pack-price { margin-top:6px; padding:8px 10px; }
  .pack-price-heading h2 { font-size:17px; }
  .pack-reasons { padding-top:4px; }
  .pack-reasons h2 { font-size:18px; }
  .pack-reasons-subtitle { font-size:11px; }
  .reason-columns section { padding:8px 9px; }
  .reason-columns p, .reason-columns ul { font-size:9px; }
}

/* Lectura editorial de la ficha: textos corridos justificados y PVP claramente destacado. */
.pack-intro-copy .lead,
.gift-note,
.columns p,
.columns li,
.pack-story p,
.pack-price-note,
.reason-columns p,
.reason-columns li,
.pack-contact-heading p:not(.eyebrow),
.callback-form-heading p,
.callback-status,
.producer p:not(.eyebrow),
.inventory-section > p,
.inventory-group li,
.notice {
  text-align: justify;
  text-justify: inter-word;
}

#price-pvp {
  font-weight: 700;
}

/* Mantiene las tres acciones de contacto alineadas en la misma base. */
.pack-contact-option--callback .pack-contact-primary {
  margin-top: auto;
}

/* Recuadros editoriales reservados para las dos historias aún sin fotografía. */
.story-photo-placeholder {
  min-height: 188px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px dashed var(--green, #1e3f20);
  background: #fff;
  color: var(--green, #1e3f20);
}
.story-photo-placeholder-mark {
  flex: 1;
  display: grid;
  place-items: center;
  padding: 20px;
  font-family: var(--sans, Arial, sans-serif);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--green, #1e3f20);
}
.story-photo-placeholder figcaption {
  border-top: 1px solid var(--green, #1e3f20);
  color: var(--green, #1e3f20);
}
@media print {
  .story-photo-placeholder { min-height: 34mm; }
  .story-photo-placeholder-mark { font-size: 7px; padding: 8px; }
  .story-photo-placeholder figcaption { font-size: 7px; }
}
