/* ============================================================
   Aislamiento del tema de WordPress
   ============================================================ */
html.pp-locked {
  overflow: hidden;
}

#tienda-pp {
  container-type: inline-size;
  container-name: tienda;
  box-sizing: border-box;
  background: var(--pp-cream);
  color: var(--pp-ink);
  font-family: var(--pp-font);
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}

#tienda-pp :where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure, blockquote) {
  margin: 0;
  padding: 0;
  text-transform: none;
  letter-spacing: normal;
  font-style: normal;
  text-align: inherit;
}

#tienda-pp :where(h1, h2, h3, h4, h5, h6) {
  color: inherit;
  font-family: inherit;
  font-weight: 700;
}

#tienda-pp :where(ul) {
  list-style: none;
}

#tienda-pp :where(a) {
  color: inherit;
  text-decoration: none;
  background: none;
  border: 0;
}

#tienda-pp :where(a:hover, a:focus) {
  text-decoration: none;
}

#tienda-pp :where(img, svg) {
  max-width: 100%;
}

#tienda-pp :where(img) {
  display: block;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: none;
  padding: 0;
}

#tienda-pp :where(label) {
  text-transform: none;
  letter-spacing: normal;
  font-style: normal;
}

#tienda-pp :where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: normal;
  text-transform: none;
  text-shadow: none;
  box-shadow: none;
  text-decoration: none;
  border-radius: 0;
  background-image: none;
  float: none;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: inherit;
}

#tienda-pp :where(button) {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  text-align: center;
}

#tienda-pp :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  background-color: #fff;
  border: 1px solid var(--pp-line-strong);
}

#tienda-pp :where([id]) {
  scroll-margin-top: 96px;
}

.pp-checkout::backdrop {
  background: rgba(13, 18, 24, .6);
  backdrop-filter: blur(3px);
}

#tienda-pp .checkout:not([open]) {
  display: none;
}

#tienda-pp .checkout {
  position: fixed;
  inset: 0;
  margin: auto;
  font-family: var(--pp-font);
  color: var(--pp-ink);
}

/* ============================================================
   Tienda
   ============================================================ */
#tienda-pp {
  --pp-cream:#F7F5EE;
  --pp-cream-2:#EAE8E1;
  --pp-paper:#FFFDF8;
  --pp-ink:#0D1218;
  --pp-ink-soft:rgba(13,18,24,.72);
  --pp-ink-mute:rgba(13,18,24,.54);
  --pp-coral:#FF845A;
  --pp-coral-deep:#F06A3C;
  --pp-coral-ink:#200A05;
  --pp-mint:#00CCB2;
  --pp-mint-ink:#001612;
  --pp-green:#00BA7B;
  --pp-danger:#B42318;
  --pp-line:#E4E0D5;
  --pp-line-strong:#D5CFBF;
  --pp-shadow:0 10px 30px rgba(32,10,5,.08);
  --pp-font:'Poppins',ui-sans-serif,system-ui,sans-serif;
  --pp-wrap:1180px;
}

#tienda-pp *,
#tienda-pp *::before,
#tienda-pp *::after {
  box-sizing:border-box
}

#tienda-pp img {
  display:block;max-width:100%
}

#tienda-pp h1,
#tienda-pp h2,
#tienda-pp h3,
#tienda-pp h4,
#tienda-pp p {
  margin:0
}

#tienda-pp ul {
  margin:0;padding:0;list-style:none
}

#tienda-pp a {
  color:inherit;text-decoration:none
}

#tienda-pp button,
#tienda-pp input,
#tienda-pp select,
#tienda-pp textarea {
  font:inherit;color:inherit
}

#tienda-pp button {
  cursor:pointer
}

#tienda-pp [hidden] {
  display:none!important
}

#tienda-pp .svg-sprite {
  position:absolute;width:0;height:0;overflow:hidden
}

#tienda-pp .icon {
  width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round
}

#tienda-pp :focus-visible {
  outline:2px solid var(--pp-coral-deep);outline-offset:2px
}

#tienda-pp .announce {
  background:var(--pp-ink);color:var(--pp-cream);font-size:12.5px;letter-spacing:.02em;padding:9px 16px;text-align:center
}

#tienda-pp .announce__inner {
  display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center
}

#tienda-pp .announce .icon {
  width:15px;height:15px;color:var(--pp-mint)
}

#tienda-pp .announce strong {
  color:var(--pp-mint);font-weight:600
}

#tienda-pp .brand__name {
  display:block;font-size:17px;font-weight:700;line-height:1.15;letter-spacing:-.015em
}

#tienda-pp .btn {
  display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;padding:13px 20px;font-size:14.5px;font-weight:600;line-height:1.2;transition:transform .2s,background .2s,box-shadow .2s;text-align:center
}

#tienda-pp .btn .icon {
  width:18px;height:18px
}

#tienda-pp .btn--coral {
  background:var(--pp-coral);color:var(--pp-coral-ink);box-shadow:0 10px 22px rgba(255,132,90,.28)
}

#tienda-pp .btn--coral:hover {
  background:var(--pp-coral-deep);transform:translateY(-1px)
}

#tienda-pp .btn--mint {
  background:var(--pp-mint);color:var(--pp-mint-ink)
}

#tienda-pp .btn--mint:hover {
  background:#00bda6;transform:translateY(-1px)
}

#tienda-pp .btn--ghost {
  background:transparent;border:1.5px solid var(--pp-line-strong);color:var(--pp-ink)
}

#tienda-pp .btn--ghost:hover {
  background:var(--pp-paper);border-color:var(--pp-ink-mute)
}

#tienda-pp .btn--pay {
  width:100%;min-width:0;justify-content:space-between;gap:6px;background:var(--pp-coral);color:var(--pp-coral-ink);padding:12px 10px;font-size:13.5px;font-weight:700;border-radius:12px
}

#tienda-pp .btn--pay:hover {
  background:var(--pp-coral-deep);transform:translateY(-1px)
}

#tienda-pp .btn--pay:disabled {
  background:var(--pp-cream-2);color:var(--pp-ink-mute);cursor:not-allowed;transform:none;box-shadow:none
}

#tienda-pp .btn--block {
  width:100%
}

#tienda-pp .btn__amount {
  font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap
}

#tienda-pp .hero {
  position:relative;overflow:hidden
}

#tienda-pp .hero::before {
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,132,90,.16),transparent 68%);left:-200px;top:-120px;pointer-events:none
}

#tienda-pp .hero__inner {
  position:relative;max-width:var(--pp-wrap);margin:0 auto;padding:56px 24px 44px;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center
}

#tienda-pp .eyebrow {
  display:inline-flex;align-items:center;gap:7px;background:rgba(255,132,90,.14);border:1px solid rgba(255,132,90,.38);color:var(--pp-coral-ink);font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:7px 12px;border-radius:999px
}

#tienda-pp .hero h1 {
  font-size:clamp(2.5rem,5.1vw,4rem);line-height:1.04;letter-spacing:-.035em;font-weight:800;margin:18px 0
}

#tienda-pp .hero h1 .accent {
  color:var(--pp-coral-deep)
}

#tienda-pp .hero__lead {
  font-size:16.5px;line-height:1.68;color:var(--pp-ink-soft);max-width:52ch
}

#tienda-pp .hero__actions {
  display:flex;flex-wrap:wrap;gap:12px;margin-top:28px
}

#tienda-pp .hero__chips {
  display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:30px;font-size:12.5px;color:var(--pp-ink-soft)
}

#tienda-pp .hero__chips li {
  display:inline-flex;align-items:center;gap:7px
}

#tienda-pp .hero__chips .icon {
  width:16px;height:16px;color:var(--pp-green)
}

#tienda-pp .hero__media {
  position:relative
}

#tienda-pp .hero__frame {
  border-radius:28px;overflow:hidden;border:1px solid rgba(13,18,24,.09);box-shadow:0 26px 60px rgba(32,10,5,.16);background:var(--pp-cream-2)
}

#tienda-pp .hero__frame img {
  width:100%;height:auto;aspect-ratio:16/10;object-fit:cover
}

#tienda-pp .hero__badge {
  position:absolute;top:16px;right:16px;background:var(--pp-mint);color:var(--pp-mint-ink);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:8px 13px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.14)
}

#tienda-pp .hero__note {
  position:absolute;left:-16px;bottom:-16px;background:var(--pp-paper);border:1px solid var(--pp-line);border-radius:16px;padding:14px 18px;box-shadow:var(--pp-shadow);display:flex;align-items:center;gap:12px
}

#tienda-pp .hero__note .dot {
  width:10px;height:10px;border-radius:50%;background:var(--pp-green);box-shadow:0 0 0 4px rgba(0,186,123,.15);flex:0 0 auto
}

#tienda-pp .hero__note strong {
  display:block;font-size:13px;line-height:1.3
}

#tienda-pp .hero__note span {
  display:block;font-size:11.5px;color:var(--pp-ink-soft);margin-top:2px
}

#tienda-pp .section {
  max-width:var(--pp-wrap);margin:0 auto;padding:64px 24px
}

#tienda-pp .section__head {
  max-width:740px;margin-bottom:32px
}

#tienda-pp .section__head h2 {
  font-size:clamp(1.8rem,3.3vw,2.55rem);line-height:1.12;letter-spacing:-.03em;font-weight:800
}

#tienda-pp .section__head p {
  font-size:15px;color:var(--pp-ink-soft);margin-top:12px;max-width:62ch
}

#tienda-pp .catalog__note {
  display:inline-flex;align-items:center;gap:7px;margin-top:14px;background:rgba(0,204,178,.12);border:1px solid rgba(0,204,178,.3);color:#00695C;font-size:11.5px;font-weight:600;padding:7px 12px;border-radius:999px
}

#tienda-pp .catalog__note .icon {
  width:15px;height:15px
}

#tienda-pp .catalog__grid {
  display:grid;grid-template-columns:repeat(12,1fr);gap:20px
}

#tienda-pp .product {
  grid-column:span 3;display:flex;flex-direction:column;background:var(--pp-paper);border:1px solid var(--pp-line);border-radius:20px;overflow:hidden;box-shadow:0 8px 22px rgba(32,10,5,.05);transition:transform .25s,box-shadow .25s;container-type:inline-size;container-name:card
}

#tienda-pp .product:hover {
  transform:translateY(-3px);box-shadow:0 18px 36px rgba(32,10,5,.1)
}

#tienda-pp .product--featured {
  grid-column:span 6;display:grid;grid-template-columns:1.02fr .98fr
}

#tienda-pp .product__media {
  position:relative;overflow:hidden;background:var(--pp-cream-2)
}

#tienda-pp .product__media img {
  width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s ease
}

#tienda-pp .product:hover .product__media img {
  transform:scale(1.035)
}

#tienda-pp .product--featured .product__media img {
  aspect-ratio:auto
}

#tienda-pp .product__badge {
  position:absolute;top:12px;left:12px;background:var(--pp-coral);color:var(--pp-coral-ink);font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:6px 10px;border-radius:999px;box-shadow:0 6px 14px rgba(32,10,5,.16)
}

#tienda-pp .product__badge--mint {
  background:var(--pp-mint);color:var(--pp-mint-ink)
}

#tienda-pp .product__body {
  display:flex;flex-direction:column;gap:9px;padding:18px
}

#tienda-pp .product--featured .product__body {
  padding:24px;justify-content:center
}

#tienda-pp .product__kicker {
  font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--pp-ink-mute)
}

#tienda-pp .product h3 {
  font-size:19px;line-height:1.25;letter-spacing:-.015em;font-weight:700
}

#tienda-pp .product--featured h3 {
  font-size:24px
}

#tienda-pp .product__desc {
  font-size:13.5px;line-height:1.62;color:var(--pp-ink-soft)
}

#tienda-pp .product--featured .product__desc {
  font-size:14px
}

#tienda-pp .product__meta {
  display:flex;flex-wrap:wrap;gap:7px 14px;font-size:11.5px;color:var(--pp-ink-soft);margin-top:2px
}

#tienda-pp .product__meta li {
  display:inline-flex;align-items:center;gap:6px
}

#tienda-pp .product__meta .icon {
  width:15px;height:15px;color:var(--pp-ink-mute)
}

#tienda-pp .product__meta .is-ok {
  color:#007A5E;font-weight:600
}

#tienda-pp .product__meta .is-low {
  color:#9A5B00;font-weight:600
}

#tienda-pp .product__meta .is-out {
  color:var(--pp-danger);font-weight:600
}

#tienda-pp .product__footer {
  margin-top:auto;padding-top:13px;border-top:1px solid var(--pp-line);display:flex;flex-direction:column;gap:10px
}

#tienda-pp .price {
  display:flex;align-items:baseline;gap:7px
}

#tienda-pp .price__value {
  font-size:26px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums
}

#tienda-pp .price__unit {
  font-size:11px;color:var(--pp-ink-mute)
}

#tienda-pp .product__buy {
  display:grid;grid-template-columns:auto minmax(0, 1fr);gap:8px;align-items:center
}

#tienda-pp .qty {
  display:inline-flex;align-items:center;height:46px;border:1px solid var(--pp-line-strong);border-radius:11px;background:#fff;overflow:hidden
}

#tienda-pp .qty__btn {
  width:32px;height:100%;display:grid;place-items:center;border:0;background:transparent;color:var(--pp-ink-soft);transition:background .15s,color .15s
}

#tienda-pp .qty__btn:hover:not(:disabled) {
  background:var(--pp-cream-2);color:var(--pp-ink)
}

#tienda-pp .qty__btn:disabled {
  opacity:.35;cursor:not-allowed
}

#tienda-pp .qty__btn .icon {
  width:15px;height:15px
}

#tienda-pp .qty__input {
  width:32px;height:100%;border:0;background:transparent;text-align:center;font-size:14px;font-weight:600;appearance:textfield;-moz-appearance:textfield
}

#tienda-pp .qty__input::-webkit-outer-spin-button,
#tienda-pp .qty__input::-webkit-inner-spin-button {
  -webkit-appearance:none;margin:0
}

#tienda-pp .product.is-out .product__media img {
  filter:grayscale(.55);opacity:.72
}

#tienda-pp .product.is-out {
  box-shadow:none
}

#tienda-pp .promo {
  grid-column:span 6;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:30px;border-radius:20px;background:var(--pp-ink);color:var(--pp-cream)
}

#tienda-pp .promo::before {
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,132,90,.26),transparent 68%);right:-70px;top:-90px
}

#tienda-pp .promo::after {
  content:"";position:absolute;width:160px;height:160px;border-radius:50%;border:1px solid rgba(0,204,178,.35);right:40px;bottom:-90px
}

#tienda-pp .promo__eyebrow {
  position:relative;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-mint)
}

#tienda-pp .promo h3 {
  position:relative;font-size:24px;line-height:1.2;letter-spacing:-.02em;font-weight:700;max-width:22ch
}

#tienda-pp .promo p {
  position:relative;font-size:13.5px;line-height:1.65;color:rgba(247,245,238,.78);max-width:44ch
}

#tienda-pp .promo .btn {
  position:relative;align-self:flex-start;margin-top:6px
}

#tienda-pp .steps {
  background:var(--pp-cream-2);border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line)
}

#tienda-pp .steps__inner {
  max-width:var(--pp-wrap);margin:0 auto;padding:56px 24px
}

#tienda-pp .steps__head h2 {
  font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15;letter-spacing:-.03em;font-weight:800
}

#tienda-pp .steps__head p {
  font-size:14.5px;color:var(--pp-ink-soft);margin-top:10px;max-width:62ch
}

#tienda-pp .steps__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px
}

#tienda-pp .step {
  background:var(--pp-paper);border:1px solid var(--pp-line);border-radius:18px;padding:22px
}

#tienda-pp .step__icon {
  width:42px;height:42px;border-radius:12px;background:rgba(255,132,90,.16);color:var(--pp-coral-deep);display:grid;place-items:center;margin-bottom:14px
}

#tienda-pp .step__icon .icon {
  width:21px;height:21px
}

#tienda-pp .step__num {
  font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--pp-ink-mute)
}

#tienda-pp .step h3 {
  font-size:16.5px;font-weight:700;margin:7px 0 7px;letter-spacing:-.01em
}

#tienda-pp .step p {
  font-size:13px;line-height:1.6;color:var(--pp-ink-soft)
}

#tienda-pp .steps__payment {
  display:flex;align-items:flex-start;gap:10px;margin-top:22px;padding:14px 16px;border-radius:14px;background:rgba(0,204,178,.12);border:1px solid rgba(0,204,178,.28);font-size:12.5px;color:#00594E
}

#tienda-pp .steps__payment .icon {
  width:18px;height:18px;flex:0 0 auto;margin-top:1px
}

#tienda-pp .footer {
  background:var(--pp-ink);color:var(--pp-cream)
}

#tienda-pp .footer__inner {
  max-width:var(--pp-wrap);margin:0 auto;padding:48px 24px 32px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px
}

#tienda-pp .footer__brand {
  display:flex;align-items:flex-start;gap:12px
}

#tienda-pp .footer__brand img {
  width:46px;height:46px;border-radius:12px
}

#tienda-pp .footer .brand__name {
  font-size:16px
}

#tienda-pp .footer__tag {
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,245,238,.55);font-weight:600;margin-top:2px
}

#tienda-pp .footer__text {
  font-size:13px;line-height:1.7;color:rgba(247,245,238,.7);margin-top:16px;max-width:36ch
}

#tienda-pp .footer h3 {
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--pp-mint);font-weight:700;margin-bottom:14px
}

#tienda-pp .footer__list {
  display:flex;flex-direction:column;gap:10px;font-size:13px;color:rgba(247,245,238,.78)
}

#tienda-pp .footer__list a,
#tienda-pp .footer__list span {
  display:inline-flex;align-items:flex-start;gap:8px
}

#tienda-pp .footer__list .icon {
  width:16px;height:16px;margin-top:2px;color:rgba(247,245,238,.55)
}

#tienda-pp .footer__list a:hover {
  color:var(--pp-mint)
}

#tienda-pp .checkout {
  position:relative;width:min(960px,calc(100vw - 28px));max-width:960px;max-height:92vh;padding:0;border:0;border-radius:24px;background:transparent;margin:auto
}

#tienda-pp .checkout__shell {
  max-height:92vh;overflow:auto;background:var(--pp-paper);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.35)
}

#tienda-pp .checkout__close {
  position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid var(--pp-line);background:var(--pp-paper);color:var(--pp-ink);display:grid;place-items:center;transition:background .2s;box-shadow:0 2px 8px rgba(0,0,0,.08)
}

#tienda-pp .checkout__close:hover {
  background:var(--pp-cream-2)
}

#tienda-pp .checkout__close .icon {
  width:18px;height:18px
}

#tienda-pp .checkout__grid {
  display:grid;grid-template-columns:.92fr 1.08fr
}

#tienda-pp .checkout__summary {
  display:flex;flex-direction:column;gap:16px;background:var(--pp-cream-2);border-right:1px solid var(--pp-line);padding:28px
}

#tienda-pp .summary__eyebrow {
  font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-ink-mute)
}

#tienda-pp .summary__product {
  display:flex;align-items:center;gap:12px
}

#tienda-pp .summary__product img {
  width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid var(--pp-line)
}

#tienda-pp .summary__product h3 {
  font-size:15px;line-height:1.35;font-weight:700
}

#tienda-pp .summary__product p {
  font-size:11.5px;color:var(--pp-ink-soft);margin-top:2px
}

#tienda-pp .summary__qty {
  display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--pp-ink-soft)
}

#tienda-pp .summary__lines {
  display:flex;flex-direction:column;gap:9px;padding-top:14px;border-top:1px solid var(--pp-line-strong)
}

#tienda-pp .summary__lines>div {
  display:flex;justify-content:space-between;gap:16px;font-size:13px
}

#tienda-pp .summary__lines dt {
  color:var(--pp-ink-soft)
}

#tienda-pp .summary__lines dd {
  margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right
}

#tienda-pp .summary__total {
  padding-top:11px;border-top:1px solid var(--pp-line-strong);align-items:baseline
}

#tienda-pp .summary__total dt {
  font-weight:600;color:var(--pp-ink)!important
}

#tienda-pp .summary__total dd {
  font-size:21px;font-weight:800;letter-spacing:-.02em
}

#tienda-pp .summary__note {
  font-size:11.5px;line-height:1.55;color:var(--pp-ink-mute)
}

#tienda-pp .checkout__form {
  display:flex;flex-direction:column;gap:12px;padding:28px 30px 30px
}

#tienda-pp .checkout__form h2 {
  font-size:23px;font-weight:800;letter-spacing:-.025em;line-height:1.2;padding-right:34px
}

#tienda-pp .checkout__form h2:focus {
  outline:none
}

#tienda-pp .checkout__lead {
  font-size:13px;line-height:1.55;color:var(--pp-ink-soft)
}

#tienda-pp .fields {
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px
}

#tienda-pp .field {
  display:flex;flex-direction:column;gap:5px;min-width:0
}

#tienda-pp .field--full {
  grid-column:1/-1
}

#tienda-pp .field label {
  font-size:11.5px;font-weight:600;color:var(--pp-ink-soft)
}

#tienda-pp .field input,
#tienda-pp .field textarea,
#tienda-pp .field select {
  width:100%;border:1px solid var(--pp-line-strong);background:#fff;border-radius:10px;padding:10px 12px;font-size:13.5px;color:var(--pp-ink);transition:border-color .2s,box-shadow .2s
}

#tienda-pp .field textarea {
  min-height:70px;resize:vertical
}

#tienda-pp .field input:focus,
#tienda-pp .field textarea:focus,
#tienda-pp .field select:focus {
  outline:none;border-color:var(--pp-coral);box-shadow:0 0 0 3px rgba(255,132,90,.18)
}

#tienda-pp .field input.is-invalid,
#tienda-pp .field textarea.is-invalid,
#tienda-pp .field select.is-invalid {
  border-color:var(--pp-danger);box-shadow:0 0 0 3px rgba(180,35,24,.12)
}

#tienda-pp .field__error {
  display:none;font-size:11px;line-height:1.4;color:var(--pp-danger)
}

#tienda-pp .field__error.is-visible {
  display:block
}

#tienda-pp .consent {
  display:flex;align-items:flex-start;gap:9px;font-size:11.5px;line-height:1.5;color:var(--pp-ink-soft);margin-top:2px
}

#tienda-pp .consent input {
  width:16px;height:16px;margin:2px 0 0;accent-color:var(--pp-coral);flex:0 0 auto
}

#tienda-pp .consent.is-invalid {
  color:var(--pp-danger)
}

#tienda-pp .form__note {
  display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;color:var(--pp-ink-mute)
}

#tienda-pp .form__note .icon {
  width:16px;height:16px;color:var(--pp-green);margin-top:1px
}

#tienda-pp .checkout .btn--pay {
  margin-top:4px;padding:14px 16px;font-size:15px
}

#tienda-pp .checkout__success {
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:52px 36px
}

#tienda-pp .success__icon {
  width:66px;height:66px;border-radius:50%;background:rgba(0,204,178,.18);color:#007A6A;display:grid;place-items:center
}

#tienda-pp .success__icon .icon {
  width:32px;height:32px
}

#tienda-pp .success__code {
  font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--pp-ink-mute)
}

#tienda-pp .checkout__success h2 {
  font-size:25px;font-weight:800;letter-spacing:-.02em
}

#tienda-pp .checkout__success h2:focus {
  outline:none
}

#tienda-pp .checkout__success p {
  font-size:13.5px;line-height:1.65;color:var(--pp-ink-soft);max-width:48ch
}

#tienda-pp .success__total {
  font-size:15px;font-weight:600;background:var(--pp-cream-2);border:1px solid var(--pp-line);border-radius:12px;padding:9px 16px
}

#tienda-pp .success__actions {
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px
}

#tienda-pp .success__hint {
  font-size:11.5px;color:var(--pp-ink-mute)
}


/* ============================================================
   Responsive: según el ancho disponible dentro del contenido
   ============================================================ */
@container card (max-width: 300px) {
  #tienda-pp .product__buy { grid-template-columns: 1fr; gap: 8px; }
  #tienda-pp .product__buy > .qty { justify-self: start; }
}

@container tienda (max-width: 1024px) {
  #tienda-pp .hero__inner { gap: 32px; padding-top: 44px; }
  #tienda-pp .catalog__grid { grid-template-columns: repeat(6, 1fr); }
  #tienda-pp .product { grid-column: span 3; }
  #tienda-pp .product--featured { grid-column: span 6; }
  #tienda-pp .promo { grid-column: span 6; }
  #tienda-pp .product--featured h3 { font-size: 22px; }
  #tienda-pp .footer__inner { grid-template-columns: 1.3fr 1fr 1fr; gap: 26px; }
}

@container tienda (max-width: 880px) {
  #tienda-pp .hero__inner { grid-template-columns: 1fr; gap: 34px; padding-bottom: 52px; }
  #tienda-pp .hero__lead { max-width: none; }
  #tienda-pp .hero__media { max-width: 640px; }
  #tienda-pp .hero__note { left: 14px; bottom: 14px; }
  #tienda-pp .steps__grid { grid-template-columns: 1fr 1fr; }
  #tienda-pp .footer__inner { grid-template-columns: 1fr 1fr; }
}

@container tienda (max-width: 640px) {
  #tienda-pp .hero__inner,
  #tienda-pp .section,
  #tienda-pp .steps__inner,
  #tienda-pp .footer__inner { padding-left: 18px; padding-right: 18px; }
  #tienda-pp .hero__inner { padding-top: 36px; }
  #tienda-pp .hero__actions { flex-direction: column; align-items: stretch; }
  #tienda-pp .hero__actions .btn { width: 100%; }
  #tienda-pp .catalog__grid { grid-template-columns: 1fr; gap: 16px; }
  #tienda-pp .product,
  #tienda-pp .product--featured,
  #tienda-pp .promo { grid-column: span 1; }
  #tienda-pp .product--featured { display: flex; flex-direction: column; }
  #tienda-pp .product--featured .product__media img { aspect-ratio: 16/10; }
  #tienda-pp .product--featured .product__body { padding: 18px; }
  #tienda-pp .product--featured h3 { font-size: 20px; }
  #tienda-pp .steps__grid { grid-template-columns: 1fr; }
  #tienda-pp .footer__inner { grid-template-columns: 1fr; gap: 30px; padding-top: 36px; }
  #tienda-pp .hero__badge { top: 10px; right: 10px; }
}

/* El diálogo se mide contra la ventana, no contra el contenido */
@media (max-width: 880px) {
  #tienda-pp .checkout__grid { grid-template-columns: 1fr; }
  #tienda-pp .checkout__summary { border-right: 0; border-bottom: 1px solid var(--pp-line); padding: 22px 24px; }
  #tienda-pp .checkout__form { padding: 22px 24px 26px; }
}

@media (max-width: 640px) {
  #tienda-pp .checkout { width: calc(100vw - 16px); max-height: 94vh; }
  #tienda-pp .checkout__shell { max-height: 94vh; border-radius: 18px; }
  #tienda-pp .checkout__summary { padding: 20px 18px; }
  #tienda-pp .checkout__form { padding: 20px 18px 24px; }
  #tienda-pp .fields { grid-template-columns: 1fr; }
  #tienda-pp .field--full { grid-column: auto; }
  #tienda-pp .checkout__success { padding: 40px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  #tienda-pp *,
  #tienda-pp *::before,
  #tienda-pp *::after {
    transition: none !important;
    animation: none !important;
  }
}