/* Tramo final de la home. La composición superior conserva home.css. */
.shop-business-bento { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 14px; grid-auto-rows: 170px; }
.shop-business-lead { grid-row: span 2; position: relative; isolation: isolate; overflow: hidden; border-radius: 12px; padding: 28px; background: #eaf0f8; }
.shop-business-lead-copy { position: relative; z-index: 2; max-width: 290px; }
.shop-business-lead h3 { font: 600 39px/1.05 var(--font-display); letter-spacing: -1.4px; color: var(--accent-ink); margin: 0 0 15px; }
.shop-business-lead-copy > p:not(.shop-kicker) { max-width: 265px; color: var(--ink-soft); font-size: 13px; line-height: 1.65; margin-bottom: 18px; }
.shop-business-lead-image { position: absolute; right: 12px; bottom: 16px; width: 49%; height: 170px; z-index: 1; pointer-events: none; mix-blend-mode: multiply; }
.shop-business-lead-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.shop-business-caption { position: absolute; bottom: 23px; left: 28px; font-size: 9px; max-width: 110px; line-height: 1.7; letter-spacing: .7px; color: var(--accent); }
.shop-business-tile { display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: 10px; border-radius: 12px; background: #f3f5f8; padding: 22px; overflow: hidden; }
.shop-business-tile:nth-child(3) { background: #f5f0e9; }
.shop-business-tile:nth-child(4) { background: #eef4f2; }
.shop-business-tile:nth-child(5) { background: #f0eff7; }
.shop-business-tile h3 { font: 600 21px/1.2 var(--font-display); color: var(--accent-ink); margin-bottom: 14px; }
.shop-business-tile span { color: var(--accent); font-size: 11px; }
.shop-business-tile-image { height: 130px; min-width: 0; }
.shop-business-tile-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.shop-home #advisor-section.shop-guidance { display: grid; grid-template-columns: 115px 1fr auto; align-items: center; gap: 26px; background: #fff5ef; border-radius: 12px; padding: 28px; }
.shop-guidance-symbol { text-align: center; color: var(--accent); transform: rotate(-6deg); }
.shop-guidance-symbol svg { width: 74px; height: 74px; display: block; margin: auto auto 10px; }
.shop-guidance-symbol > span { display: inline-block; background: white; border-radius: 15px; padding: 6px 13px; font-size: 11px; font-weight: 600; }
.shop-guidance-copy > p:not(.shop-kicker) { color: var(--ink-soft); font-size: 13px; line-height: 1.65; margin-top: 10px; max-width: 460px; }
.shop-guidance-shortcuts { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 17px; }
.shop-guidance-shortcuts a { font-size: 11px; color: var(--accent); border-bottom: 1px solid #b9c6d7; padding: 5px 0; }
.shop-guidance-shortcuts a span { margin-left: 6px; }
.shop-guidance > button { max-width: 235px; line-height: 1.6 !important; }
.shop-local-story { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.shop-pickup-visual { height: 345px; border-radius: 12px; overflow: hidden; position: relative; background: var(--accent); }
.shop-pickup-photo { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; opacity: 0; }
.shop-pickup-visual.has-photo .shop-pickup-photo { opacity: 1; }
.shop-pickup-visual.has-photo .shop-pickup-art { visibility: hidden; }
.shop-pickup-art { height: 100%; padding: 28px; position: relative; isolation: isolate; color: white; overflow: hidden; }
.shop-pickup-art::before { content: ''; position: absolute; height: 340px; width: 340px; right: -55px; bottom: -100px; border: 1px solid #ffffff24; border-radius: 50%; z-index: -1; }
.shop-pickup-art::after { content: ''; position: absolute; width: 250px; height: 250px; right: -10px; bottom: -50px; border: 1px solid #ffffff24; border-radius: 50%; z-index: -1; }
.shop-pickup-brand { background: white; border-radius: 7px; display: inline-flex; padding: 3px 12px; }
.shop-pickup-brand img { width: 145px; height: 49px; object-fit: contain; }
.shop-pickup-tag { position: absolute; top: 45px; right: 28px; font-size: 9px; letter-spacing: 1.4px; color: #d0dced; }
.shop-pickup-parcel { position: absolute; width: 215px; height: 180px; right: 22px; top: 102px; transform: rotate(-7deg); }
.shop-pickup-art-copy { position: absolute; bottom: 32px; left: 28px; }
.shop-pickup-art-copy strong { display: block; font: 500 30px/1.12 var(--font-display); letter-spacing: -.7px; }
.shop-pickup-art-copy span { display: block; font-size: 10px; margin-top: 16px; color: #cad9ec; }
.shop-pickup-art-arrow { position: absolute; right: 28px; bottom: 27px; font-size: 30px; color: var(--danger); }
.shop-pickup-copy h2 { font-size: 38px; line-height: 1.08; }
.shop-pickup-copy .shop-pickup-city { font-weight: 600; color: var(--accent); font-size: 13px; margin: 16px 0; }
.shop-pickup-details { display: grid; grid-template-columns: 1.1fr 1fr; gap: 22px; border-top: 1px solid var(--line); padding-top: 16px; }
.shop-pickup-details address,.shop-pickup-details p { color: var(--ink-soft); font-size: 12px; font-style: normal; line-height: 1.8; }
.shop-pickup-links { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 22px; }
.shop-home .shop-contact-close { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 30px 34px; background: var(--accent-ink); color: white; border-radius: 12px; margin-top: 24px; }
.shop-contact-close h2 { color: white; font-size: 29px; }
.shop-contact-close .shop-kicker { color: #b9cde7; }
.shop-contact-close > div > p:not(.shop-kicker) { color: #cbd8e8; margin-top: 10px; font-size: 12px; line-height: 1.6; }
.shop-contact-close nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px 20px; max-width: 460px; }
.shop-contact-close nav a { color: white; font-size: 12px; padding: 10px 0; border-bottom: 1px solid #ffffff50; }
.shop-contact-close nav a span { color: #ff7070; margin-left: 8px; }
.shop-contact-number { color: #bacce2; font-size: 11px; flex-basis: 100%; text-align: right; margin-top: 3px; }
.shop-home .shop-pc { margin-top: 24px; }
/* Cotizador siempre visible, con fotografías verificadas del catálogo. */
.shop-pc-feature .pc-build-panel { max-width: none; margin: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.95fr); gap: 34px; padding: 32px; border: 1px solid #dce5ef; border-radius: 14px; background: #edf2f8; color: var(--accent-ink); box-shadow: none; }
.shop-pc-feature .pc-build-panel__copy { min-height: 0; display: flex; flex-direction: column; }
.shop-pc-feature .pc-build-panel__copy > .shop-kicker { color: var(--accent); margin: 0 0 12px; font-size: 10px; }
.shop-pc-feature .pc-build-panel h2 { font: 600 clamp(29px,3.1vw,41px)/1.08 var(--font-display); color: var(--accent-ink); letter-spacing: -1.1px; }
.shop-pc-feature .pc-build-panel__copy > .shop-pc-lead { font-size: 13px; color: var(--ink-soft); line-height: 1.7; margin: 14px 0 18px; max-width: 46ch; }
.shop-pc-showcase { display: grid; grid-template-columns: 1.1fr 1fr; grid-template-rows: repeat(2,114px); gap: 10px; margin-top: auto; }
.shop-pc-component { min-width: 0; border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 13px; background: #e3eaf3; }
.shop-pc-component--main { grid-row: span 2; background: #e4eaf2; }
.shop-pc-component:nth-child(2) { background: #f8f9fb; }
.shop-pc-component:nth-child(3) { background: #e6eeed; }
.shop-pc-component > div { width: 100%; flex: 1; min-height: 0; mix-blend-mode: multiply; }
.shop-pc-component img { width: 100%; height: 100%; object-fit: contain; }
.shop-pc-component span { display: block; font-size: 9px; line-height: 1.4; color: var(--accent); padding-top: 6px; text-align: center; }
.shop-pc-copy-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; }
.shop-pc-copy-footer > span { color: var(--ink-soft); font-size: 10px; }
.shop-pc-feature .pc-build-form { margin: 0; padding: 25px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; box-shadow: none; gap: 16px; align-self: center; }
.shop-pc-form-heading { grid-column: 1/-1; padding-bottom: 3px; }
.shop-pc-form-heading h3 { color: var(--accent-ink); font: 600 22px/1.2 var(--font-display); letter-spacing: -.4px; }
.shop-pc-form-heading > p:not(.shop-kicker) { color: var(--ink-soft); font-size: 12px; line-height: 1.6; margin-top: 9px; }
.shop-pc-feature .pc-build-form label { font-size: 12px; font-weight: 600; color: var(--accent-ink); }
.shop-pc-feature .pc-build-form select,.shop-pc-feature .pc-build-form textarea { border-radius: 6px; font-size: 12px; font-weight: 400; border-color: #dbe2eb; }
.shop-pc-feature .pc-build-form .btn-primario { background: var(--accent); border-radius: 6px; font-size: 12px; box-shadow: none; }
@media (max-width: 900px) {
  .shop-pc-feature .pc-build-panel { gap: 23px; padding: 24px; }
  .shop-pc-feature .pc-build-form { padding: 20px; grid-template-columns: 1fr; }
  .shop-pc-showcase { grid-template-rows: repeat(2,104px); }
}
@media (max-width: 760px) {
  .shop-pc-feature .pc-build-panel { grid-template-columns: minmax(0,1fr); padding: 24px 18px 18px; gap: 24px; }
  .shop-pc-feature .pc-build-panel h2 { font-size: 32px; }
  .shop-pc-showcase { margin-top: 0; grid-template-rows: repeat(2,108px); }
  .shop-pc-feature .pc-build-form { padding: 20px 16px; }
  .shop-pc-form-heading h3 { font-size: 21px; }
  .shop-pc-copy-footer > span { font-size: 9px; }
  .shop-pc-feature .pc-build-panel__copy > .shop-kicker { font-size: 9px; }
}
@media (max-width: 1050px) {
  .shop-business-bento { grid-template-columns: 1.3fr 1fr 1fr; grid-auto-rows: 180px; }
  .shop-business-lead { padding: 23px; }
  .shop-business-lead h3 { font-size: 33px; }
  .shop-business-lead-image { width: 54%; height: 135px; bottom: 2px; }
  .shop-business-tile { padding: 17px; grid-template-columns: 1fr; gap: 0; }
  .shop-business-tile > div:first-child { display: flex; justify-content: space-between; align-items: center; gap: 5px; }
  .shop-business-tile h3 { font-size: 18px; margin: 0; }
  .shop-business-tile span { font-size: 9px; white-space: nowrap; }
  .shop-business-tile-image { height: 115px; }
  .shop-home #advisor-section.shop-guidance { grid-template-columns: 75px 1fr; gap: 18px; padding: 25px; }
  .shop-guidance > button { grid-column: 2; max-width: none; justify-self: start; }
  .shop-local-story { gap: 28px; }
  .shop-pickup-visual { height: 365px; }
  .shop-pickup-tag { top: 98px; left: 28px; }
  .shop-pickup-parcel { width: 145px; right: 8px; top: 110px; }
  .shop-pickup-art-copy strong { font-size: 25px; }
  .shop-pickup-copy h2 { font-size: 31px; }
  .shop-pickup-details { grid-template-columns: 1fr; gap: 10px; }
  .shop-contact-close nav { max-width: 340px; }
}
@media (max-width: 760px) {
  .shop-business-bento { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: auto; gap: 10px; }
  .shop-business-lead { grid-column: 1/-1; grid-row: auto; min-height: 345px; padding: 25px; }
  .shop-business-lead-copy { max-width: 255px; }
  .shop-business-lead h3 { font-size: 37px; }
  .shop-business-lead-copy > p:not(.shop-kicker) { max-width: 225px; }
  .shop-business-lead-image { position: relative; right: auto; bottom: auto; height: 115px; width: 48%; margin: 12px 0 0 auto; }
  .shop-business-caption { bottom: 22px; left: 25px; }
  .shop-business-tile { min-height: 168px; padding: 17px 14px; }
  .shop-business-tile > div:first-child { display: block; }
  .shop-business-tile h3 { margin-bottom: 6px; }
  .shop-business-tile-image { height: 100px; }
  .shop-home #advisor-section.shop-guidance { grid-template-columns: 1fr; padding: 25px; gap: 18px; position: relative; }
  .shop-guidance-symbol { position: absolute; right: 18px; top: 16px; }
  .shop-guidance-symbol svg { width: 40px; height: 40px; margin: 0; }
  .shop-guidance-symbol > span { display: none; }
  .shop-guidance-copy .shop-kicker { max-width: 190px; padding-right: 30px; }
  .shop-guidance-copy h2 { max-width: 230px; padding-right: 16px; }
  .shop-guidance > button { grid-column: auto; justify-self: stretch; }
  .shop-guidance-shortcuts { gap: 8px 14px; }
  .shop-guidance-shortcuts a { padding: 10px 0; }
  .shop-local-story { grid-template-columns: 1fr; gap: 24px; }
  .shop-pickup-visual { height: 310px; }
  .shop-pickup-art { padding: 24px; }
  .shop-pickup-brand img { width: 135px; height: 44px; }
  .shop-pickup-tag { left: 24px; top: 94px; font-size: 8px; }
  .shop-pickup-parcel { width: 145px; height: 135px; top: 65px; right: 10px; }
  .shop-pickup-art-copy { left: 24px; bottom: 25px; }
  .shop-pickup-art-copy strong { font-size: 26px; }
  .shop-pickup-art-copy span { font-size: 9px; }
  .shop-pickup-copy h2 { font-size: 34px; }
  .shop-pickup-details { grid-template-columns: 1fr; }
  .shop-home .shop-contact-close { display: block; padding: 27px 24px; }
  .shop-contact-close nav { justify-content: flex-start; margin-top: 18px; gap: 10px 18px; }
  .shop-contact-close nav a { min-height: 44px; font-size: 11px; }
  .shop-contact-number { text-align: left; }
}
