:host { /* breakpoints: not-implemented / reference only */ /* --wrapped-breakpoint-xs: 320px; */ /* --wrapped-breakpoint-sm: 490px; */ /* --wrapped-breakpoint-md: 768px; */ /* --wrapped-breakpoint-lg: 1040px; */ /* --wrapped-breakpoint-xl: 1440px; */ --wrapped-thumbnail-position-start: "media gift-dialog-header" "media content" "media gift-dialog-actions"; --wrapped-thumbnail-position-end: "gift-dialog-header media" "content media" "gift-dialog-actions media"; --shadow-grid-template-areas: var(--wrapped-thumbnail-position-start); /* border radius */ --shadow-border-radius-scale: 6; --shadow-border-radius-xs: calc(var(--shadow-border-radius-scale, 65) / 100 * 1rem); --shadow-border-radius-sm: calc(var(--shadow-border-radius-scale, 65) / 100 * 1.5rem); --shadow-border-radius-base: calc(var(--shadow-border-radius-scale, 65) / 100 * 2.5rem); --shadow-dialog-border-surface: #00549e; --shadow-border-width: 1px; --shadow-outline-width: calc(var(--shadow-border-width) + 0.5px); /* buttons */ --wrapped-hover-style-light: #ffffff; --wrapped-hover-style-dark: #000000; --shadow-hover-style: var(--wrapped-hover-style-light, --wrapped-hover-style-light); --shadow-primary-button-surface: #000000; --shadow-primary-button-surface--active: color-mix(in srgb, var(--shadow-primary-button-surface), var(--shadow-hover-style) 20%); --shadow-primary-button-surface--hover: color-mix(in srgb, var(--shadow-primary-button-surface), var(--shadow-hover-style) 16%); --shadow-primary-button-text-color: #ffffff; --shadow-primary-button-text-color--active: color-mix(in srgb, var(--shadow-primary-button-text-color), var(--shadow-hover-style) 20%); --shadow-primary-button-text-color--hover: color-mix(in srgb, var(--shadow-primary-button-text-color), var(--shadow-hover-style) 16%); --shadow-primary-button-border-surface: rgba(0,0,0,0); --shadow-primary-button-border-surface--active: transparent; --shadow-primary-button-border-surface--hover: transparent; --shadow-secondary-button-surface: #0000000f; --shadow-secondary-button-surface--active: color-mix(in srgb, var(--shadow-secondary-button-surface), var(--shadow-hover-style) 20%); --shadow-secondary-button-surface--hover: color-mix(in srgb, var(--shadow-secondary-button-surface), var(--shadow-hover-style) 16%); --shadow-secondary-button-text-color: #333333; --shadow-secondary-button-text-color--active: color-mix(in srgb, var(--shadow-secondary-button-text-color), var(--shadow-hover-style) 20%); --shadow-secondary-button-text-color--hover: color-mix(in srgb, var(--shadow-secondary-button-text-color), var(--shadow-hover-style) 16%); --shadow-secondary-button-border-surface: rgba(0,0,0,0); --shadow-secondary-button-border-surface--active: transparent; --shadow-secondary-button-border-surface--hover: transparent; /* do not change the root text size */ --shadow-font-size: 16px; /* text and fonts */ --shadow-font-family: var(--wrapped-font-family, inherit); --shadow-font-scale: calc(100 / 100); --shadow-font-size-sm: clamp(12px, calc(14px * var(--shadow-font-scale)), 16px); --shadow-font-size-base: clamp(12px, calc(16px * var(--shadow-font-scale)), 20px); --shadow-font-size-lg: clamp(16px, calc(24px * var(--shadow-font-scale)), 28px); --shadow-font-weight-base: var(--wrapped-font-weight-base, 400); --shadow-font-weight-md: 500; --shadow-font-weight-lg: 600; --shadow-letter-spacing: var(--wrapped-letter-spacing, normal); --shadow-line-height-base: 1.5em; /* transitions */ --shadow-transition-duration: 0.1s; --shadow-spinner-duration: 0.7s; /* disabled */ --shadow-disabled-opacity-sm: 0.16; --shadow-disabled-opacity: 0.32; --shadow-disabled-opacity-md: 0.4; --shadow-disabled-opacity-lg: 0.64; /* precalculated percentages for color-mix */ --shadow-disabled-opacity-percent: 32%; --shadow-disabled-opacity-sm-percent: 16%; --shadow-disabled-opacity-md-percent: 40%; --shadow-disabled-opacity-lg-percent: 64%; --shadow-disabled-cursor: not-allowed; /* form elements */ --shadow-form-element-surface: #ffffff; --shadow-form-element-surface--disabled: color-mix(in srgb, var(--shadow-form-element-surface) var(--shadow-disabled-opacity-percent), var(--shadow-secondary-text-color) 8%); --shadow-form-element-border-color: #00549e; --shadow-form-element-border-color--active: color-mix(in srgb, var(--shadow-form-element-border-color), white 83%); --shadow-form-element-border-color--disabled: color-mix(in srgb, var(--shadow-form-element-border-color) var(--shadow-disabled-opacity-percent), var(--shadow-secondary-text-color) 8%); --shadow-form-element-text-color: #333333; --shadow-form-element-text-color--disabled: color-mix(in srgb, var(--shadow-form-element-text-color), var(--shadow-secondary-text-color) 8%); --shadow-form-element-placeholder-text-color: color-mix(in srgb, var(--shadow-form-element-text-color) var(--shadow-disabled-opacity-percent), transparent); --shadow-form-element-placeholder-text-color--disabled: color-mix(in srgb, var(--shadow-form-element-text-color) var(--shadow-disabled-opacity-percent), var(--shadow-secondary-text-color) 8%); --shadow-form-element-selection-color: rgba(0,0,0,0); --shadow-form-element-selection-color--active: color-mix(in srgb, var(--shadow-form-element-selection-color), var(--shadow-hover-style) 40%); --shadow-form-element-selection-color--hover: color-mix(in srgb, var(--shadow-form-element-selection-color), var(--shadow-hover-style) 32%); /* primary colors */ --shadow-primary-surface: #ffffff; --shadow-primary-text-color: #000000; --shadow-primary-text-color--hover: color-mix(in srgb, var(--shadow-primary-text-color), var(--shadow-hover-style) 32%); /* secondary colors */ --shadow-secondary-surface: #f3f3f3; --shadow-secondary-text-color: #333333; --shadow-secondary-text-color--disabled: color-mix(in srgb, var(--shadow-secondary-text-color) var(--shadow-disabled-opacity-lg-percent), var(--shadow-secondary-text-color) 8%); /* Typography customizations */ --shadow-button-text-transform: var(--wrapped-button-text-transform, none); --shadow-button-letter-spacing: var(--wrapped-button-letter-spacing, var(--shadow-letter-spacing, normal)); --shadow-button-font-style: var(--wrapped-button-font-style, normal); /* spacing */ --wrapped-spacing-scale-base: 1; --wrapped-spacing-scale-less: 0.75; --wrapped-spacing-scale-more: 1.166; --shadow-spacing-scale: var(--wrapped-spacing-scale-less, 1); --shadow-spacing-fixed: 4px; --shadow-spacing-base: clamp(12px, calc(16px * var(--shadow-spacing-scale)), 24px); --shadow-spacing-lg: clamp(16px, calc(24px * var(--shadow-spacing-scale)), 28px); --shadow-spacing-sm: clamp(8px, calc(12px * var(--shadow-spacing-scale)), 14px); --shadow-spacing-xs: clamp(6px, calc(8px * var(--shadow-spacing-scale)), 10px); /* shadows */ --shadow-shadow-blur: 1.5rem; --shadow-shadow-color: rgba(0, 0, 0, 0.25); --shadow-shadow-offset: 0.75rem; /* default styles */ all: revert; box-sizing: border-box; cursor: default; display: block; font-family: var(--shadow-font-family); font-size: var(--shadow-font-size); line-height: var(--shadow-line-height-base); letter-spacing: var(--shadow-letter-spacing); margin-block-start: var(--shadow-spacing-xs); margin-block-end: var(--shadow-spacing-xs); text-align: start; width: -webkit-fill-available; white-space: normal; } *, *::before, *::after { box-sizing: inherit; } /* gift block launcher */ gift-block-launcher { display: flex; flex-direction: column; gap: var(--shadow-spacing-xs); & gift-block-visibility-notice { display: block; font-family: var(--shadow-font-family); font-size: smaller; font-weight: var(--shadow-font-weight-base); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); padding: 0 var(--shadow-spacing-sm); text-transform: var(--shadow-button-text-transform); width: 100%; } } .gift-block__launcher { background-color: var(--wrapped-launcher-button-surface, var(--shadow-primary-button-surface)); border-color: var(--wrapped-launcher-button-border-surface, var(--shadow-primary-button-border-surface)); border-width: var(--wrapped-launcher-button-border-width, var(--shadow-border-width)); border-radius: var(--wrapped-launcher-button-border-radius, var(--shadow-border-radius-sm)); border-style: solid; color: var(--shadow-primary-button-text-color); padding: var(--shadow-spacing-sm); font-family: var(--shadow-font-family); font-size: var(--shadow-font-size-base); font-weight: var(--wrapped-launcher-button-font-weight, var(--shadow-font-weight-base)); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); max-width: var(--wrapped-launcher-button-max-width, 500px); text-transform: var(--shadow-button-text-transform); width: 100%; &:hover { cursor: pointer; background-color: var(--shadow-primary-button-surface--hover); border-color: var(--shadow-primary-button-border-surface--hover); } &:active { background-color: var(--shadow-primary-button-surface--active); border-color: var(--shadow-primary-button-border-surface--active); } &:focus, &:focus-visible { outline: none; } &[with-checkmark] { position: relative; display: inline-flex; align-items: center; gap: var(--shadow-spacing-fixed); & .icon-wrapper { display: flex; flex-shrink: 0; } & .button-content { justify-content: var(--wrapped-launcher-button-content-justify-content, space-between); } &[with-gift-options] { .checkmark-icon { display: block; /* animation: unblur calc(var(--shadow-transition-duration) * 3) ease forwards; */ } } } &[variant="link"] { background: none; border: none; color: var(--shadow-primary-text-color); font-size: var(--shadow-font-size-base); font-weight: var(--shadow-font-weight-base); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); text-transform: var(--shadow-button-text-transform); text-decoration: none; margin-inline-start: -0.25rem; padding: 0; width: auto; &:hover { cursor: pointer; color: var(--shadow-primary-text-color--hover); text-decoration: underline; } &[with-checkmark] { padding-left: 0; text-align: start; word-break: keep-all; } & .button-content { flex-direction: row; justify-content: flex-start; } } & .button-content { display: inline-flex; align-items: center; gap: var(--shadow-spacing-fixed); flex-direction: var(--wrapped-launcher-button-content-flex-direction, row-reverse); justify-content: var(--wrapped-launcher-button-content-justify-content, center); width: 100%; & .label { text-align: start; } } & .icon-wrapper { display: none; align-items: center; justify-content: center; width: 1.5em; height: 1.5em; svg { fill: currentColor; height: 100%; width: 100%; } .checkmark-icon { display: none; } } } .gift-block__launcher:disabled, .gift-block__launcher[orders-limit-reached] { cursor: var(--shadow-disabled-cursor); opacity: var(--shadow-disabled-opacity); pointer-events: none; &[with-checkmark] { .icon-wrapper { opacity: var(--shadow-disabled-opacity-md); } } } /* gift block modal */ .gift-block-modal { background-color: var(--shadow-primary-surface); border: none; border-radius: var(--shadow-border-radius-base); box-shadow: 0 var(--shadow-shadow-offset) var(--shadow-shadow-blur) var(--shadow-shadow-color); outline: var(--shadow-border-width) solid var(--shadow-dialog-border-surface); padding: 0; } .gift-block-modal::backdrop { background-color: rgba(156, 163, 175, 0.75); } .gift-block-modal:focus, .gift-block-modal:focus-visible { outline: var(--shadow-border-width) solid var(--shadow-dialog-border-surface); } @media (max-width: 768px) { .gift-block-modal { max-height: calc(100% - var(--shadow-spacing-sm)); max-width: calc(100% - var(--shadow-spacing-sm)); overscroll-behavior: contain; } } /* gift block modal layout */ .gift-block-modal-layout { display: grid; grid-template-areas: var(--shadow-grid-template-areas); grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr auto; max-height: 80dvh; max-width: 80dvw; overflow: hidden; } /* Collapse to 1-column layout if media is hidden */ .gift-block-modal-layout:has(section#media[hidden]), .gift-block-modal-layout:has(section#media.with-media-inline), .gift-block-modal-layout:not(:has(section#media)), .gift-block-modal-layout:not(:has(section#media img)) { grid-template-areas: "gift-dialog-header" "content" "gift-dialog-actions"; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; section#media { display: none; } } gift-dialog-header { align-items: flex-start; background-color: var(--shadow-primary-surface); display: flex; flex-direction: row; gap: var(--shadow-spacing-fixed); grid-area: gift-dialog-header; justify-content: space-between; padding: var(--shadow-spacing-lg); position: sticky; top: 0; z-index: 1; & h1 { color: var(--shadow-primary-text-color); font-family: var(--wrapped-header-font-family, var(--shadow-font-family)); font-size: var(--shadow-font-size-lg); font-weight: var(--shadow-font-weight-md); line-height: 1.25em; margin: 0; } /* dismiss button styles */ & button { background-color: color-mix(in srgb, var(--shadow-secondary-text-color) 8%, transparent); color: var(--shadow-secondary-text-color); border-radius: var(--shadow-border-radius-xs); font-size: var(--shadow-font-size-sm); font-weight: var(--shadow-font-weight-lg); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); text-transform: var(--shadow-button-text-transform); width: 2.25em; height: 2.25em; min-width: 2.25em; min-height: 2.25em; outline: none; border: 0; cursor: pointer; transition: background-color var(--shadow-transition-duration) ease, color var(--shadow-transition-duration) ease; &:hover { background-color: color-mix(in srgb, var(--shadow-secondary-text-color) 6%, var(--shadow-hover-style) 12%); } &:active { background-color: color-mix(in srgb, var(--shadow-secondary-text-color) 16%, var(--shadow-hover-style) 16%); } &:disabled { pointer-events: none; opacity: var(--shadow-disabled-opacity); } } } gift-dialog-actions { align-items: flex-end; background-color: var(--shadow-primary-surface); bottom: 0; display: flex; flex-direction: column; gap: var(--shadow-spacing-sm); grid-area: gift-dialog-actions; overscroll-behavior: contain; position: sticky; padding: var(--shadow-spacing-lg); z-index: 1; & button { border-radius: var(--shadow-border-radius-sm); border-width: var(--shadow-border-width); border-style: solid; cursor: pointer; font-family: var(--wrapped-actions-button-font-family, var(--shadow-font-family)); font-size: var(--shadow-font-size-base); font-weight: var(--shadow-font-weight-md); font-style: var(--shadow-button-font-style); letter-spacing: var(--shadow-button-letter-spacing); text-transform: var(--shadow-button-text-transform); padding: var(--shadow-spacing-sm); position: relative; width: 100%; transition: background-color var(--shadow-transition-duration) ease, border-color var(--shadow-transition-duration) ease, color var(--shadow-transition-duration) ease, opacity var(--shadow-transition-duration) ease; &.primary { background-color: var(--shadow-primary-button-surface); border-color: var(--shadow-primary-button-border-surface); color: var(--shadow-primary-button-text-color); display: flex; align-items: center; justify-content: center; .button-content { display: flex; align-items: center; justify-content: center; width: 100%; } .label { flex: 0 1 auto; min-width: 0; text-align: center; } .label.out-of-stock { display: none; } .icon-wrapper { width: 0em; height: 1.25em; } &:hover { background-color: var(--shadow-primary-button-surface--hover); border-color: var(--shadow-primary-button-border-surface--hover); color: var(--shadow-primary-button-text-color--hover); } &:active { background-color: var(--shadow-primary-button-surface--active); border-color: var(--shadow-primary-button-border-surface--active); color: var(--shadow-primary-button-text-color--active); } &[loading] { background-color: var(--shadow-primary-button-surface--active); border-color: var(--shadow-primary-button-border-surface--active); color: var(--shadow-primary-button-text-color--active); pointer-events: none; .button-content { opacity: 0; } } } &.secondary { background-color: var(--shadow-secondary-button-surface); border-color: var(--shadow-secondary-button-border-surface); color: var(--shadow-secondary-button-text-color); display: flex; align-items: center; justify-content: center; .button-content { display: flex; align-items: center; justify-content: center; gap: var(--shadow-spacing-fixed); width: 100%; } .label { flex: 0 1 auto; min-width: 0; text-align: center; } .icon-wrapper { --icon-stroke-width: 1.5px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; svg { width: 1.25em; height: 1.25em; stroke-width: var(--icon-stroke-width); } .remove-icon-top, .remove-icon-bottom { transition: transform var(--shadow-transition-duration) ease-in-out; } } &:hover { background-color: var(--shadow-secondary-button-surface--hover); border-color: var(--shadow-secondary-button-border-surface--hover); color: var(--shadow-secondary-button-text-color--hover); .icon-wrapper { .remove-icon-top { transform: translate(calc(-1 * var(--icon-stroke-width)), var(--icon-stroke-width)) rotate(-15deg); } .remove-icon-bottom { transform: translateY(var(--icon-stroke-width)); } } } &:active { background-color: var(--shadow-secondary-button-surface--active); border-color: var(--shadow-secondary-button-border-surface--active); .icon-wrapper { transition: filter var(--shadow-transition-duration) ease-in-out; } } &[hidden] { display: none; } &[loading] { background-color: var(--shadow-secondary-button-surface--active); border-color: var(--shadow-secondary-button-border-surface--active); color: var(--shadow-secondary-button-text-color--active); pointer-events: none; .button-content { opacity: 0; } .spinner .svg-wrapper svg { fill: var(--shadow-secondary-button-text-color--active); } } } &:disabled { cursor: var(--shadow-disabled-cursor); opacity: var(--shadow-disabled-opacity); pointer-events: none; .button-content { pointer-events: none; opacity: calc(var(--shadow-disabled-opacity) * 1.5); } } /* spinner styles */ .spinner { opacity: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); & .svg-wrapper svg { animation: spin var(--shadow-spinner-duration) cubic-bezier(0, 0, 1, 1) infinite; fill: var(--shadow-primary-button-text-color); height: 1.5em; } & [role="status"] { visibility: hidden; opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } } &[loading] { pointer-events: none; .spinner { opacity: 1; } } } &:has(button[loading]:not([hidden])) { & button { pointer-events: none; opacity: 0.8; } } &:is([out-of-stock]) { & button.primary { pointer-events: none !important; opacity: 0.6 !important; & .label { display: none; } & .label.out-of-stock { display: block; } } } } gift-dialog-content { display: contents; } section#media { align-self: stretch; background-color: var(--shadow-secondary-surface); grid-area: media; grid-row: 1 / 4; height: 100%; padding: var(--shadow-spacing-lg); position: sticky; top: 0; transition: order var(--shadow-transition-duration) ease, width var(--shadow-transition-duration) ease; &.with-media-cover { & img { height: 100%; } } &.with-media-fill { padding: 0; & img { border-radius: 0; height: 100%; } } & shopify-media { & img { border-radius: var(--shadow-border-radius-sm); width: 100%; height: auto; } } } section#content { grid-area: content; background-color: var(--shadow-primary-surface); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; padding: var(--shadow-spacing-lg); padding-bottom: 0; padding-top: 0; position: relative; /* important to prevent content shifting when changing variants */ align-items: stretch; display: flex; flex-direction: column; justify-content: flex-start; gap: var(--shadow-spacing-lg); transition: order var(--shadow-transition-duration) ease; @media (max-width: 768px) { & > *:first-child:not(:only-child) { margin-top: unset; } } /* gift product details */ & .gift-product { display: flex; flex-direction: column; gap: var(--shadow-spacing-base); } & .gift-product-header { --wrapped-thumbnail-position-start: row; --wrapped-thumbnail-position-end: row-reverse; align-items: center; display: flex; flex-direction: var(--wrapped-thumbnail-position-start); flex-wrap: wrap; row-gap: var(--shadow-spacing-base); column-gap: var(--shadow-spacing-sm); } & .gift-product-content { display: flex; flex: 1 1 50%; flex-direction: column; gap: var(--shadow-spacing-xs); } & .gift-product-media { display: flex; align-items: center; &:has(shopify-media) { --shadow-inline-media-max-size: 100px; --shadow-inline-media-size: clamp(40px, 100px, var(--shadow-inline-media-max-size)); border-radius: var(--shadow-border-radius-sm); height: var(--shadow-inline-media-size); width: var(--shadow-inline-media-size); overflow: hidden; margin-inline-start: auto; margin-inline-end: auto; } & shopify-media { & img { border-radius: var(--shadow-border-radius-sm); width: 100%; height: auto; } } } & .gift-product-title { color: var(--shadow-primary-text-color); display: var(--wrapped-gift-product-title-display, block); font-size: var(--shadow-font-size-base); font-weight: var(--shadow-font-weight-md); margin: 0; } & .gift-product-pricing { display: flex; gap: var(--shadow-spacing-xs); margin: 0; font-weight: var(--shadow-font-weight-base); font-size: clamp(12px, calc(var(--shadow-font-size-base) * 0.94), 18px); line-height: 1em; } & .gift-product-price { color: var(--shadow-secondary-text-color); } & .gift-product-price--compare { color: var(--shadow-secondary-text-color); text-decoration: line-through; opacity: var(--shadow-disabled-opacity); } & .gift-product-description { font-weight: var(--shadow-font-weight-base); color: var(--shadow-secondary-text-color); font-size: clamp(12px, calc(var(--shadow-font-size-base) * 0.94), 18px); line-height: 1.5em; & shopify-data { & :first-child { margin-top: 0; } & :last-child { margin-bottom: 0; } & ul { padding-left: var(--shadow-spacing-lg); } } } /* gift messaging fields */ & gift-dialog-message { display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--shadow-spacing-base); } & .option-group { display: flex; flex-direction: column; gap: var(--shadow-spacing-xs); flex: 0 0 100%; @media (min-width: 768px) { &:has(input[id="receiver-input"]), &:has(input[id="sender-input"]) { flex: 1 1 0%; } } &.option-group-disabled { cursor: var(--shadow-disabled-cursor); pointer-events: none; opacity: var(--shadow-disabled-opacity-md); transition: background-color var(--shadow-transition-duration) ease, color var(--shadow-transition-duration) ease; & .message-field { background-color: var(--shadow-form-element-surface--disabled); color: transparent; outline-color: var(--shadow-form-element-border-color--disabled); pointer-events: none; } } &.option-group-hidden { display: none; } & label { font-size: var(--shadow-font-size-sm); font-weight: var(--shadow-font-weight-base); color: var(--shadow-secondary-text-color); line-height: 1em; } & .message-field { background-color: var(--shadow-form-element-surface); color: var(--shadow-form-element-text-color); width: 100%; padding: var(--shadow-spacing-sm); border: none; border-radius: var(--shadow-border-radius-sm); font-family: var(--shadow-font-family); font-size: var(--shadow-font-size-base); outline: var(--shadow-border-width) solid var(--shadow-form-element-border-color); min-height: 42px; } & .message-field:active, & .message-field:focus, & .message-field:focus-within, & .message-field:focus-visible { outline-color: var(--shadow-form-element-selection-color); outline-width: var(--shadow-outline-width); } & .message-field::placeholder { color: var(--shadow-form-element-placeholder-text-color); } & textarea.message-field { min-height: 100px; resize: vertical; } & .counter { color: var(--shadow-secondary-text-color); font-size: var(--shadow-font-size-sm); line-height: normal; } } } /* shopify variant selector */ shopify-variant-selector { font-size: var(--shadow-font-size-sm); width: 100%; &[variants-count="1"] { display: none; } } shopify-variant-selector::part(form) { gap: var(--shadow-spacing-base); } shopify-variant-selector::part(radio) { background-color: var(--shadow-form-element-surface); color: var(--shadow-form-element-text-color); border: none; border-radius: var(--shadow-border-radius-sm); font-size: var(--shadow-font-size-base); font-weight: var(--shadow-font-weight-base); outline: var(--shadow-border-width) solid var(--shadow-form-element-border-color); padding: calc(var(--shadow-spacing-sm) * 0.5) var(--shadow-spacing-base); transition: color var(--shadow-transition-duration) ease, outline-color var(--shadow-transition-duration) ease, outline-width var(--shadow-transition-duration) ease; } shopify-variant-selector::part(radio):active { outline-color: var(--shadow-form-element-selection-color--active); outline-width: var(--shadow-outline-width); } shopify-variant-selector::part(radio):hover { outline-color: var(--shadow-form-element-selection-color--hover); } shopify-variant-selector::part(radio-disabled) { background-color: var(--shadow-form-element-surface--disabled); color: var(--shadow-form-element-text-color--disabled); opacity: var(--shadow-disabled-opacity); /* do not transition opacity - it causes a flash when changing variants */ outline-color: var(--shadow-form-element-border-color--disabled); pointer-events: none; } shopify-variant-selector::part(radio-selected) { outline-color: var(--shadow-form-element-selection-color); outline-width: var(--shadow-outline-width); pointer-events: none; } shopify-variant-selector::part(select) { color: var(--shadow-form-element-text-color); border: none; border-radius: var(--shadow-border-radius-sm); font-family: var(--shadow-font-family); font-size: var(--shadow-font-size-base); font-weight: var(--shadow-font-weight-base); margin-top: var(--shadow-spacing-xs); width: 100%; max-width: 100%; padding: var(--shadow-spacing-sm); padding-right: calc(var(--shadow-spacing-sm) + 1.5rem); outline: var(--shadow-border-width) solid var(--shadow-form-element-border-color); appearance: none; -webkit-appearance: none; -moz-appearance: none; background-color: var(--shadow-form-element-surface); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='currentColor' fill-rule='evenodd' d='M6.24 8.2a.75.75 0 0 1 1.06.04l2.7 2.908 2.7-2.908a.75.75 0 1 1 1.1 1.02l-3.25 3.5a.75.75 0 0 1-1.1 0l-3.25-3.5a.75.75 0 0 1 .04-1.06Z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.5rem center; background-size: 1em 1em; } shopify-variant-selector::part(select):focus, shopify-variant-selector::part(select):focus-visible { outline-color: var(--shadow-form-element-selection-color); outline-width: var(--shadow-outline-width); } shopify-variant-selector::part(color-swatch) { border: none; outline: var(--shadow-border-width) solid rgba(0, 0, 0, .1); transition: color var(--shadow-transition-duration) ease, outline-color var(--shadow-transition-duration) ease, outline-width var(--shadow-transition-duration) ease; } shopify-variant-selector::part(color-swatch):active { outline-color: var(--shadow-form-element-selection-color--active); outline-width: var(--shadow-outline-width); } shopify-variant-selector::part(color-swatch):hover { outline-color: var(--shadow-form-element-selection-color--hover); } shopify-variant-selector::part(color-swatch-selected) { outline-color: var(--shadow-form-element-selection-color); outline-width: var(--shadow-outline-width); } shopify-variant-selector::part(color-swatch-selected):after { content: unset; } shopify-variant-selector::part(color-swatch-label) { color: var(--shadow-secondary-text-color); } shopify-variant-selector::part(color-swatch-disabled) { opacity: var(--shadow-disabled-opacity); /* do not transition opacity - it causes a flash when changing variants */ pointer-events: none; } shopify-variant-selector::part(label) { color: var(--shadow-secondary-text-color); display: inline-block; font-size: var(--shadow-font-size-sm); font-weight: var(--shadow-font-weight-base); line-height: 1em; margin-bottom: calc(var(--shadow-spacing-sm) - 6px); } /* media queries */ /* md - and above */ @media (min-width: 768px) { :host { --shadow-section-max-width: 420px; } gift-dialog-content > section { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); } gift-dialog-header, gift-dialog-actions { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); } } /* md - and below */ @media (max-width: 768px) { :host { --shadow-section-max-width: 390px; } gift-dialog-content > section { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); } gift-dialog-header, gift-dialog-actions { min-width: var(--shadow-section-max-width); max-width: var(--shadow-section-max-width); padding: var(--shadow-spacing-base); } .gift-block-modal-layout { grid-template-areas: "gift-dialog-header" "media" "content" "gift-dialog-actions"; grid-template-columns: 1fr; grid-template-rows: auto auto 1fr auto; max-height: calc(100dvh - var(--shadow-spacing-base)); max-width: 100dvw; } gift-dialog-content { display: grid; grid-template-areas: "media" "content"; grid-template-columns: 1fr; grid-template-rows: auto 1fr; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; -webkit-overflow-scrolling: touch; } section#media { background: none; grid-row: auto; position: relative; padding: 0; & shopify-media { & img { border-radius: unset; min-height: var(--shadow-section-max-width); max-height: var(--shadow-section-max-width); } } } section#content { overflow-y: unset; padding: var(--shadow-spacing-base); &.with-media-inline { padding-top: 0; } & .gift-product-media { &:has(shopify-media) { --shadow-inline-media-max-size: 330px; } } } } /* sm - and below */ @media (max-width: 480px) { :host { --shadow-section-max-width: 100%; } section#media { & shopify-media { & img { border-radius: unset; min-height: 350px; max-height: 350px; } } } } /* animations for loaders */ @keyframes spin { 100% { transform: rotate(1turn); } } @keyframes unblur { from { filter: blur(2px); } to { filter: blur(0px); } }
Skip to content
Pause slideshow
Play slideshow
Envíos gratis a todo Panamá
- En compras mayores a $50
Vísita nuestras sucursales
- Multiplaza, Albrook Mall, Metromall, Market Plaza y Altaplaza
icon-X
Close menu
Lo Nuevo
Ropa
Bebe Niña
Bebe Niño
Niña
Niño
Ropa Interior
Accesorios
Zapatería
Bebe Niña
Bebe Niño
Niña
Niño
Accesorios
Mueblería
Cunas
Gaveteros
Mecedoras
Colechos y Plays
Cambiadores
Colchones
Ropa de Cuna y Cama
Decoración
De Seguridad
Hora de Pasear
Cargueras
Sillas de Auto
Coches
Portabebés
Pañaleras y Mochilas
Accesorios
Alimentación
Sillas de Comer
Baberos
Sacagases
Biberones y chupos
Platos y Cubiertos
Mordedores
Esterilizadores
Lactancia
Preparación y Alimentación
Limpieza
Accesorios
Hora del Baño
Tinas
Toallas
Cuidado Personal
Vacenillas
Juguetes
Accesorios
Hora de Dormir
Almohadas
Barandas
Mosquiteros
Lámparas
Móviles
Monitores
Accesorios
Juguetes
Al aire libre
Bebé
Niñas y Niños
Columpios
Gimnasios
Peluches
Regalos
Bebes
Toddler
Niños
Teens
Oferta
Baby Registry
Gift Card
Log in
instagram
Instagram
Cart
icon-X
Close cart
Order note
Your cart is currently empty.
Baby Registry
Gift Card
instagram
Instagram
Language
English
Español
English
icon-search
Search
icon-hamburger
Site navigation
account
Log in
icon-search
Search
icon-bag-minimal
Cart
Lo Nuevo
Ropa
Bebe Niña
Bebe Niño
Niña
Niño
Ropa Interior
Accesorios
Zapatería
Bebe Niña
Bebe Niño
Niña
Niño
Accesorios
Mueblería
Cunas
Gaveteros
Mecedoras
Colechos y Plays
Cambiadores
Colchones
Ropa de Cuna y Cama
Decoración
De Seguridad
Hora de Pasear
Cargueras
Sillas de Auto
Coches
Portabebés
Pañaleras y Mochilas
Accesorios
Alimentación
Sillas de Comer
Baberos
Sacagases
Biberones y chupos
Platos y Cubiertos
Mordedores
Esterilizadores
Lactancia
Preparación y Alimentación
Limpieza
Accesorios
Hora del Baño
Tinas
Toallas
Cuidado Personal
Vacenillas
Juguetes
Accesorios
Hora de Dormir
Almohadas
Barandas
Mosquiteros
Lámparas
Móviles
Monitores
Accesorios
Juguetes
Al aire libre
Bebé
Niñas y Niños
Columpios
Gimnasios
Peluches
Regalos
Bebes
Toddler
Niños
Teens
Oferta
Search
Search
Price
Talla
S
(10)
M
(10)
L
(8)
XL
(7)
2
(93)
3
(115)
4
(164)
5
(104)
6
(136)
7
(63)
8
(134)
9
(1)
10
(114)
12
(107)
14
(91)
16
(72)
3 Junior
(2)
4 Junior
(2)
5 Junior
(2)
6 Junior
(2)
7 Junior
(2)
0-4M
(3)
0-5M
(1)
2M
(8)
3M
(875)
3-9M
(2)
4M
(8)
6M
(1023)
9M
(865)
12M
(1252)
12 M
(4)
18M
(1147)
24M
(1142)
36M
(39)
0-3T
(10)
2T
(131)
3T
(109)
4T
(72)
5T
(14)
8Y
(2)
10Y
(1)
12Y
(1)
14Y
(1)
12-M
(8)
NB
(512)
NB-3M
(1)
PRE
(77)
Brand
Adidas
(12)
Baby Bol
(20)
Bbluv
(2)
Bellabu Bear
(22)
Bugbee
(11)
Carters
(491)
Citrus Kids
(1)
Copper Pearl
(24)
Dr. Kid
(79)
EMC
(2)
Flap Happy
(6)
Isaac Mizrahi
(8)
Janie & Jack
(120)
Levis
(1)
Little Me
(124)
Mabel & Honey
(24)
Magnetic Me
(9)
Maniere
(33)
Mayoral
(42)
Milon
(21)
Nike
(5)
Oshkosh
(82)
Pehr
(22)
Petit Cherie
(15)
Puma
(2)
Quimby
(2)
Ralph Lauren
(41)
Reebok
(1)
Rylee & Cru
(10)
Safety 1St
(1)
Sevi Bebe
(3)
St. Jacks
(1)
Stride Rite
(5)
Tea Collection
(45)
Tommy Hilfiger
(58)
Up Baby
(11)
Product type
Abrigos
(27)
Bata de Toalla
(4)
Blusas
(13)
Bodies
(124)
Camisa
(3)
Camisas
(11)
Conjuntos
(300)
Faldas
(3)
Gatitos
(1)
Gorras
(11)
Guantes para Bebe
(4)
Jeans
(8)
Leggins
(3)
Lentes
(10)
Medias
(43)
Overoles
(172)
Pantalones
(47)
Pijamas
(214)
Polos
(12)
Shorts
(34)
Sombreros
(15)
T-Shirts
(92)
Trajes
(5)
Trajes de Baño
(67)
Vestidos
(131)
Vinchas
(2)
Filter
icon-X
Close menu
Price
Talla
S
(10)
M
(10)
L
(8)
XL
(7)
2
(93)
3
(115)
4
(164)
5
(104)
6
(136)
7
(63)
8
(134)
9
(1)
10
(114)
12
(107)
14
(91)
16
(72)
3 Junior
(2)
4 Junior
(2)
5 Junior
(2)
6 Junior
(2)
7 Junior
(2)
0-4M
(3)
0-5M
(1)
2M
(8)
3M
(875)
3-9M
(2)
4M
(8)
6M
(1023)
9M
(865)
12M
(1252)
12 M
(4)
18M
(1147)
24M
(1142)
36M
(39)
0-3T
(10)
2T
(131)
3T
(109)
4T
(72)
5T
(14)
8Y
(2)
10Y
(1)
12Y
(1)
14Y
(1)
12-M
(8)
NB
(512)
NB-3M
(1)
PRE
(77)
Brand
Adidas
(12)
Baby Bol
(20)
Bbluv
(2)
Bellabu Bear
(22)
Bugbee
(11)
Carters
(491)
Citrus Kids
(1)
Copper Pearl
(24)
Dr. Kid
(79)
EMC
(2)
Flap Happy
(6)
Isaac Mizrahi
(8)
Janie & Jack
(120)
Levis
(1)
Little Me
(124)
Mabel & Honey
(24)
Magnetic Me
(9)
Maniere
(33)
Mayoral
(42)
Milon
(21)
Nike
(5)
Oshkosh
(82)
Pehr
(22)
Petit Cherie
(15)
Puma
(2)
Quimby
(2)
Ralph Lauren
(41)
Reebok
(1)
Rylee & Cru
(10)
Safety 1St
(1)
Sevi Bebe
(3)
St. Jacks
(1)
Stride Rite
(5)
Tea Collection
(45)
Tommy Hilfiger
(58)
Up Baby
(11)
Product type
Abrigos
(27)
Bata de Toalla
(4)
Blusas
(13)
Bodies
(124)
Camisa
(3)
Camisas
(11)
Conjuntos
(300)
Faldas
(3)
Gatitos
(1)
Gorras
(11)
Guantes para Bebe
(4)
Jeans
(8)
Leggins
(3)
Lentes
(10)
Medias
(43)
Overoles
(172)
Pantalones
(47)
Pijamas
(214)
Polos
(12)
Shorts
(34)
Sombreros
(15)
T-Shirts
(92)
Trajes
(5)
Trajes de Baño
(67)
Vestidos
(131)
Vinchas
(2)
icon-filter
Filter
Sort
Sort
Featured
Most relevant
Best selling
Alphabetically, A-Z
Alphabetically, Z-A
Price, low to high
Price, high to low
Date, old to new
Date, new to old
Vista rápida
CARTERS BEBE NIÑO PIJAMA PURELYSOFT GREEN DINO PRINT
Carters
$20.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑA PANTALON PINK DEER PRINT-BURGUNDY 2PCS
Carters
$20.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑA BODY PINK DEER PRINT-BURGUNDY PS 2PCS
Carters
$21.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑO PIJAMA FOOD TRUCK PRINT
Carters
$13.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑA PIJAMA CREAM SHEEP PRINT MFL
Carters
$13.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑA PIJAMA CREAM WOODLAND PRINT
Carters
$13.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑA PIJAMA CREAM WOODLAND PRINT
Carters
$13.95
icon-X
"Close (esc)"
Vista rápida
CARTERS NIÑA MEDIA BOOTIE GREY POLKA DOT 6PCS
Carters
$14.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑO BODY MULTICOLOR COY STRIPE 5PCS
Carters
$25.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑA BODY PINK FRUIT PRINT EMBROIDERY 5PCS
Carters
$25.95
icon-X
"Close (esc)"
Vista rápida
CARTERS NIÑA PIJAMA COTTON PURPLE UNICORN PRT 4PCS
Carters
from
$26.95
icon-X
"Close (esc)"
Vista rápida
CARTERS BEBE NIÑO CONJ. DE PANTALON CARDI GRAY LION 3PCS
Carters
$25.95
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA BODY KNIT
Oshkosh
$16.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA VESTIDO WOVEN
Oshkosh
$28.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA BODY IG LS FLORAL
Oshkosh
$18.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA BODY IG LS STRIPE
Oshkosh
$18.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA ABRIGO IG CARDIGAN IVORY
Oshkosh
$28.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA OVEROL IG FLORAL
Oshkosh
$31.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA OVEROL IG BROWN
Oshkosh
$31.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑO PANTALON IB BROWN
Oshkosh
$22.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑO BODY IB PLAID
Oshkosh
$21.00
icon-X
"Close (esc)"
Vista rápida
OSHKOSH BEBE NIÑA ABRIGO IG JACKET DENIM
Oshkosh
$30.00
icon-X
"Close (esc)"
Vista rápida
LITTLE ME BEBE NIÑA PIJAMA ZIP FRONT UNICORN AQUA
Little Me
$24.95
icon-X
"Close (esc)"
Vista rápida
LITTLE ME BEBE NIÑA PIJAMA ZIP FRONT BOW PINK
Little Me
$24.95
icon-X
"Close (esc)"
Vista rápida
LITTLE ME BEBE NIÑO PIJAMA ZIP FRONT PUPPY BLUE
Little Me
$24.95
icon-X
"Close (esc)"
Vista rápida
LITTLE ME BEBE NIÑO PIJAMA ZIP FRONT SPACE BLUE
Little Me
$24.95
icon-X
"Close (esc)"
Vista rápida
SAFETY 1ST GUANTES ANTIRASGUÑOS AZULES
Safety 1St
$5.99
icon-X
"Close (esc)"
30% Descuento
Vista rápida
UP BABY NIÑO GORRA Y SOMBRERO AZUL
Up Baby
Regular price
$9.95
Sale price
$6.97
icon-X
"Close (esc)"
Previous
1
…
33
34
35
36
37
…
49
icon-chevron
Next
icon-X
"Close (esc)"
icon-X
icon-chevron
icon-X
Ropa
x
We've sent you an email with a link to update your password.
Login
Forgot password?
Are you a New User?
REGISTER HERE
Reset your password
We will send you an email to reset your password.
Email
Cancel
Create Account
First Name
Last Name
Email
Password
Are you an Existing User?
LOGIN HERE
x
Translation missing: en.customer.recover_password.success
Login
Forgot password
Are you a New User?
REGISTER HERE
Reset your password
We will send you an email to reset your password.
Email
Cancel
Create Account
Translation missing: en.customer.register.first_name
Translation missing: en.customer.register.last_name
Translation missing: en.customer.register.email
Translation missing: en.customer.register.password
Are you an Existing User?
LOGIN HERE