.tc-gifts{box-sizing:border-box;width:100%;max-width:none;background:var(--tc-bg,#fff);padding:var(--tc-pad-desktop,72px) var(--tc-gutter-desktop,72px);overflow:hidden}
.tc-gifts *{box-sizing:border-box}
.tc-gifts h2.tc-gifts__heading{padding:0;margin:0 0 var(--tc-heading-gap,40px);color:var(--tc-heading,#213c2f);font-family:Lato,Arial,sans-serif;font-size:var(--tc-heading-desktop,32px);line-height:1.2;font-weight:300;letter-spacing:0;text-transform:uppercase}
.tc-gifts__rail-wrap{position:relative}
.tc-gifts__rail{display:flex;gap:var(--tc-gap,16px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain}
.tc-gifts__rail::-webkit-scrollbar{display:none}
.tc-gifts__item{flex:0 0 calc((100% - 3 * var(--tc-gap,16px))/4);min-width:0;scroll-snap-align:start}
.tc-gifts__item.product-small{padding:0;margin:0}
.tc-gifts__native ul.products{margin:0;padding:0;display:block}.tc-gifts__native ul.products li.product{width:100%;margin:0}
.tc-gifts__arrow{position:absolute;z-index:2;top:40%;display:flex;align-items:center;justify-content:center;width:50px;height:50px;min-height:0;padding:0;border:0;border-radius:50%;background:#fff;color:#111;box-shadow:0 2px 5px #0003;cursor:pointer}
.tc-gifts__arrow svg{width:20px;height:20px;flex:none;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tc-gifts__arrow:disabled{opacity:.45;cursor:default}.tc-gifts__arrow:focus-visible{outline:2px solid #005e58;outline-offset:3px}.tc-gifts__prev{left:-24px}.tc-gifts__next{right:-24px}
@media(max-width:767px){.tc-gifts{padding:var(--tc-pad-mobile,48px) var(--tc-gutter-mobile,20px)}.tc-gifts h2.tc-gifts__heading{font-size:var(--tc-heading-mobile,28px)}.tc-gifts__item{flex-basis:min(308px,83vw)}.tc-gifts__arrow{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.tc-gifts__arrow:focus-visible{clip-path:none;width:44px;height:44px;overflow:visible}}
@media(prefers-reduced-motion:reduce){.tc-gifts__rail{scroll-behavior:auto}}

/* Align carousel arrows with the observed source, including mobile. */
.tc-gifts__arrow:disabled{visibility:hidden}
@media(max-width:767px){.tc-gifts__arrow{clip-path:none;width:50px;height:50px;overflow:visible}.tc-gifts__prev{left:20px}.tc-gifts__next{right:20px}.tc-gifts__arrow:focus-visible{width:50px;height:50px}}
/* Source gift imagery fills its portrait frame, scoped to this module. */
.tc-gifts .thrive-card__media{--thrive-card-fit:cover}
