/* Shared hand-drawn campaign composition. */
.lpm-campaign-heading{grid-column:1/-1;width:100%;box-sizing:border-box;padding:22px;background:linear-gradient(135deg,#fff8e9,#f8e7eb);border:1px dashed #c7a194;border-radius:6px 6px 24px 24px;text-align:center;margin-top:-20px}
.lpm-campaign-heading .lpm-festival-intro{margin:auto;max-width:720px}
.lpm-campaign-heading .lpm-festival-intro p{font-size:13px;margin:8px 0}
.lpm-campaign-heading .lpm-voucher-countdown{margin:8px 0 0;padding:12px 0;border:0;background:transparent;box-shadow:none}
.lpm-campaign-heading .lpm-countdown-heading,.lpm-campaign-heading .lpm-countdown-track,.lpm-campaign-heading .lpm-voucher-countdown>small{display:none}
.product-loop-title:has(.lpm-festival-label){display:block!important;line-height:1.6!important}
.product-loop-title:has(.lpm-festival-label) h3{display:inline!important;vertical-align:middle}
.lpm-festival-label{display:inline-block!important;width:auto!important;margin:0 6px 0 0!important;padding:2px 6px!important;border:1px dashed #aa7181!important;border-radius:6px 3px 7px 3px!important;background:#fff2d9!important;color:#7b1538!important;font:700 12px/1.4 Georgia,serif!important;vertical-align:middle;white-space:nowrap}
.products .product:has(.lpm-festival-label),.yb-sf-card:has(.lpm-festival-label){border:1px solid #c37d8f!important;border-radius:28px 19px 30px 18px / 20px 28px 22px 30px;background:linear-gradient(165deg,#fffdf6 60%,#fae4da)!important;box-shadow:0 0 0 3px #f5dcd9,0 0 0 4px #d5a0aa,0 7px 15px #84415a16!important;padding-bottom:10px;overflow:hidden}
.lpm-festival-badge:not(.lpm-festival-gallery-badge){left:auto!important;right:8px!important;bottom:56px!important;z-index:3!important;transform:rotate(4deg)!important}
.lpm-festival-copy button.is-claimed{background:#657b60!important;color:#fff!important}
.lpm-my-claims{grid-column:1/-1;font-size:12px;color:#7b1538;width:100%;margin:10px 0}
.lpm-my-claims progress{display:block;width:100%;height:8px;accent-color:#7b1538;margin-top:5px}
.lpm-wallet{margin-top:16px;padding:18px;background:#fff8ec;border:1px dashed #cca5ab;border-radius:18px}
.lpm-wallet-track{height:13px;background:#eadcd6;border-radius:20px;overflow:hidden;margin:12px 0}
.lpm-wallet-track>span{display:block;height:100%;width:var(--progress);background:linear-gradient(90deg,#dbaab7,#8d3959);border-radius:inherit;transition:width .65s cubic-bezier(.22,1,.36,1)}
.lpm-wallet-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.lpm-wallet-choices button{flex:1 1 130px;min-height:54px;border:1px dashed #b99194;border-radius:9px;background:#fff;color:#7b1538;padding:10px;cursor:pointer;font-size:13px}
.lpm-wallet-choices button:disabled{opacity:.6;cursor:default}
.lpm-wallet-choices button.is-applied{background:#edf2e7;border-color:#7a986b}
.lpm-wallet p{margin:6px 0}.lpm-wallet small{display:block;color:#806d6b}
@media(max-width:600px){.lpm-campaign-heading{padding:16px 10px}.lpm-festival-badge:not(.lpm-festival-gallery-badge){bottom:48px!important}.lpm-scroll-story .lpm-story-step{padding:16px;margin:14px 0}.lpm-scroll-story h4{font-size:18px}.lpm-story-example{width:115px}.lpm-scroll-story>header{padding:8px}.lpm-scroll-story h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.lpm-wallet-track>span{transition:none}}

.yb-sf-card__body:has(>.lpm-festival-label){display:block!important}.yb-sf-card__body>.lpm-festival-label+.yb-sf-card__title{display:inline!important}
.product-loop-title:has(.lpm-festival-label){display:flex!important;align-items:baseline;gap:6px}
.product-loop-title:has(.lpm-festival-label)>.lpm-festival-label{flex:none;margin:0!important}
.product-loop-title:has(.lpm-festival-label)>h3{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal!important;overflow:hidden!important;min-width:0;flex:1;line-height:1.5!important;margin:0!important}
.yb-sf-card__body>.lpm-festival-label+.yb-sf-card__title{white-space:normal!important}
.lpm-festival-badge:not(.lpm-festival-gallery-badge){z-index:12!important}

/* Visible campaign frame also on mixed homepage rails. */
.products .product:has(.lpm-festival-label) .product-content,.yb-sf-card:has(.lpm-festival-label) .yb-sf-card__body{background:radial-gradient(ellipse at 100% 100%,#f3d3d5 0,transparent 65%),#fff7e9!important;border-top:1px dashed #d3a0a2;padding:10px!important}
.lpm-festival-label{background:#8c2448!important;color:#fff8e9!important;border:1px dashed #f2c98c!important;box-shadow:0 1px 3px #8c244822;transform:rotate(-4deg);border-radius:9px 5px 8px 5px!important;font-size:13px!important}

/* One continuous illustrated paper card: image, campaign strip and caption. */
.products .product:has(.lpm-festival-label),.yb-sf-card:has(.lpm-festival-label){background:#fff8ed!important;border:1px solid #c49186!important;border-radius:18px!important;box-shadow:0 0 0 3px #edd4c4,0 5px 14px #80442d12!important;padding-bottom:0}
.products .product:has(.lpm-festival-label) .product-image{margin-bottom:0!important}
.products .product:has(.lpm-festival-label) .product-content,.yb-sf-card:has(.lpm-festival-label) .yb-sf-card__body{background:#fff8ed!important;border:0!important;margin-top:0!important;padding:6px 10px 14px!important}
.products .product:has(.lpm-festival-label) .lpm-festival-frame:not(.lpm-festival-gallery-frame),.yb-sf-card .lpm-festival-frame:not(.lpm-festival-gallery-frame){border:0!important;border-radius:0!important;box-shadow:none!important}
.lpm-festival-frame:not(.lpm-festival-gallery-frame):after{border:0!important;mask-image:linear-gradient(to bottom,#000 65%,transparent 100%)}
.lpm-festival-card-art{mask-image:linear-gradient(to bottom,#000 72%,transparent 100%);border:0}
.lpm-festival-card-offer{background:#fff8ed!important;border:0!important;box-shadow:none!important;transform:none!important}

/* Product detail: one illustrated campaign panel, including live option feedback. */
.lpm-detail-campaign{position:relative;isolation:isolate;overflow:hidden;background:#fff8ed;border:1px solid #d7b3a1;border-radius:22px 16px 24px 16px;padding:90px 18px 16px;margin:18px 0;box-shadow:0 4px 14px #8c24480c}
.lpm-detail-art{position:absolute;inset:0 0 auto;height:115px;z-index:-1;background:var(--lpm-campaign-art) center 46%/cover;mask-image:linear-gradient(#000 65%,transparent)}
.lpm-detail-campaign .lpm-festival-selection,.lpm-detail-campaign .lpm-festival-single-rules{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.lpm-detail-campaign .lpm-festival-selection>strong{color:#7b1538;font-size:17px}
.lpm-detail-campaign .lpm-festival-selection p{font-size:12px;margin:6px 0 14px;color:#785d55}
.lpm-detail-campaign .lpm-festival-single-rules{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lpm-detail-campaign .lpm-festival-single-rules>span{padding:12px 5px!important;background:#fffdf6!important;border:1px dashed #ceaaa0;border-radius:12px 7px 12px 7px;text-align:center;color:#7b1538;font-size:12px;line-height:1.9}
.lpm-detail-campaign .lpm-festival-single-rules>span>.amount{white-space:nowrap;font-weight:700}
.lpm-detail-campaign .lpm-festival-single-rules>small{grid-column:1/-1;font-size:11px;line-height:1.6;color:#80675d;margin-top:3px}
@media(max-width:600px){.lpm-detail-campaign{padding:78px 12px 14px}.lpm-detail-art{height:95px}.lpm-detail-campaign .lpm-festival-single-rules{gap:5px}.lpm-detail-campaign .lpm-festival-single-rules>span{font-size:11px}}

.lbs-product-item:has(.lpm-festival-label) .lbs-product-link{display:block;background:#fff8ed;border:1px solid #c49186;border-radius:18px;overflow:hidden;box-shadow:0 0 0 2px #edd4c4}
.lbs-product-image-wrap:has(.lpm-festival-frame){position:relative!important;padding-bottom:76px!important;margin-bottom:0!important;background:#fff8ed;isolation:isolate;container-type:inline-size}
.lbs-product-image-wrap .lpm-festival-frame{border:0!important;border-radius:0!important}
.lbs-product-item:has(.lpm-festival-label) .lbs-product-info{background:#fff8ed;padding:6px 10px 12px}
.lbs-product-name>.lpm-festival-label{display:inline-block!important;margin-right:6px!important}
@media(max-width:600px){.lbs-product-image-wrap:has(.lpm-festival-frame){padding-bottom:66px!important}}

.lpm-festival-gallery-scope:has(>.lpm-festival-gallery-frame){padding-bottom:82px!important;background:#fff8ed!important;border-radius:16px;overflow:hidden}
.lpm-festival-gallery-frame{border:1px solid #d7b3a1!important;border-radius:16px!important;box-shadow:none!important}
.lpm-festival-gallery-frame:after{height:80px!important;background:#fff8ed var(--lpm-campaign-art) 3% 15%/170% auto!important;border:0!important;mask-image:linear-gradient(#000 68%,transparent)}
.lpm-festival-gallery-frame .lpm-festival-card-art{height:78px}
.lpm-festival-gallery-frame .lpm-festival-card-offer{height:52px;bottom:10px}
.lpm-festival-gallery-badge{left:auto!important;right:8px!important;bottom:59px!important;background:#fff8ed!important;color:#7b1538!important;border:1px dashed #c5a093!important;border-radius:8px!important;font:700 12px/1.4 Georgia,serif!important;max-width:70%!important}
.yb-sf-cart-item:has(.lpm-checkout-item-badge:not(.is-excluded)){background:#fff8ed;border:1px solid #dfc6b4;border-radius:14px;padding:12px!important}
.yb-sf-cart-item .lpm-checkout-item-badge{font-size:11px;line-height:1.5;white-space:normal}

.yb-rp-card:has(.lpm-festival-label),.yb-yml-card:has(.lpm-festival-label){background:#fff8ed!important;border:1px solid #c49186!important;border-radius:16px!important;overflow:hidden;box-shadow:0 0 0 2px #edd4c4}
.yb-rp-media:has(.lpm-festival-frame),.yb-yml-media:has(.lpm-festival-frame){position:relative;overflow:hidden;background:#fff8ed!important;margin-bottom:0!important;padding-bottom:76px!important;box-sizing:content-box;container-type:inline-size}
.yb-rp-media:has(.lpm-festival-frame) img,.yb-yml-media:has(.lpm-festival-frame) img{height:calc(100% - 76px)!important}
.yb-rp-media .lpm-festival-frame,.yb-yml-media .lpm-festival-frame{border:0!important;border-radius:0!important}
.yb-rp-card:has(.lpm-festival-label) .yb-rp-info,.yb-yml-card:has(.lpm-festival-label) .yb-yml-info{background:#fff8ed!important;padding:8px!important}
@media(max-width:600px){.yb-rp-media:has(.lpm-festival-frame),.yb-yml-media:has(.lpm-festival-frame){padding-bottom:66px!important}.yb-rp-media:has(.lpm-festival-frame) img,.yb-yml-media:has(.lpm-festival-frame) img{height:calc(100% - 66px)!important}}
