.congpa-hp-home {--hp-gap: 24px; --hp-radius: 10px; box-sizing: border-box; max-width: var(--congpa-container, 1170px); width: 100%; padding-inline: var(--congpa-gutter, 15px); margin: 72px auto; font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-size: 14px; color: rgb(25, 25, 25);}
.congpa-hp-home *, .congpa-hp-home *::before, .congpa-hp-home *::after {box-sizing: border-box;}
.congpa-hp-home a {color: inherit; text-decoration: none;}
.congpa-hp-home button {font: inherit; cursor: pointer;}
.congpa-hp-home [hidden] {display: none !important;}
.congpa-hp-home :focus-visible {outline: 3px solid #008539; outline-offset: 4px;}
.congpa-hp-home .hp-gifts {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--hp-gap); margin-bottom: 80px;}
.congpa-hp-home .hp-gifts__grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(150px, 1fr)); gap: var(--hp-gap);}
.congpa-hp-home .hp-card {position: relative; display: block; height: 150px; min-width: 0px; background: rgb(248, 248, 248); border-radius: var(--hp-radius); transition: background .2s;}
.congpa-hp-home .hp-gifts__grid .hp-card {height: 100%;}
.congpa-hp-home .hp-card__content {position: relative; z-index: 1; display: flex; flex-direction: column; height: 100%; padding: 16px 0px 16px 16px; width: calc(100% - 150px);}
.congpa-hp-home .hp-card__title {font-size: 16px; font-weight: 600; line-height: 22px; color: rgb(85, 85, 85);}
.congpa-hp-home .hp-card__arrow {display: flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; margin-top: auto; border-radius: 50%; color: rgb(204, 204, 204); transition: color .2s, background .2s;}
.congpa-hp-home svg {width: 24px; height: 24px; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
.congpa-hp-home .hp-card img {position: absolute; right: 0px; top: 50%; transform: translateY(-50%); width: 150px; height: 150px; object-fit: contain; border-radius: 0 var(--hp-radius) var(--hp-radius) 0;}
.congpa-hp-home .hp-card:hover {background: rgb(240, 240, 240);}
.congpa-hp-home .hp-card:hover .hp-card__arrow, .congpa-hp-home .hp-card:focus-visible .hp-card__arrow {color: rgb(255, 255, 255); background: rgb(0, 133, 57);}
.congpa-hp-home .hp-carousel {position: relative; overflow: hidden; border-radius: var(--hp-radius); background: rgb(38, 62, 52); min-width: 0px; min-height: 498px; aspect-ratio: 630 / 500; touch-action: pan-y;}
.congpa-hp-home .hp-slides {position: absolute; inset: 0px;}
.congpa-hp-home .hp-slide {position: absolute; inset: 0px; opacity: 0; visibility: hidden; transition: opacity .5s, visibility .5s;}
.congpa-hp-home .hp-slide.is-active {opacity: 1; visibility: visible; z-index: 1;}
.congpa-hp-home .hp-slide__image {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.congpa-hp-home .hp-slide__content {position: relative; display: flex; align-items: flex-start; flex-direction: column; height: 100%; padding: 26px 30px; color: rgb(255, 255, 255);}
.congpa-hp-home .hp-slide h2 {max-width: 350px; font-size: 24px; line-height: 32px; font-weight: 700; margin: 0px 0px 8px; text-shadow: 0 1px 3px #0005;}
.congpa-hp-home .hp-slide p {max-width: 350px; margin: 0px; font-size: 14px; line-height: 24px; text-shadow: 0 1px 3px #0005;}
.congpa-hp-home .hp-cta {display: inline-flex; align-items: center; justify-content: center; margin-top: auto; padding: 4px 16px; border-radius: 20px; background: rgb(255, 255, 255); color: rgb(25, 25, 25); font-weight: 600; line-height: 24px;}
.congpa-hp-home .hp-cta:hover {background: rgb(233, 243, 237);}
.congpa-hp-home .hp-carousel__arrow {position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, 0.93); color: rgb(25, 25, 25); border: 0px; display: grid; place-items: center; box-shadow: 0 2px 10px #0001;}
.congpa-hp-home .hp-carousel__arrow--prev {left: 12px;}
.congpa-hp-home .hp-carousel__arrow--prev svg {transform: rotate(180deg);}
.congpa-hp-home .hp-carousel__arrow--next {right: 12px;}
.congpa-hp-home .hp-carousel__bottom {position: absolute; bottom: 26px; right: 24px; z-index: 3; display: flex; align-items: center; gap: 6px; padding: 0px 4px; border-radius: 24px; background: rgba(25, 25, 25, 0.46);}
.congpa-hp-home .hp-carousel__dots {display: flex; align-items: center;}
.congpa-hp-home .hp-dot {display: grid; place-items: center; width: 28px; height: 32px; padding: 0px; border: 0px; background: none;}
.congpa-hp-home .hp-dot::after {content: ""; width: 7px; height: 7px; background: rgba(255, 255, 255, 0.5); border-radius: 10px; transition: width .2s, background .2s;}
.congpa-hp-home .hp-dot[aria-current="true"]::after {width: 20px; background: rgb(255, 255, 255);}
.congpa-hp-home .hp-carousel__pause {width: 32px; height: 32px; border: 0px; background: none; color: rgb(255, 255, 255); border-radius: 50%;}
.congpa-hp-home .hp-carousel :focus-visible {outline-color: rgb(255, 255, 255); outline-offset: 1px;}
.congpa-hp-home .hp-categories__header {display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 32px;}
.congpa-hp-home .hp-categories h2 {margin: 0px; font-size: 24px; font-weight: 700; line-height: 32px;}
.congpa-hp-home .hp-categories__header a {display: flex; align-items: center; gap: 8px; font-weight: 600; line-height: 24px; white-space: nowrap;}
.congpa-hp-home .hp-categories__header a:hover {color: rgb(0, 133, 57);}
.congpa-hp-home .hp-categories__grid {display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--hp-gap);}
.congpa-hp-home .hp-categories__grid .hp-card__content {width: calc(100% - 125px);}
.congpa-hp-home .hp-categories__grid img {width: 125px; height: 125px;}
@media (max-width: 1199px) {
.congpa-hp-home .hp-categories__grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
.congpa-hp-home .hp-gifts__grid .hp-card__content {width: 53%;}
.congpa-hp-home .hp-gifts__grid img {width: 47%; height: auto; max-height: 150px;}
}
@media (max-width: 900px) {
.congpa-hp-home .hp-gifts {grid-template-columns: 1fr;}
.congpa-hp-home .hp-carousel {min-height: 0px;}
.congpa-hp-home .hp-gifts__grid {grid-template-rows: repeat(3, 150px);}
.congpa-hp-home .hp-categories__grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 540px) {
.congpa-hp-home {margin: 24px auto 40px; --hp-gap: 16px;}
.congpa-hp-home .hp-gifts {margin-bottom: 48px;}
.congpa-hp-home .hp-carousel {aspect-ratio: 4 / 5;}
.congpa-hp-home .hp-slide__content {padding: 24px 20px 62px;}
.congpa-hp-home .hp-slide h2 {font-size: 22px; line-height: 29px;}
.congpa-hp-home .hp-carousel__bottom {bottom: 14px; right: 14px;}
.congpa-hp-home .hp-card__content, .congpa-hp-home .hp-gifts__grid .hp-card__content, .congpa-hp-home .hp-categories__grid .hp-card__content {width: 100%; padding: 12px;}
.congpa-hp-home .hp-card__title {font-size: 14px; line-height: 19px; max-width: 120px;}
.congpa-hp-home .hp-card img, .congpa-hp-home .hp-gifts__grid img, .congpa-hp-home .hp-categories__grid img {top: auto; bottom: 0px; transform: none; width: 90px; height: 90px;}
.congpa-hp-home .hp-card__arrow {z-index: 1;}
.congpa-hp-home .hp-categories__header {gap: 12px; align-items: flex-start; margin-bottom: 24px;}
.congpa-hp-home .hp-categories h2 {font-size: 22px; line-height: 28px;}
}
@media (prefers-reduced-motion: reduce) {
.congpa-hp-home *, .congpa-hp-home *::after {transition: none !important;}
}
/* Host theme compatibility: retain component typography and native button sizes. */
.congpa-hp-home h2 { color: inherit; text-transform: none; letter-spacing: normal; }
.congpa-hp-home button { min-width: 0; min-height: 0; margin: 0; padding: 0; line-height: normal; text-transform: none; letter-spacing: normal; }
.congpa-hp-home img { margin: 0; max-width: 100%; }
.congpa-hp-home .hp-gifts { margin-bottom: 0; }
.congpa-hp-home .hp-card__title { overflow-wrap: normal; word-break: normal; }
