: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
XXS
(47)
2XS
(32)
XS
(182)
S
(464)
M
(459)
L
(454)
XL
(412)
XXL
(9)
2
(904)
2-3
(7)
2-4
(17)
3
(1097)
4
(1783)
4-6
(3)
4-8
(3)
5
(1050)
5-7
(14)
6
(2011)
6-12
(1)
6-14
(2)
7
(1043)
7-8
(3)
7-10
(3)
8
(1960)
8-10
(8)
8-16
(3)
8-20
(6)
8.5
(3)
9
(66)
10
(1783)
10-13
(3)
11
(13)
12
(1697)
12-18
(1)
13
(1)
13-4
(3)
14
(1313)
15
(1)
16
(1009)
18
(168)
20
(141)
22
(2)
23
(2)
24
(1)
25
(1)
27
(2)
28
(1)
29
(2)
30
(4)
32
(3)
34
(3)
36
(3)
0-1 Años
(13)
0-2 Años
(3)
1-2 Años
(12)
2-4 Años
(16)
4-6 Años
(5)
3 Junior
(2)
4 Junior
(2)
5 Junior
(2)
6 Junior
(2)
7 Junior
(2)
0-4M
(3)
0-5M
(1)
2M
(8)
3M
(899)
3-9M
(2)
4M
(8)
6M
(1048)
9M
(872)
12M
(1286)
12 M
(4)
18M
(1175)
24M
(1170)
36M
(39)
1SZ
(4)
0-3T
(11)
2T
(717)
3T
(626)
4T
(498)
5T
(367)
8Y
(2)
10Y
(1)
12Y
(1)
14Y
(1)
12-M
(8)
A
(5)
B
(5)
Baby
(2)
C
(5)
L-XL
(2)
NB
(528)
O/S
(9)
ONE SIZE
(7)
OSFC (KIDS 50-52 cm.)
(6)
OSFM
(3)
OSFW
(2)
OSFY (JUNIOR 52-54 cm.)
(6)
PRE
(77)
S-M
(2)
Brand
Abel & Lula
(13)
Adidas
(112)
Baby Bol
(31)
Bbluv
(3)
Bellabu Bear
(34)
Bugbee
(162)
Calvin Klein
(83)
Carters
(870)
Citrus Kids
(7)
Columbia
(47)
Copper Pearl
(55)
Cubitt
(10)
DL1961
(39)
Dr. Kid
(117)
EMC
(2)
Fanatics
(125)
Flap Happy
(36)
Gloss
(20)
Hayden
(24)
Hering
(128)
Illuminated
(2)
Isaac Mizrahi
(189)
Isobella & Chloe
(17)
Janie & Jack
(384)
Kietla
(24)
Leo & Zachary
(8)
Levis
(14)
Little Me
(137)
Lobster Mini
(7)
Mabel & Honey
(50)
Magnetic Me
(9)
Maidenform
(11)
Maniere
(61)
Marlo
(8)
Mayoral
(92)
MeMoi
(29)
Messi
(25)
Milon
(113)
Mimi & Lula
(65)
Mon Sucré
(21)
Motor Oil
(1)
Nanai
(59)
NathKids
(16)
Nike
(102)
Oh Clementine
(9)
Oshkosh
(292)
Pehr
(27)
Petit Cherie
(53)
Psycho Bunny
(12)
Puma
(79)
Quiksilver
(21)
Quimby
(11)
Ralph Lauren
(227)
Reebok
(1)
Roxy
(29)
Rylee & Cru
(61)
Safety 1St
(2)
Seeds
(3)
Sevi Bebe
(3)
St. Jacks
(50)
Stearns
(1)
Stonz
(3)
Stride Rite
(10)
Sun
(9)
Tea Collection
(147)
Tommy Hilfiger
(205)
Tuc Tuc
(1)
Under Armour
(6)
Up Baby
(74)
Vanilla Cream
(13)
Product type
Abrigos
(117)
Aretes
(9)
Audifonos
(7)
Bata de Toalla
(5)
Blusas
(169)
Bodies
(131)
Boxer
(23)
Brasieres
(38)
Calzoncillos
(23)
Camisa
(24)
Camisas
(148)
Carteras
(15)
Colas para Cabello
(2)
Collares
(6)
Conjuntos
(634)
Corbatas
(32)
Correas
(24)
Faldas
(47)
Ganchos para Cabello
(40)
Gatitos
(16)
Gorras
(86)
Guantes para Bebe
(5)
Jeans
(77)
Joyero
(2)
Leggins
(55)
Lentes
(50)
Medias
(80)
Overoles
(235)
Pantalones
(220)
Panties
(42)
Pijamas
(359)
Polos
(101)
Relojes
(3)
Shorts
(268)
Sombreros
(44)
Sweaters
(2)
T-Shirts
(734)
Tirantes
(3)
Trajes
(66)
Trajes de Baño
(216)
Vestidos
(539)
Vinchas
(14)
Filter
icon-X
Close menu
Price
Talla
XXS
(47)
2XS
(32)
XS
(182)
S
(464)
M
(459)
L
(454)
XL
(412)
XXL
(9)
2
(904)
2-3
(7)
2-4
(17)
3
(1097)
4
(1783)
4-6
(3)
4-8
(3)
5
(1050)
5-7
(14)
6
(2011)
6-12
(1)
6-14
(2)
7
(1043)
7-8
(3)
7-10
(3)
8
(1960)
8-10
(8)
8-16
(3)
8-20
(6)
8.5
(3)
9
(66)
10
(1783)
10-13
(3)
11
(13)
12
(1697)
12-18
(1)
13
(1)
13-4
(3)
14
(1313)
15
(1)
16
(1009)
18
(168)
20
(141)
22
(2)
23
(2)
24
(1)
25
(1)
27
(2)
28
(1)
29
(2)
30
(4)
32
(3)
34
(3)
36
(3)
0-1 Años
(13)
0-2 Años
(3)
1-2 Años
(12)
2-4 Años
(16)
4-6 Años
(5)
3 Junior
(2)
4 Junior
(2)
5 Junior
(2)
6 Junior
(2)
7 Junior
(2)
0-4M
(3)
0-5M
(1)
2M
(8)
3M
(899)
3-9M
(2)
4M
(8)
6M
(1048)
9M
(872)
12M
(1286)
12 M
(4)
18M
(1175)
24M
(1170)
36M
(39)
1SZ
(4)
0-3T
(11)
2T
(717)
3T
(626)
4T
(498)
5T
(367)
8Y
(2)
10Y
(1)
12Y
(1)
14Y
(1)
12-M
(8)
A
(5)
B
(5)
Baby
(2)
C
(5)
L-XL
(2)
NB
(528)
O/S
(9)
ONE SIZE
(7)
OSFC (KIDS 50-52 cm.)
(6)
OSFM
(3)
OSFW
(2)
OSFY (JUNIOR 52-54 cm.)
(6)
PRE
(77)
S-M
(2)
Brand
Abel & Lula
(13)
Adidas
(112)
Baby Bol
(31)
Bbluv
(3)
Bellabu Bear
(34)
Bugbee
(162)
Calvin Klein
(83)
Carters
(870)
Citrus Kids
(7)
Columbia
(47)
Copper Pearl
(55)
Cubitt
(10)
DL1961
(39)
Dr. Kid
(117)
EMC
(2)
Fanatics
(125)
Flap Happy
(36)
Gloss
(20)
Hayden
(24)
Hering
(128)
Illuminated
(2)
Isaac Mizrahi
(189)
Isobella & Chloe
(17)
Janie & Jack
(384)
Kietla
(24)
Leo & Zachary
(8)
Levis
(14)
Little Me
(137)
Lobster Mini
(7)
Mabel & Honey
(50)
Magnetic Me
(9)
Maidenform
(11)
Maniere
(61)
Marlo
(8)
Mayoral
(92)
MeMoi
(29)
Messi
(25)
Milon
(113)
Mimi & Lula
(65)
Mon Sucré
(21)
Motor Oil
(1)
Nanai
(59)
NathKids
(16)
Nike
(102)
Oh Clementine
(9)
Oshkosh
(292)
Pehr
(27)
Petit Cherie
(53)
Psycho Bunny
(12)
Puma
(79)
Quiksilver
(21)
Quimby
(11)
Ralph Lauren
(227)
Reebok
(1)
Roxy
(29)
Rylee & Cru
(61)
Safety 1St
(2)
Seeds
(3)
Sevi Bebe
(3)
St. Jacks
(50)
Stearns
(1)
Stonz
(3)
Stride Rite
(10)
Sun
(9)
Tea Collection
(147)
Tommy Hilfiger
(205)
Tuc Tuc
(1)
Under Armour
(6)
Up Baby
(74)
Vanilla Cream
(13)
Product type
Abrigos
(117)
Aretes
(9)
Audifonos
(7)
Bata de Toalla
(5)
Blusas
(169)
Bodies
(131)
Boxer
(23)
Brasieres
(38)
Calzoncillos
(23)
Camisa
(24)
Camisas
(148)
Carteras
(15)
Colas para Cabello
(2)
Collares
(6)
Conjuntos
(634)
Corbatas
(32)
Correas
(24)
Faldas
(47)
Ganchos para Cabello
(40)
Gatitos
(16)
Gorras
(86)
Guantes para Bebe
(5)
Jeans
(77)
Joyero
(2)
Leggins
(55)
Lentes
(50)
Medias
(80)
Overoles
(235)
Pantalones
(220)
Panties
(42)
Pijamas
(359)
Polos
(101)
Relojes
(3)
Shorts
(268)
Sombreros
(44)
Sweaters
(2)
T-Shirts
(734)
Tirantes
(3)
Trajes
(66)
Trajes de Baño
(216)
Vestidos
(539)
Vinchas
(14)
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
Sale
Vista rápida
PEHR BEBE NIÑA OVEROL POCKET CHECKMATE POND
Pehr
Regular price
$36.00
Sale price
$29.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR NIÑA VESTIDO RUFFLE PUFF FLORET
Pehr
Regular price
$58.00
Sale price
$36.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR NIÑA VESTIDO CHECKMATE FLUTTER IRIS
Pehr
Regular price
$52.00
Sale price
$32.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR NIÑA VESTIDO CHECKMATE FLUTTER POND
Pehr
Regular price
$52.00
Sale price
$32.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR BEBE NIÑA PIJAMA POINTELLE POLKA DOTTY
Pehr
Regular price
$48.00
Sale price
$32.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR NIÑO PIJAMA RIBBED ZODIAC
Pehr
Regular price
$52.00
Sale price
$32.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR BEBE NIÑA PIJAMA RIBBED WITH A BOW
Pehr
Regular price
$50.00
Sale price
$32.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR BEBE NIÑO PIJAMA RIBBED ZODIAC
Pehr
Regular price
$50.00
Sale price
$32.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR BEBE NIÑA PIJAMA HENLEY I SPY
Pehr
Regular price
$48.00
Sale price
$29.95
icon-X
"Close (esc)"
Sale
Vista rápida
PEHR BEBE NIÑO PIJAMA POCKET STRIPES AWAY INK BLUE
Pehr
Regular price
$48.00
Sale price
$29.95
icon-X
"Close (esc)"
50% Descuento
Vista rápida
NANAI NIÑA CONJ. DE SHORT VERDE/NEGRO
Nanai
Regular price
$39.95
Sale price
$19.98
icon-X
"Close (esc)"
50% Descuento
Vista rápida
NANAI NIÑA VESTIDO VERDE
Nanai
Regular price
$39.95
Sale price
$19.98
icon-X
"Close (esc)"
50% Descuento
Vista rápida
NANAI NIÑA VESTIDO BLANCO BORDADOS NEGRO
Nanai
Regular price
$39.95
Sale price
$19.98
icon-X
"Close (esc)"
50% Descuento
Vista rápida
NANAI NIÑA CONJ. DE FALDA NARANJA
Nanai
Regular price
$24.95
Sale price
$12.48
icon-X
"Close (esc)"
50% Descuento
Vista rápida
NANAI NIÑA CONJ. DE SHORT VERDE
Nanai
Regular price
$29.95
Sale price
$14.98
icon-X
"Close (esc)"
50% Descuento
Vista rápida
NANAI NIÑA VESTIDO BLANCO
Nanai
Regular price
$39.95
Sale price
$19.98
icon-X
"Close (esc)"
Vista rápida
MILON NIÑA CONJ. DE FALDA BLANCO/NEGRO
Milon
$36.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑA VESTIDO NEGRO
Milon
$34.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑA VESTIDO BLANCO
Milon
$34.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑO CONJ. DE SHORT BLANCO/BEIGE
Milon
$49.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑO CONJ. DE SHORT JEAN
Milon
$49.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑO CONJ. DE SHORT AZUL
Milon
$29.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑO CONJ. DE SHORT BLANCO/ROJO
Milon
$29.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑO CONJ. DE SHORT GRIS/AZUL
Milon
$29.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑO CONJ. DE SHORT BLANCO/CHOCOLATE
Milon
$29.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑA CONJ. DE FALDA CUADROS
Milon
$36.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑA VESTIDO MULTICOLOR
Milon
$19.95
icon-X
"Close (esc)"
Vista rápida
MILON NIÑA CONJ. DE FALDA BLANCO/BEIGE
Milon
$36.95
icon-X
"Close (esc)"
Previous
1
…
119
120
121
122
123
…
169
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